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

Posted

技术标签:

【中文标题】性能测量 - 获取每个函数的平均调用时间。英特尔 Vtune 放大器【英文标题】:Performance Measurement - Get Average call time per function. Intel Vtune Amplifier 【发布时间】:2015-05-31 13:38:48 【问题描述】:

我只是想获得每个函数运行的平均时间。 这意味着我想要: “函数内的总时间”/“函数调用次数”

当我在 VTune 中运行分析时,我会得到各种信息。 这些是我正在使用的设置:

还有:

但我找不到平均时间在哪里。 我可以看到每个函数的总时间,但找不到调用计数。

使用 Visual Studio 2012、Vtune Amplifier XE 2013、更新 9。

请帮忙。

【问题讨论】:

【参考方案1】:

1) 您必须运行“高级热点”分析,配置如您的第二个屏幕截图所示。 “基本热点”不会为您提供通话计数信息。

2) 完成“高级热点”后 - 您可以在 自下而上视图中找到统计(近似)调用计数,如图所示在下面的屏幕截图中:

最后,确保您在 GUI 的右下方选择了“循环和函数”模式(默认情况下是这样,但谁知道您使用了哪些选项)。

3) 为了计算出总时间和自拍时间,不要忘记确保您将“视点”更改为“热点”(请参阅​​我的第一个屏幕截图中以绿色突出显示的区域,另请参阅下一张图片) .

4) 从 2016 年版本开始,Parallel Studio 具有

精确循环调用次数和行程次数” 精确函数调用次数”

测量工具 (以及总时间、自身时间甚至已用时间以及大量与 SIMD 并行性相关的分析)可在 "Intel (a ka "vectorization") Advisor" 中找到,查看更多信息 here:

【讨论】:

谢谢,我会试试的。如果我选择它并点击开始按钮,“实际上已经运行...”是什么意思,这意味着我实际上已经运行它,不是吗? 还有一件事,我看到您使用“硬件事件样本计数观点”查看。我在这里读到:software.intel.com/en-us/articles/… 这是我需要的,但我没有轻量级热点选项也看不到它们在那里显示的列。您能否在开始分析之前发布您如何配置分析器? 轻量级主机 == 高级热点。您将在此处看到确认信息:software.intel.com/en-us/articles/… 所以我的结论是:您已经运行了正确配置的适当分析类型(高级热点)。但是在那之后你就无法在 GUI 中找到信息了(要么是因为不容易找到,要么是因为 bug)。为了了解我在回答中更改屏幕截图的原因。请问您是否确实选择了适当的视点(请参阅绿色突出显示)并切换到自下而上(红色矩形)? 谢谢你,我不知道为什么我没有这个专栏,但现在我看到了!

以上是关于性能测量 - 获取每个函数的平均调用时间。英特尔 Vtune 放大器的主要内容,如果未能解决你的问题,请参考以下文章

如何获取使用 VisualVM 的方法的总总时间

如何使用 PEBS 测量 IPC?

在英特尔 iGPU 上测量内核内的时间

在列组上应用函数

对所有核心使用 perfsuite

无锁链表的性能比锁定链表差