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

L 是什么,以及为什么它很重要

  • L 被描述为一个面向 k 和 q/qSQL 的新运行时/解释器;k 和 q/qSQL 是 kdb+ 背后的数组语言,广泛用于金融中的 tick/时间序列数据。
  • 它的目标是与现有的 k/q 系统实现完整的语言和数据库兼容性,这样用户就可以在本地免费运行类似的工作负载。
  • 一些评论将其视为量化从业者的一件大事,因为他们目前为 kdb+ 支付高昂价格,尤其是在其供应商被认为价格昂贵且在知识产权方面态度强硬的情况下。

数组语言与使用场景

  • k 和 q 被描述为 APL/J 家族中简洁、面向数组的语言,其中向量/数组是主要的思维与执行单元。
  • 评论者指出,学习数组语言往往会改变人们对编程的思考方式,而不仅仅局限于金融这一小众用途。
  • 有人说,学习 q 的主要实际动机是进入金融和交易领域的高薪工作。

性能、设计与基准测试

  • L 将自己定位为一个高性能引擎,特性包括:
    • 融合串联操作,以避免中间结果并支持原地更新。
    • “在压缩数据上计算”向量:使用类似参考基(frame-of-reference)的压缩来降低位宽(例如 i64→i16/i8),然后直接在压缩数据上运算。
    • 据称这会让 sum/avg 等原语获得很大加速,因为它们在内存和 SIMD 方面更高效,从而应对内存墙问题。
  • 文中链接了公开基准套件(master-benchmark、db-benchmark、TSBS),并鼓励读者自行运行。
  • 一些人希望将其与其他 k 运行时进行直接比较(包括像 Shakti 这样的闭源实现)。目前的结果被认为很有希望,但尚不完整。

网站、“Vibecoding” 与 AI 参与

  • 该落地页被普遍形容为“vibecoded”:文案晦涩,使用诸如“向量作为思维单位”之类的营销短语,并且几乎没有为新手提供解释。
  • 对此是否可以接受存在争论。有些人认为这是现代常态;另一些人则将其视为质量不确定的信号。
  • 网站明确说明它是使用 Claude 设计的;而运行时据称是手写的。
  • 作者表示曾使用 AI 来分析和优化生成的汇编代码,但没有让 AI 编写核心运行时。

许可与开放性

  • L 是闭源的,许多数组语言爱好者认为这在该生态中很常见,但也有人将其视为“不可接受”。
  • 一些人更偏好现有的开源实现,认为它们更安全、也更易于审查,同时仍然觉得 L 在技术上很有吸引力。