每日英语 · 2026-10-20

We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.

Donald E. Knuth · Structured Programming with go to Statements · 1974 · 发表于 ACM Computing Surveys 第 6 卷第 4 期;紧接着下一句是 "Yet we should not pass up our opportunities in that critical 3%."

译文

大约 97% 的时候,我们都应该忘掉那些细枝末节的效率:过早优化是万恶之源。

语法

  1. 句子主干:We(主语)+ should forget about(情态动词 + 谓语短语)+ small efficiencies(宾语)。should 表示建议,“应该”。efficiency 本来常作不可数名词“效率”,这里用复数 efficiencies,指“一处处具体的效率提升点”,所以加了 small 修饰。
  2. say 作插入语:say 在这里不是“说”,而是“比方说、大约”,插在句中表示后面是个估计数字。say about 97% of the time 整体是时间状语,about 也是“大约”,两个词叠在一起让语气更随意、更口语。
  3. 冒号的用法:冒号后面是一个完整的句子 premature optimization(主语)+ is(系动词)+ the root of all evil(表语),用来解释前半句“为什么要忘掉小效率”。英文里冒号常表示“下面就是原因/解释/结论”,相当于中文的“因为”“也就是说”。

词汇

笔记

这句话常被只引后半句,但 Knuth 原意并不是“别优化”,而是先找准真正关键的那 3% 再动手,正好对应写 MCU 代码时“先测量、再优化”。小练习:用 premature 造个句,比如 “It's premature to ______ before ______.”

全部每日英语