许多年前,C 编译器并不特别聪明。作为一种变通方法,K & R 发明了 登记册关键字,以提示编译器,也许将这个变量保存在内部寄存器中是一个好主意。他们还让三级运算符帮助生成更好的代码。
随着时间的推移,编译器逐渐成熟。他们变得非常聪明,因为他们的流分析使他们能够比您可能做的更好地决定在寄存器中保存什么值。Register 关键字变得不重要了。
由于 化名的问题,FORTRAN 在某些操作上可能比 C 语言快。理论上,通过仔细的编码,可以绕过这个限制,使优化器能够生成更快的代码。
有哪些编码实践可以使编译器/优化器生成更快的代码?
这是 相关问题
这个问题不是关于分析和优化的整个过程。假设程序编写正确,编译完成并进行了全面优化,测试并投入生产。代码中可能有一些结构阻止优化器尽其所能地完成最佳工作。您可以做些什么来重构以消除这些限制,并允许优化器生成更快的代码?
译自: http://www.strchr.com/(http://www.strchr.com/)