如何解决GCC -finstrument-function开销
| 我正在寻找-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
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。