新手:通过命令行进行性能分析

Newbie: Performance Analysis through the command line

本文关键字:性能 命令行 新手      更新时间:2023-10-16

我正在寻找一个具有以下属性的性能分析工具:

  1. 免费
  2. 在Windows上运行
  3. 不需要使用GUI(即可以从命令行运行,也可以使用任何编程语言中的某个库运行)
  4. 在一些基于x86的体系结构(最好是Intel)上运行
  5. 可以测量我的C++、mingw编译的程序的运行时间,除了在我指定的几个特定函数(以及从它们发出的所有调用)中花费的时间
  6. 可以测量我的程序使用的内存量,除了我在(5)中指定的那些函数分配的内存和从它们发出的所有调用

一个具有属性(1)到(5)(没有6)的工具对我来说仍然很有价值。

我的目标是能够以一致的方式比较不同程序的运行时间和内存使用情况(即,主要要求是对同一程序计时两次会返回大致相同的结果)。

Mingw应该已经有了gprof工具。要使用它,您只需要使用正确的标志集进行编译。我想是-g -pg

对于堆分析(免费),您可以使用umdh.exe,它是一个完整的堆转储程序,您还可以比较连续的内存快照,以检查随时间的泄漏。但是,您必须自己过滤输出以删除不感兴趣的函数。

我知道这不是你在(6)中所要求的,但它可能有用。我认为这样的过滤在免费软件中不会那么常见。