![]() |
1
5
你没有展示你测试的实际循环,也没有提及你是如何测量时间的。显然,您测量的是挂钟时间,而不是核心时钟周期(使用性能计数器)。因此,测量噪声的来源包括涡轮/节能以及与另一个逻辑线程(在i7上)共享一个物理内核。
资料来源: Agner Fog's microarch pdf and instruction tables . uop缓存内容见表9.1。另请参阅中的其他性能链接 x86
编译器通常选择使用
这通常是正确的选择,尽管在一个长期运行的循环中,您希望常数在缓存中保持热状态,但从中加载它可能是一个胜利
If your 64-bit constant is an address
在考虑asm的微小序列时,周围的代码非常重要 |
![]() |
Ilya Loskutov · 无法将单词加载到寄存器中 2 年前 |
![]() |
Ari157 · x86_64 Linux程序集中的逻辑与实现 2 年前 |
![]() |
Arya · 汇编语言中的“标签”——操作码 3 年前 |
![]() |
S1mple · 通过gcc生成64位共享库时的“未定义的主引用” 3 年前 |
![]() |
R0M2 · 为什么“GCC”忽略汇编代码的-fno pic 3 年前 |
![]() |
Akagi Akira · 如何在gnu汇编程序中组装MIPS cpu 3 年前 |