Lot*_*har 8 c c++ compiler-construction optimization gcc
有没有人看到使用C/C++编译器提供的反馈优化来支持分支预测,缓存预加载等功能的不同程序的任何实际数字.
我搜索了它,令人惊讶的是,即使是流行的翻译开发小组似乎都没有检查过这种效果.并且将ruby,python,php等性能提高10%左右应该被认为是有用的.
真的没有任何好处,或整个开发者社区只是懒得使用它?
10%是一个很好的球场数字.那说,......
你必须真正关心这条路线的表现.我所使用的产品(DB2)使用PGO和其他侵入性和侵略性优化.成本包括重要的构建时间(在某些平台上为三倍)以及开发和支持梦魇.
当出现问题时,将优化代码中的故障位置映射回源是非常重要的.开发人员通常不希望不同模块中的函数最终合并和内联,这可能会产生"有趣"的影响.
指针别名的问题,即令人讨厌的追踪也通常会出现这些种类的优化.你有额外的乐趣,有一个非确定性的构建(一个别名问题可以出现在星期一的构建中,再次消失,直到星期四,...).
在这些类型的积极优化下,正确或不正确的编译器行为之间的界限也变得相当模糊.即使有我们的编译人员在内部(字面上)的奢侈,优化问题(在我们的源代码或编译器中)仍然不容易理解和解决.