Hasty Briefsbeta

双语

The 185-Microsecond Type Hint

3 months ago
  • #Roughtime
  • #Performance Optimization
  • #Clojure
  • 代码中一个'微不足道'的改动,使得Clojure版Roughtime实现的吞吐量提升了13倍。
  • Roughtime协议采用加密证明实现安全时间同步,服务器会返回包含随机数和时间戳的签名证书。
  • 服务器的核心工作包括请求排队、跨16个版本的协议兼容、递归式Merkle树哈希计算和Ed25519签名。
  • 初始基准测试显示200微秒的响应时间中,90%耗时来自计算字节数组长度的简单代码行。
  • 通过为`alength`函数添加类型提示,编码时间从31微秒降至4微秒,避免了动态分派和反射开销。
  • 端到端测试显示吞吐量从每秒19,959次跃升至264,316次响应,提升达13倍。
  • 这种意外加速可能源于反射调用路径在高负载下的竞争减少。
  • 经验启示:即便是'简单'代码也可能成为瓶颈,而类型提示能显著优化Clojure性能。