(我正在寻找与这篇文章类似的内容,但关注的是 GCC/Linux)。
我有很多大量模板(如“仅模板”)代码,它们使用了大量元编程和特殊情况优化。生成的二进制文件非常大,编译时间也很长。
现在我想检查哪些函数模板生成的内联汇编代码最多。我怎样才能做到这一点?
一些上下文:
- 我们有一个包含大量算法组件的 C++ 模板库。原作者专注于运行时速度,并没有过多考虑编译时速度。
- 我想提高编译时速度但保持运行时速度不变,从而将一些决定放在运行时而不是编译时。
- IMO 的第一步是查看哪些函数模板在实例化副本方面最重。
- 下一步是将这些信息与它们在分析器中的使用程度结合起来,并且只保留许多特殊情况,并为热内循环选择编译时。
这是正确的方法吗?任何专业提示?