为什么_mm_pause()可以显着提高性能?

xml*_*lmx 5 performance x86 assembly cpu-architecture lockless

根据Intel的手册(第112页)

无效_mm_pause(无效)

下一条指令的执行被延迟特定的执行时间。该指令不会修改架构状态。此内在函数提供了特别重要的性能提升。

也就是说:

while (!acquire_spin_lock()) _mm_pause(); // code snippet 1

速度更快,功耗更低

while (!acquire_spin_lock()) continue; // code snippet 2

我可以理解为什么代码片段1的功耗比代码片段2低

我不明白的是:

为什么代码片段1代码片段2快?