Campfire 重写大战再升级:C 版吞吐最高达 Rails 447 倍
msaraivaf · x · 2026-10-20
围绕 37signals 的 ONCE Campfire,开发者社区出现了多条语言重写与性能对赌线。
- 最初 Rails 原版作为基准,Rust 重写已快出数十倍。
- 作者发布的 C 版实现(单可执行文件替代 Ruby/Puma/Redis/Resque/Thruster,内置 SQLite、TLS/HTTP/2、Action Cable 兼容 WebSocket、Active Storage 兼容上传等)实测最高比 Rails 快 447 倍,比 Rust 版快 1.4–4.4 倍。
- 随后另一位开发者 @lucasmeijer 补充了 Jai(Jon Blow 未发布的语言)重写,称其比原 Rails 快 56 倍、比 Rust 快 3 倍、比 C 快 1.8 倍;C 版作者对照缓存开启/关闭的吞吐表后认为按同一口径 C 仍明显领先。
配图给出了 16 并发客户端下各实现的真实吞吐中位数:如 Room 页 Rails 244 req/s、Rust(缓存开)36,033、C(缓存开)143,584;并附各版本相对 Rails/Rust 的倍率表。这场重写竞赛也顺带展示了缓存开关对 C 版成绩的巨大影响。