纯函数语言能追平 C 吗:Roc 的 DEFLATE 只慢 8.9%
来源:rtfeldman.com — 2026-10-22
📋 概述
有文章说 Lean 4 实现的 DEFLATE 压过了 Rust 的 miniz_oxide,但仍远不及 C 的 libdeflate。Roc 的作者不服气,拿社区写的 roc-deflate 做优化,在 Silesia 语料上对齐 libdeflate 的非流式接口并验证输出完全一致。结果 144 个基准里,Ryzen 3900X 上中位慢 8.9%,M1 MacBook Pro 上只慢 2.6%,而 Roc 还是连 0.1.0 都没发布的语言。
🔑 核心要点
在 144 个基准 上,roc-deflate 的中位成绩在 Ryzen 3900X 上慢 8.9%,在 M1 MacBook Pro 上只慢 2.6%
对比对象 libdeflate 是针对架构手写 SIMD 的实现 ,作者承认这部分 Roc 碰不到
优化手段之一是避免不必要的共享,让值保持唯一从而允许原地修改 (opportunistic mutation)
把边界检查提到循环外的一句提前返回,可以让优化器删掉循环内所有更贵的检查
是否为了个位数百分比的提速放弃内存安全、无副作用、跨目标确定性,作者把这个取舍留给使用者自己判断
💡 金句
would you give up guaranteed memory safety, guaranteed lack of side effects, guaranteed deterministic behavior across all targets ... for an average speedup percentage in the single digits?
👍 0
❤️ 点赞
👎 0
沉底
← 返回 Lobsters 首页