一味宠爱|系统性能分析工具:perf( 二 )


1)假设指定可执行文件的名称为“perf_for” ,
g++perf_for.cpp-operf_for2)运行perf_for之后 , 启动perfrecord:
sudoperfrecord-a--call-graphdwarf-p`psaux|grep"perf_for"|grep-vgrep|cut-c9-15`-d1-b3)结束后 , 通过perfreport导出报告:
sudoperfreport-iperf.data>perf.txt如下图所示 , 可以看出main函数90%的CPU都花在loop_big()函数上 。
首先考虑优化for_loop()函数 , 主要是sin和cos的计算;若for_loop()函数无法优化 , 就考虑优化loop_big() , 比如减少for_loop()函数的调用次数 。