问题描述
|
我正在寻找
-finstrument-functions
的性能测试结果。
我正在考虑将其用作性能分析工具,因此我需要知道开销是否不太高(因此它不会破坏结果)。
解决方法
开销是每个用户函数调用对仪表函数的2个附加调用。
它只是3-5 * 2个asm指令。另外,仪器本身也起作用
__cyg_profile_func_enter
__cyg_profile_func_exit
会浪费时间。但是,如果您要使用普通的“ 0”,cyg_profile函数的代码就是您的代码。
即使内联函数,仍会调用__cyg_profile *。因此,估计目标应用程序中函数调用的数量,并将每个调用的开销乘以40-100 cpu的滴答滴答。
您可能对采样分析器感兴趣,例如oprofile
或linux内核perf
。