我正在寻找一个分析器,以找到我的c++代码中的瓶颈。我想找一个免费的、非侵入性的、好的分析工具。我是一名游戏开发者,我在Xbox 360上使用PIX,我发现它非常好,但它不是免费的。我知道英特尔VTune,但它也不是免费的。
当前回答
我使用VSPerfMon,这是一个独立的Visual Studio分析器。我编写了一个GUI工具来帮助我运行它并查看结果。
http://code.google.com/p/vsptree/
其他回答
我已经使用“TrueTime”很多年了,它是Compuware开发伙伴套件的一部分。有一个[免费版本](你可以尝试Compuware DevPartner性能分析社区版)可用。
Proffy很酷:http://pauldoo.com/proffy/
免责声明:这是我写的。
你可以使用EmbeddedProfiler,它对Linux和windows都是免费的。
分析器是侵入式的(通过功能),但它不需要任何代码修改。只需添加一个特定的编译器标志(- fininstrument - functions用于gcc/MinGW或/GH用于MSVC)并链接分析器的库。它可以为您提供一个完整的调用树或只是一个函数列表。它有自己的分析器GUI。
我使用AQTime,它是我使用过的最好的分析工具之一。 它不是免费的,但你可以得到30天的试用,所以如果你计划优化和分析一个项目,30天就足够了,那么我建议你使用这个应用程序。(http://www.automatedqa.com/downloads/aqtime/index.asp)
CodeXL现在已经取代了End Of Line'd AMD Code Analyst,两者都是免费的,但没有VTune先进。
还有Sleepy,它非常简单,但在很多情况下都能完成任务。
注意:以上三个工具几年来都没有维护过。
推荐文章
- 解析c++中的命令行参数?
- 我如何在c++中创建一个随机的字母数字字符串?
- c++中的atan和atan2有什么区别?
- 现代c++能让你免费获得性能吗?
- 一门语言是如何自我扩展的?
- 如何使用cmake创建共享库?
- c++11返回值优化或移动?
- Windows和Linux上的c++编译:ifdef开关
- 如何验证批处理文件中是否存在一个文件?
- c++中size_t和int的区别是什么?
- 在C和c++中静态变量存储在哪里?
- 为什么标准迭代器范围是[begin, end]而不是[begin, end]?
- c++双地址操作符?(& &)
- 函数标题中的箭头操作符(->)
- XAMPP -端口80被PID 4的“无法打开进程”使用!12