使用性能工具测量挂钟时间的最佳事件计数器

问题描述 投票:1回答:1

简单但复杂的问题:

使用什么计数器来获得性能工具来测量挂钟时间?

作为基线,我认为需要分析代码时,第一件事就是挂钟时间,以使人们初步了解代码在大部分时间中所占的比例。我不在乎它的IO或带宽是否有限,或者我只是想知道它在哪里慢。

听起来很简单,但是现代CPU可以有效地工作(如频率缩放等),并且在perf中有很多不同的(没有充分记录的)性能计数器,要确保进行测量并不容易正确的事情。

当前我正在:

perf record -g -e ref-cycles -F 999 -- <cmd>

我认为这是未缩放的CPU频率,因此与部分代码正在运行的挂钟时间成比例。但是谁知道呢?

profiling performancecounter perf intel-pmu
1个回答
2
投票

您可以使用task-clock

这明确是进程运行时的挂钟时间,而且可以移植,因为它不依赖于任何PMU事件。

© www.soinside.com 2019 - 2024. All rights reserved.