我发现有些代码非常慢(将10秒的应用程序转换为60秒的应用程序)。我发现缓慢的代码使用“随机暂停应用程序,看看它在哪里”技巧。慢代码位于第三方许可函数调用中,该函数正在检查许可证服务器是否有有效的许可证。
当我尝试使用英特尔的VTune放大器进行分析时,这个缓慢的函数调用并不需要很长时间。我不知道为什么,但我想函数调用必须在等待许可服务器响应或诸如此类的东西时休眠,这使VTune无法将其识别为瓶颈。有办法让VTune识别这样的呼叫吗?
发布于 2015-02-19 00:39:42
我能够通过使用Locks和Waits分析模式来显示它,而不是使用基本的热点分析模式。使用Locks和Waits,我可以看到select
函数是我最大的阻塞调用之一,我可以将该调用追溯到我的应用程序代码中,以查看它是如何被调用的。
https://stackoverflow.com/questions/28596470
复制相似问题