Lobsters | 原文链接 | 2026-09-08 收录

更快地把时间戳拆成时分秒:打破依赖链后只需两次乘法

来源: benjoffe.com — 2026-09-07

概述

几乎所有主流日期库都把「把一天的秒数拆成时分秒」当作一条约 16 个 CPU 周期的串行计算链来处理,作者却证明这件事可以压缩到只有两次乘法的延迟。思路有两条:一是重排计算步骤,打散 hour→minute→second 之间完全串行、无法重叠的依赖链,让三路除法能并行跑;二是用定点乘法替换整数除法,更进一步把 base-60 的时钟换算成二进制友好的 base-64「魔法数」来做廉价除法。实测在 Apple M4 Pro 与 AMD Ryzen 上,新算法把延迟和吞吐都压到传统方案的 40%–70%,文章还延伸讨论了毫秒级单位、闰秒处理与 ARM Neon SIMD 优化。

核心要点

金句

A daily timestamp [0..86399] can be converted into Hour, Minute and Second – with the latency of only two multiplications.
返回 Lobsters 首页