我正在寻找一个分析器,以找到我的c++代码中的瓶颈。我想找一个免费的、非侵入性的、好的分析工具。我是一名游戏开发者,我在Xbox 360上使用PIX,我发现它非常好,但它不是免费的。我知道英特尔VTune,但它也不是免费的。
当前回答
请试试我的剖析软件cRunWatch。它只有两个文件,所以很容易与您的项目集成,并且只需要添加一行代码就可以完成一段代码。
http://ravenspoint.wordpress.com/2010/06/16/timing/
需要Boost库。
其他回答
微软有Windows性能工具包。
它需要Windows Vista、Windows Server 2008或Windows 7。
Proffy很酷:http://pauldoo.com/proffy/
免责声明:这是我写的。
我使用AQTime,它是我使用过的最好的分析工具之一。 它不是免费的,但你可以得到30天的试用,所以如果你计划优化和分析一个项目,30天就足够了,那么我建议你使用这个应用程序。(http://www.automatedqa.com/downloads/aqtime/index.asp)
你可以使用EmbeddedProfiler,它对Linux和windows都是免费的。
分析器是侵入式的(通过功能),但它不需要任何代码修改。只需添加一个特定的编译器标志(- fininstrument - functions用于gcc/MinGW或/GH用于MSVC)并链接分析器的库。它可以为您提供一个完整的调用树或只是一个函数列表。它有自己的分析器GUI。
我已经使用“TrueTime”很多年了,它是Compuware开发伙伴套件的一部分。有一个[免费版本](你可以尝试Compuware DevPartner性能分析社区版)可用。
推荐文章
- decltype(auto)的一些用途是什么?
- Shared_ptr转换为数组:应该使用它吗?
- Printf与std::字符串?
- 禁用复制构造函数
- 我如何找到哪个程序正在使用端口80在Windows?
- 在Windows中有像GREP这样的模式匹配实用程序吗?
- 只接受特定类型的c++模板
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 如何在Windows命令提示符下运行.sh ?
- c++ 11中的递归lambda函数
- 在c++中指针使用NULL或0(零)吗?
- 在c++中,如何将int值附加到字符串中?
- 如何从命令行在windows中找到mysql数据目录
- 就性能而言,使用std::memcpy()还是std::copy()更好?
- 为什么布尔值是1字节而不是1位?