使用 gcc 和 gprof 进行性能分析

GNU gprof profiler gprof 允许你分析代码。要使用它,你需要执行以下步骤:

  1. 使用用于生成分析信息的设置构建应用程序

  2. 通过运行构建的应用程序生成分析信息

  3. 使用 gprof 查看生成的分析信息

为了使用用于生成分析信息的设置来构建应用程序,我们添加了 -pg 标志。所以,例如,我们可以使用

$ gcc -pg *.cpp -o app

要么

$ gcc -O2 -pg *.cpp -o app

等等。

一旦构建了应用程序,比如 app,就像往常一样执行它:

$ ./app

这应该产生一个名为 gmon.out 的文件。

要查看分析结果,请立即运行

$ gprof app gmon.out

(请注意,我们同时提供应用程序以及生成的输出)。

当然,你也可以管道或重定向:

$ gprof app gmon.out | less

等等。

最后一个命令的结果应该是一个表,其行是函数,其列指示调用次数,花费的总时间,花费的自己时间(即,在函数中花费的时间,不包括对子项的调用)。