如果您使用的是 GNU 软件包,即 gcc,您可以尝试 gprof。只需使用 -g 和 -pg 标志编译您的程序,然后运行
gprof <your_program_name>
gprof:http ://www.cs.utah.edu/dept/old/texinfo/as/gprof_toc.html
编辑:为了提高详细程度,您可以使用其他标志运行 gprof:
-l (--line) 启用逐行分析,为您提供直方图命中,以计入单独的代码行,而不是函数。
-a 不要在输出中包含私有函数。
-e<function>排除函数的输出<function>。当有不会改变的功能时使用它。例如,一些网站的源代码已获得监管机构的批准,无论多么低效,代码都将保持不变。
-E<function>还从百分比表中排除函数花费的时间。
-f<function>与 -e 相反:只跟踪<function>.
-F<function>仅在<function>计算百分比时使用时间。
-b 不打印解释性文本。如果您更有经验,您可以欣赏此选项。
-s 累积样本。通过多次运行该程序,可以更好地了解时间花费在哪里。例如,可能不会为所有输入值调用一个缓慢的例程,因此您可能会误导您在何处查找性能问题。