使用Oprofile

Windows Virsual Studio一般用intel VTune Amplifier,非常方便好用。 linux则用Oprofile。

http://oprofile.sourceforge.net

  1. 在需要profile的程序和参数前加上operf

    operf run arg1 arg2

  2. 对profile结果进行整理显示

    opreport -gl > profile.txt

  3. 在源文件中显示每条语句的耗时情况

    opannotate --source --output-dir=./

注意:

  • opreport的结果中,不会显示inline函数的耗时情况;inline函数的时间是算入被调用函数里的,因为inline在编译时是被展开的么;
  • a函数调用b函数,a 和 b 会同时出现在opreport中,a的时间里已经剔除了b执行的时间;
  • 官方文档也说了,对于每条语句的执行时间可能不是很准。
Loading Disqus comments...
Table of Contents