是否可以在不影响主程序的情况下仅分析插件共享库?

时间:2016-09-16 13:21:29

标签: shared-libraries profiling

是否可以在不查看主程序的情况下仅分析共享库? 例如,我开发了一个插件,我想简介但不需要描述整个应用程序。我只是想看看我的插件的瓶颈。 (当然,我想在主应用程序运行并加载我的插件时对其进行分析...)

我正在研究linux,我习惯于召唤,但出于好奇心,我也对所有系统的可能性感兴趣,所以我让问题一般。

我对此感兴趣,因为主程序很慢,并且不想添加分析的开销,因为我对主程序性能不感兴趣...

2 个答案:

答案 0 :(得分:1)

在Linux中perf statistical分析工具的开销非常低(1-2%),因此您可以使用perf record ./your_application对整个应用程序进行分析,然后分析生成的个人资料perf.dataperf report command。您可以将perf报告输出过滤到某些共享库或搜索插件的函数名称。阅读更多http://www.brendangregg.com/perf.html

Callgrind不仅仅是一个分析器,它是用于实现精确profiler with instrumentation approach的二进制重新编译器,它对任何代码都有10-20倍的开销,即使未启用分析工具也是如此。

答案 1 :(得分:0)

你的插件只在某些时间运行,对吧?就像用户请求某些活动一样?人们在任何IDE中使用this method,在此期间手动暂停。暂停将根据其使用的时间落在插件中。在您暂停之前没有性能影响,因为应用程序全速运行,而在暂停时,它会停止,您不在乎,因为您正在诊断您的插件。