l: 用于 k 和 q 的新运行时

Hacker News Top 工具

摘要

l 是一个用于 k4、q 和 qSQL 的新运行时,提供透明的 SIMD、压缩向量和自动并行性,同时保持与现有代码的完全兼容。它针对华尔街的高性能计算。

<a href="https:&#x2F;&#x2F;lv1.sh&#x2F;blog&#x2F;why-l&#x2F;" rel="nofollow">https:&#x2F;&#x2F;lv1.sh&#x2F;blog&#x2F;why-l&#x2F;</a>
查看原文
查看缓存全文

缓存时间: 2026/07/07 20:14

# l 来源:https://lv1.sh/ [ 00 ] k 家族的新运行时 ## l\. k 和 q 的新运行时 l 是用于 k4、q 和 qSQL(https://www.timestored.com/kdb-guides/kdb-database-intro)代码的新运行时。它是一种快速数据库和数组语言解释器,最常用于华尔街。l 默认启用压缩向量、SIMD 和自动并行,无需修改即可运行现有的 k4/q/qSQL 代码。 k4 · q · qSQL 透明 SIMD 透明压缩 自动并行 现代 HPC 运行时 0.02 毫秒 SIMD 归约 · 标量语法 [ 01 ] 什么是 l ## 相同的语言。全新的引擎。 K 和 Q 语言(https://www.timestored.com/kdb-guides/kdb-database-intro)是数组编程语言(https://en.wikipedia.org/wiki/Array_programming),为高性能操作提供了优雅的语法。在 K/Q 中,数组是思想的单元。l 保持这些语言不变,但增加了透明压缩向量作为执行单元:原语直接运行在压缩结构上,因此永远不会重建整个数组。现代硬件在计算短缺之前早已因带宽而受限——因此,移动更少的字节使得 l 更快。 [ 01A ] 兼容 ### k4、q、qSQL。保持不变。 运行您已有的语法、惯用模式以及 K4/q 代码。l 开箱即用地提供对表、字典、分区和展开的完整兼容性。 - k4 语法兼容 - 原生 q 和 qSQL 支持 - 优化的列式表 - 无需重写代码 [ 01B ] 压缩 ### 每个向量。始终如此。 数据在静止时、内存中以及传输中始终保持压缩状态。原语直接运行在压缩向量上,因此移动的数据更少。 - 端到端的列压缩 - 无需解码即可直接执行 - 优化的缓存容量 - 每一层都保持一致的字节数 [ 01C ] 透明 ### SIMD、线程、卸载。 运行时自动选择执行路径——标量、SIMD、线程化或卸载——无需任何注释。您只需编写 `sum x`,剩下的由 l 完成。 - 在 Apple Silicon 上支持 NEON 向量化 - 在 x86 上支持 AVX-512 - GPU 和 NPU 硬件卸载 - 为所有目标提供统一二进制文件 [ 02A ] 实践 ## 相同代码,更快。 完全兼容 qSQL 的数据库,包括所有连接和分区逻辑。速度依然传奇。 压缩列上的 qSQL 单 CPU · 无需解码过程 8650 万行 阅读文章(https://lv1.sh/blog) [ 02B ] 相同的原语,更快 ## 一行代码。每个核心。 l 为向量操作自动实现 SIMD 和线程化。l 会根据向量长度智能选择线程化策略——小型向量使用 SIMD,大型向量同时使用 SIMD 和线程化。 相同的原语,更宽的规划 SIMD 归约 · 线程扇出 · 远程执行 一条表达式 阅读文章(https://lv1.sh/blog) [ 03 ] 匿名邮件列表 ## 一个面向 l 构建者的纯文本邮件列表。 秉承经典技术邮件列表的精神:包含笔记、基准测试、设计问题和发布日志。无个人资料,无目录。

相似文章