整数呢?带标记整数的快速算术 - 对硬件支持的呼吁 - 微软研究

  • 作者:Daan Leijen
  • 发布时间:2022 年 7 月,由微软发布
  • 发表于:ML 语言研讨会 2022(与 ICFP'22 同期举办)
  • 主要内容:考虑如何在现代硬件上高效支持整数 Z,关键问题是如何进行快速标记算术,即大部分算术使用高效的小固定位整数,当运算溢出或其中一个参数为大(堆分配)整数时使用慢路径。提出三种新技巧(据所知)以尽可能快地执行操作,特别是\_sofa\_技巧可通过单个分支对小整数进行加法运算以检查溢出和是否有参数为大整数。尽管改进了常见技术,但常见指令集架构(x64、arm64 和 riscV)对快速标记整数算术支持不佳,还提出了潜在的 ISA 扩展以在硬件中更好地支持标记算术。所讨论的技术广泛适用,不仅适用于原生支持整数的语言,如 Python、Lisp 或 Haskell,也适用于以双精度作为后备的 JavaScript 等。
阅读 62
0 条评论