开发者社区> 问答> 正文

什么是提高程序效率的最好方法?

什么是提高程序效率的最好方法?

展开
收起
游客py5kcp7dd6tu6 2022-03-30 08:04:51 490 0
1 条回答
写回答
取消 提交回答
  • 选择好的算法, 小心地实现, 同时确定程序不做额外的事。例如, 即使世界上最优化的字符复制循环也比不上不用复制。

    当担心效率时, 要保持几样事情在视野中, 这很重要。首先, 虽然效率 是个非常流行的话题, 它并不总是象人们想的那样重要。大多数程序的 大多数代码并不是时间紧要的。当代码不是时间紧要时, 通常把代码写 得清楚和可移植比达到最大效率更重要。记住, 电脑运行得非常 非常快, 那些看起来 ``低效率" 的代码, 也许可以编译得比较有效率, 而运行起来也没有明显的延时。

    试图预知程序的 ``热点" 是个非常困难的事。当要关心效率时, 使用 profiling 软件来确定程序中需要得到关注的地方。通常, 实际计算时间都被外围 任务占用了 (例如 I/O 或内存的分配), 可以通过使用缓冲和超高速 缓存来提高速度。

    即使对于时间紧要的代码, 最无效的优化技巧是忙乱于代码细节。 许多常被建议的 ``有效的代码技巧", 即使是很简单的编译器也会自动 完成 (例如, 用移位运算符代替二的幂次方乘)。非常多的手动优化 有可能是代码变得笨重而使效率反而低下了, 同时几乎不可移植。 例如, 也许可以在某台机器上提了速, 但在另一台机器上去变慢了。 任何情况下, 修整代码通常最多得到线性信能提高; 更好的算法可以 得到更好的回报。

    有关效率的更多讨论, 以及当效率很重要时, 如何提高效率的建议, 可以从以下书中得到: Kernighan 和 Plauger 的 《The Elements of Programming Style》[K&P] 中的第七章, 和 Jon Bentley 的 《Writing Efficient Programs》[Bentley]。

    2022-03-30 08:05:13
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
如何做小程序性能优化 立即下载
Web服务架构变化及性能优化 立即下载
快速变化背景下,组织如何保持过程的稳定性? 立即下载