我倾向于编写相当大的模板化标头C++库,我的用户通常会抱怨编译时间.在想到这件事之后,我突然意识到我不知道时间会在哪里.是否有一些简单的方法来使用常见的编译器(例如g ++,icc和xlC)来分析C++编译过程?例如,是否可以了解在C++编译的每个阶段花费了多少时间?
对于小型社区讨论,您使用的Visual Studio宏是什么?
我刚刚开始了解它们,并希望听到你们中的一些人不能没有.
有没有人知道是否有任何本机机制来报告Visual Studio 2008中的整体解决方案构建时间?您可以更改构建冗长报告每个项目的构建倍,讨论在这里或MSBuild的报告总建筑时间,但我想看到这个在IDE跨越包含许多项目的整个解决方案.如果没有创建自定义的前置和后置构建事件,是否有人知道总构建时间是否有任何本机输出?谢谢!
我知道有一种方法可以显示visual studio中解决方案中包含的每个项目的构建时间.但我正在寻找的是构建整个解决方案所花费的总时间,从我点击构建的那一刻起到完成的那一刻.
反正有没有这样做?运行Visual Studio 2008.
如何找出编译器花费时间的位置?
我的构建速度太慢,我已经在使用RAMdisk作为VC++临时文件,它没有任何区别.(我有一个SSD,所以我预计没有区别.)
这个项目中的大多数单个C++文件都需要大约.编译2秒似乎很糟糕(因为我也没有任何项目内并行化,因为我使用的是VS2005).
我该如何优化呢?不进行分析就不优化,但如何分析编译器?
注意:这些并不是真的有用:
让我们添加一个好评:你有很多模板吗?你的文件平均有多大?你检查过,只包括最少的必要标题
不,我没有.我当然可以(当然也会).我或许可以找到一些东西,但这都是猜测和反复试验!
"Everybody"告诉您,您应该只在测量/分析后进行优化,但在优化编译时,我们又回到了试验和错误状态?
注:建议从与评论"黑客" __TIME__也不能正常工作,至少不会在视觉-C++,因为(在文档状态):在最近的编译时间电流源文件.时间是hh:mm:ss形式的字符串文字. - 我想至少可以获得带有这个标记的单个编译单元的时间,但是它无助于向下钻取到编译单元.