我的主要兴趣是将代码从头文件移动到源文件(用于解耦),但保持内联内容的相同性能。
我不知道从哪里开始,有人可以解释该做什么吗?
答案 0 :(得分:5)
我在Firefox和LTO上做了一些测试,显示了内存使用,编译时间和运行时 At my blog也与LLVM进行比较。 LTO正在迅速发展,GCC 4.9票价明显优于之前的版本。如何让它适用于给定的应用程序并不总是显而易见的,该文本描述了您可能遇到的主要问题(缺少链接器插件,使用胖LTO文件并丢弃链接上的LTO部分等)
答案 1 :(得分:4)
我们做了非常有限的实验。在我们的例子中,性能提升的地方非常难以理解,但是由于我们已经注意到了良好的内联,这并不是非常令人惊讶。
然而,启用LTO导致GCC的内存消耗大幅增加,基本上在我们的4 CPU / 4 GB开发机器上无法进行并行编译,因此我们暂停实验并等待未来版本再次尝试。