33得票1回答
"perf_event_paranoid == 1" 实际上对 x86 perf 有什么限制?

新版本的Linux内核有一个sysfs可调参数/proc/sys/kernel/perf_event_paranoid,允许用户为非root用户调整perf_events的可用功能,更高的数字表示更安全(相应地提供更少的功能): 从kernel documenation中我们可以看到各个值的...

19得票2回答
Haswell内存访问

我正在尝试使用AVX-AVX2指令集来测试连续数组上的流式处理性能。因此,我有以下示例,在其中进行基本的内存读取和存储。 #include <iostream> #include <string.h> #include <immintrin.h> #inc...

14得票5回答
Intel性能监视器计数器能用于测量内存带宽吗?

Intel PMU 可以用来测量每个核心的读写内存带宽使用情况吗?这里的“内存”指的是 DRAM(即不命中任何缓存级别)。

13得票2回答
使用英特尔最后分支记录的开销是什么?

Last Branch Record是一组存储最近执行分支的源地址和目标地址的寄存器对(MSR)。如果您想了解更多信息,http://css.csail.mit.edu/6.858/2012/readings/ia32/ia32-3b.pdf文档可以提供更多帮助。 a) 有人能够说明LBR...

10得票1回答
硬件缓存事件和性能分析工具

当我运行perf list命令时,我看到了一堆硬件缓存事件,如下所示: Translated: 当我运行perf list命令时,我看到了一堆硬件缓存事件,如下所示:$ perf list | grep 'cache event' L1-dcache-load-misses ...

10得票2回答
Xcode工具中反汇编时间分析的可靠性

我使用Instrument的时间分析器对我的代码进行了分析,放大到反汇编部分,以下是其中一部分结果: 我不会期望一条mov指令占用23.3%的时间,而一条div指令几乎不占用时间。 这让我相信这些结果是不可靠的。 这是真的吗?已知的吗?还是我只是遇到了Instruments的bug?或者...

9得票2回答
为什么流式加载的步幅越大,每次迭代中的uops数量就会增加?

考虑以下循环: .loop: add rsi, OFFSET mov eax, dword [rsi] dec ebp jg .loop 其中OFFSET是一个非负整数,rsi包含指向在bss部分定义的缓冲区的指针。这个循环...

9得票1回答
下一个循环检测的迭代可以解决LSD问题中的uOPs吗?

我在测试我的Haswell处理器0号端口分支单元的功能,从一个非常简单的循环开始: BITS 64 GLOBAL _start SECTION .text _start: mov ecx, 10000000 .loop: dec ecx ;| jz ...

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

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

7得票2回答
rdpmc:令人惊讶的行为

我正在尝试理解rdpmc指令。因此,我有以下汇编代码: segment .text global _start _start: xor eax, eax mov ebx, 10 .loop: dec ebx jnz .loop mov ecx, 1...