新手:通过命令行进行性能分析
Posted
技术标签:
【中文标题】新手:通过命令行进行性能分析【英文标题】:Newbie: Performance Analysis through the command line 【发布时间】:2011-06-17 13:31:20 【问题描述】:我正在寻找具有以下属性的性能分析工具:
-
免费。
在 Windows 上运行。
不需要使用 GUI
(即可以从命令行运行或使用任何编程语言中的某个库)。
在某些基于 x86 的架构(最好是 Intel)上运行。
可以测量我的 C++、mingw 编译的程序的运行时间,除了我指定的一些特定函数(以及从它们发出的所有调用)所花费的时间。
可以测量我的程序使用的内存量,但我在 (5) 中指定的那些函数分配的内存以及从它们发出的所有调用除外。
具有属性 (1) 到 (5)(没有属性 6)的工具对我来说仍然很有价值。
我的目标是能够以一致的方式比较不同程序的运行时间和内存使用情况(即主要要求是对同一程序计时两次将返回大致相同的结果)。
【问题讨论】:
【参考方案1】:Mingw 应该已经有一个 gprof 工具。要使用它,您只需要设置正确的标志进行编译。我想是-g -pg
。
【讨论】:
【参考方案2】:对于堆分析(免费),您可以使用umdh.exe,它是一个完整的堆转储器,您还可以比较连续的内存快照以检查随时间的泄漏。但是,您必须自己过滤输出以删除不感兴趣的函数。
我知道这不是您在 (6) 中所要求的,但它可能有用。我认为这样的过滤在免费软件中不会那么普遍。
【讨论】:
以上是关于新手:通过命令行进行性能分析的主要内容,如果未能解决你的问题,请参考以下文章
大开测试:性能-如何在命令行下启动Controller(连载21)