我们的产品是一个库,我们将其作为dll或静态库提供。我注意到在Visual Studio中使用整个程序优化可以将性能提高30%左右。这很好,但指的是 http://blogs.msdn.com/b/vcblog/archive/2009/02/24/quick-tips-on-using-whole-program-optimization.aspx 我发现不建议对提供给客户的库使用整个程序优化。
同一篇文章提到性能改善了3-4%左右。现在我们看到10倍的预期性能增益,我在想是否我们做错了什么。
不确定如何制定这个但我会试一试:显然我们的代码库有一个“问题”,WPO可以很好地解决。无论这个“问题”(或问题?)是什么,它在其他软件中都不那么重要,因此WPO的影响相对较小。现在我的问题是这个问题可能是什么?我们希望手动优化我们的代码,因为打开WPO不是一种选择。
答案 0 :(得分:8)
可能有一些被称为多次的函数,由于在源文件中定义,因此无法在没有WPO的情况下进行内联。您可以使用分析器来识别它们,然后将它们移动到标题中并标记它们inline
。