VTune 中未显示某些函数调用

Posted

技术标签:

【中文标题】VTune 中未显示某些函数调用【英文标题】:Certain function calls not showing up in VTune 【发布时间】:2015-02-19 00:13:39 【问题描述】:

我发现一些代码非常慢(将 10 秒的应用程序变成 60 秒的应用程序)。我发现使用“随机暂停应用程序并查看它在哪里”技巧的慢代码。慢代码位于第 3 方许可函数调用中,该函数调用正在检查许可服务器以获取有效许可。

当我尝试使用 Intel 的 VTune 放大器进行分析时,这个缓慢的函数调用并没有显示为花费太多时间。我不知道为什么,但我猜函数调用在等待许可证服务器响应或类似的东西时必须休眠,这会欺骗 VTune 不将其识别为瓶颈。有没有办法让 VTune 识别这样的调用?

【问题讨论】:

【参考方案1】:

我能够通过使用 Locks and Waits 分析模式而不是 Basic Hotspots 分析模式来显示它。使用 Locks and Waits,我可以看到 selectfunction 是我的主要阻塞调用之一,我可以将该调用追溯到我的应用程序代码以查看它是如何被调用的。 p>

【讨论】:

以上是关于VTune 中未显示某些函数调用的主要内容,如果未能解决你的问题,请参考以下文章

在 intel-vtune 中,被调用函数的有效总时间高于调用函数的总时间

性能测量 - 获取每个函数的平均调用时间。英特尔 Vtune 放大器

尝试调用全局函数为零,但调试器中未显示函数?

已发布/观察到的 var 在视图 swiftui 中未更新,带有调用函数

在 useEffect() 中未调用函数

QML中未调用函数[关闭]