我正在使用linux中的gcc4.6在C++(0X)中创建一个相当大的库。我的库在很大程度上依赖于模板类,导致使用库的应用程序的编译时间很长。我想通过提供最糟糕的违规类型/方法的显式实例化来加快速度。
有没有办法让gcc报告编译各种类型/方法所花费的时间,这样我就可以有原则地应用我的显式实例化,而不是通过直觉?
发布于 2011-06-18 03:04:51
g++ some_file.cc -ftime-报告
将会给你一个粗略的估计,在不同的编译器阶段花费的时间。在您的案例中,最重要的是名称查找和解析。
没有办法获得每个类/函数的编译时间。
STeven Watanabe已经提出了一个模板分析器,可以在boost沙箱中使用,它可以帮助获取.cc中任何内容的潜在实例化数量
发布于 2011-06-18 03:27:57
我知道这不是您想要的,但也许ccache/distcc可以帮助加快编译速度。
此外,如果您有多核计算机,您可以利用make -jN来告诉make一次运行N个作业。
也不要忘记预编译头文件。
https://stackoverflow.com/questions/6390532
复制相似问题