跳至内容

优化代码速度/结论

来自维基教科书,开放的书本,开放的世界

当我向 IRC 上的一些人提到这篇文章时(当时它还没有完成),有人说“优化的第一条规则是‘不要!’”。我认为这种态度有害。虽然我同意“过早优化是万恶之源”,但有时代码运行速度太慢,需要优化。如果你的代码是Joel Spolsky 所谓的“缩略包装”(即:出售或以其他方式分发并提供给公众消费的代码),那么你通常不能假设它需要多快,越快越好。

速度和优化其他资源是程序总体抽象质量的重要因素之一。如果你的程序很慢,很可能会让你的用户感到沮丧和不高兴,这将是你作为软件开发者的使命的失败。因此,重要的是你的程序足够快,即使不是很快。

本文旨在解释优化的“为什么”、“什么”和“如何”的程度较低。我希望我能成功,并且阅读过它的人将更愿意优化他们的软件,并且对如何做到这一点更加了解。

进一步阅读

[编辑 | 编辑源代码]

Jon Bentley 在《编程珠玑第 2 版》ISBN 0-201-65788-0 中广泛讨论了各种优化。这是一本非常值得推荐的读物。他还在书中推荐了他的绝版书《编写高效程序》ISBN 0-13-970244-X,以进一步讨论该主题。在《算法设计手册,第二版》ISBN 978-1848000698 中也有很多关于优化的讨论。

Dave Jones 的论文“为什么用户空间很烂”详细介绍了 GNU/Linux 用户空间应用程序中一些损害性能的不良做法。Steve Souders 做了一个有趣的名为“速度的幻觉”的演讲。一篇名为“过早优化是万恶之源”是万恶之源 的博客文章也提供了一些见解。

最后要注意,在 2018 年,我写了一篇关于“软件质量如何改进或恶化”的论文摘要

我要感谢 Daan 对这篇文章表现出极大的兴趣,并感谢他不断地鼓励和提供意见。Limbic_Region 通过电子邮件为这篇文章提供了一些有用的意见。一些人对这篇文章做出了贡献:JgukDallas1278 以及 IP 地址 84.27.42.81、85.146.243.13、203.196.46.108、70.176.53.73 和 213.129.10.120。我还想感谢所有在我的文章中引用或参考过的来源的创作者。

[编辑 | 编辑源代码]
华夏公益教科书