GCC -finstrument-functions开销

时间:2011-06-23 09:57:50

标签: gcc profiling

我正在寻找-finstrument-functions的一些效果测试结果。

我正在考虑将它用作分析工具,因此我需要知道开销是否过高(因此不会破坏结果)。

1 个答案:

答案 0 :(得分:4)

开销是每次用户函数调用的另外2次调用函数调用。

这只是3-5 * 2 asm指令。此外,仪器功能本身

 __cyg_profile_func_enter 
 __cyg_profile_func_exit 

会耗费时间。但是如果你要使用普通的-finstrument-functions,那么cyg_profile函数的代码就是你的。

即使函数内联,仍然会调用__cyg_profile *。因此,估计目标应用程序中的函数调用次数,并将每次调用的开销乘以40-100 cpu。

您可能对采样分析器感兴趣,例如oprofile或Linux内核perf