gpt4 book ai didi

c++ - 剖析 C++ 代码编译速度

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:22:59 30 4
gpt4 key购买 nike

如果 C++ 项目的物理结构有利于编译速度,您将如何获得某种客观的衡量标准?有些人说你应该避免使用模板以获得更好的编译速度,但是如果模板生成大量非冗余目标代码,即使行/秒编译速度不是很好,那也不是很糟糕。因此,您无法真正检查两个项目之间的线数/秒来了解结构是否良好,而且许多其他因素无论如何都可能扭曲结果。

每秒生成的目标代码量是否是一个很好的衡量标准(显然是在同一平台和编译器上)?或者有一些代码分析工具吗?对物理结构进行某种客观测量以了解是否有改进空间会很有趣。例如。如果您应该尝试进一步优化头文件依赖性或将更多代码分组到 cpp 文件(ala unity 构建),请将更多内容从头文件移动到 cpp 等。

最佳答案

我会考虑计算实例化。有一个用于 boost 的模板分析器工具可以执行此操作:

https://svn.boost.org/svn/boost/sandbox/tools/profile_templates/

如果您使用的是 visual studio 2010 或更高版本,那么您可以使用名为 Meta 的扩展,它可以处理调用 boost 分析器工具的一些复杂性。

这是 visual studio 2010 扩展的链接。 http://visualstudiogallery.msdn.microsoft.com/325d7305-2787-4b1d-9ac7-743e3d767531

这里是 vs 2013 版本的源代码: https://github.com/brandon-kohn/Meta

关于c++ - 剖析 C++ 代码编译速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24470620/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com