软件慢是设计问题,不是语言慢
来源:seangoedecke.com — 2026-10-23
📋 概述
很多人认为把软件用更快的语言重写就能提速,作者认为这基本不成立。真实程序绝大多数是 I/O 密集型,C 比 Python 快五十倍也只能优化掉非 I/O 的那一半,按 Amdahl 定律最多快一倍,实际往往只有 1.5 倍。需要 CPU 的活慢语言早就有 C 扩展库代劳;真正有效的提速几乎都是重新设计:加缓存、异步化、并行、把 N+1 查询合并成一条、跳过不必要的慢操作。
🔑 核心要点
- 一个典型 CRUD 网站有一半时间花在数据库查询上,换语言只能优化另一半
- curl 的代码再快一百倍你也感觉不到,因为它把时间全花在等网络
- Python 在机器学习和数学计算上有竞争力,因为矩阵乘法早就在优化过的 C 或汇编里跑
- Cantrill 把一份精心优化的 C 程序按朴素写法重写成 Rust,结果反而快了 30%,原因是 B 树比二叉搜索树更缓存友好
- 作者自己的提速经验全是重新设计:加缓存、异步化、并行、消除 N+1、跳过无用慢操作,这些和语言速度无关
💡 金句
In general, performance is a matter of design, not of language choice.
👍 0
👎 0
← 返回 Lobsters 首页