7得票1回答
性能统计中的循环注释(cycles annotation)是什么意思?

8.014196 task-clock # 0.004 CPUs utilized 204 context-switches # 0.025 M/sec ...

7得票2回答
Mac OS的Perf stat等效工具是什么?

Mac OS上是否有类似于perf stat的工具?我想对一个CLI命令执行相同的操作,但搜索并没有得到结果。

51得票5回答
Linux Perf:如何解释和查找热点

今天我尝试使用Linux的perf实用工具,但在解释其结果时遇到了困难。 我习惯于使用valgrind的callgrind,它当然是一种完全不同于perf基于采样方法的方法。 我的操作: perf record -g -p $(pidof someapp) perf report -g -...

11得票1回答
从perf获取用户空间堆栈信息

我目前正在测试一个PostgreSQL构建,试图追踪一些幽灵I/O。这是一个多进程服务器,很难将磁盘I/O关联到特定的后端和查询。 我认为Linux的perf工具非常适合这个任务,但我很难捕获块I/O性能计数器指标,并将它们与用户空间活动关联起来。 使用以下命令记录块I/O请求和完成非常容...

8得票2回答
如何将perf.data缩小到一个时间子间隔

我使用Linux perf(perf_events)生成带有时间戳的perf.data文件。 如何在时间子间隔[i-start,i-end]内生成所有事件的报告? 我可以将perf.data缩小到仅包含[i-start,i-end]中的事件的perf_subinterv.data文件吗? ...

15得票1回答
为什么Perf和Papi在L3缓存引用和缺失方面给出不同的值?

我正在开展一个项目,需要实现一个已被理论证明与缓存友好的算法。简单来说,如果输入为N,而B是每次出现缓存未命中时在缓存和RAM之间传输的元素数,则该算法将需要O(N/B)次访问RAM。 我想证明这确实是实际情况下的行为。为了更好地了解如何测量各种与缓存相关的硬件计数器,我决定使用不同的工具。其...

14得票4回答
如何在C/C++应用程序中分析内存访问所花费的时间?

一个应用程序中的函数耗费的总时间可以分为两个组成部分: 实际计算所花费的时间(Tcomp) 内存访问所花费的时间(Tmem) 通常,性能分析器会提供函数耗费的总时间估计。是否可能根据上述两个部分(Tcomp和Tmem)获得耗费时间的估计值?

9得票1回答
什么原因导致DWARF perf调用栈无法展开?

在通过perf record --call-graph dwarf生成并由perf script打印的回溯中,大约有5%的调用栈地址是错误的,即无法执行展开。一个例子如下: my_bin 770395 705462.825887: 3560360 cycles: 7f...

9得票2回答
如何提高缓存未命中率的实例?

我正在尝试编写一个示例程序,它的高缓存未命中率。我想我可以尝试按列访问矩阵,如下所示: #include <stdlib.h> int main(void) { int i, j, k; int w = 1000; int h = 1000; ...

7得票1回答
L2指令获取缺失远高于L1指令获取缺失。

我将使用以下Python脚本生成一个旨在引起大量指令获取缺失的合成C基准测试: : #!/usr/bin/env python import tempfile import random import sys if __name__ == '__main__': functions...