Fra*_*ank 33 c++ optimization performance const compiler-optimization
我经常使用const未修改的局部变量,如下所示:
const float height = person.getHeight();
Run Code Online (Sandbox Code Playgroud)
我认为它可以使编译后的代码更快,允许编译器进行更多优化.或者我错了,编译器可以自己弄清楚局部变量永远不会被修改?
Alo*_*ave 45
或者我错了,编译器可以自己弄清楚局部变量永远不会被修改?
大多数编译器都足够聪明,可以自己解决这个问题.
您应该使用它const来确保const正确性,而不是用于微优化.
const correctness让编译器可以帮助你防止犯下诚实的错误,因此你应该const尽可能地使用它,但出于可维护性的原因并防止自己犯下愚蠢的错误.
理解我们编写的代码的性能影响是很好的,但应避免过度的微优化.关于表现,应该遵循,
通过对代表性数据集进行分析,然后尝试优化这些瓶颈,确定
20%使用80%资源的代码.
Ole*_*ksi 14
这种性能差异几乎肯定可以忽略不计,但是出于代码文档的原因,您应尽可能使用const.很多时候,编译器无论如何都可以解决这个问题并自动进行优化.const更多的是代码可读性和清晰度而不是性能.
| 归档时间: |
|
| 查看次数: |
9822 次 |
| 最近记录: |