我有一个在Linux上运行的C++应用程序,我正在优化它.如何确定代码的哪些区域运行缓慢?
我可以获得一系列常见的C++优化实践吗?
我的意思是优化是你必须修改源代码才能更快地运行程序,而不是改变编译器设置.
我正在改变我的for循环以增加使用++i而不是i++思考,这是否真的有必要了?当然,今天的编译器会自行完成这项优化.
在本文中,http://leto.net/docs/C-optimization.php,从1997年开始迈克尔·李进入其他优化,如内联,循环展开,循环干扰,循环反转,强度降低等等.这些仍然相关吗?
我们应该进行哪些低级代码优化,以及我们可以安全地忽略哪些优化?
编辑:这与过早优化无关.已经做出了优化的决定.现在问题是什么是最有效的方法.
轶事:我曾经审查了一个要求规范:"程序员应该离开一个而不是乘以2".
我知道你应该只在必要时优化事物.但是,如果认为有必要,你最喜欢的低级别(与算法级别相比)优化技巧是什么.
例如:循环展开.
我想知道人们现在经常使用什么样的优化技术.我看到人们一直用字典和所有来缓存.速度的交易空间是唯一的出路吗?
在初始编码过程中遵循优化技术是一种好的做法还是应该首先专注于功能的实现?
如果在初始编码期间纯粹专注于功能,那么以后如何轻松或难以处理优化?