我正在使用linux中的gcc4.6在C ++(0X)中创建一个相当大的库。我的库很大程度上依赖于模板类,导致使用该库的应用程序的编译时间很长。我想通过提供最糟糕的违规类型/方法的明确实例来开始加快速度。
有没有办法让gcc报告编译各种类型/方法所花费的时间,以便我可以以原则方式应用我的显式实例,而不是通过直觉?
答案 0 :(得分:23)
g ++ some_file.cc -ftime-report
将粗略估计在不同编译阶段花费的时间。在您的情况下,最重要的是名称查找和解析。
无法获得每个类/函数的编译时间。
STeven Watanabe提出了一个模板分析器,可在boost沙箱中使用,有助于获得.cc中任何内容的潜在实例化数量
答案 1 :(得分:0)
我知道这不是你想要的,但也许 ccache / distcc 可能有助于加快编译速度。
此外,如果您有多核计算机,您可以利用 make -jN 立即告诉make run N 作业。
也不要忘记预编译标题。