使用 gcc 和 gprof 进行性能分析
GNU gprof profiler gprof 允许你分析代码。要使用它,你需要执行以下步骤:
-
使用用于生成分析信息的设置构建应用程序
-
通过运行构建的应用程序生成分析信息
-
使用 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
等等。
最后一个命令的结果应该是一个表,其行是函数,其列指示调用次数,花费的总时间,花费的自己时间(即,在函数中花费的时间,不包括对子项的调用)。