汇编指令大比拼:谁让 CPU 最慢?

Assembly Hall of Shame

汇编指令大比拼:谁让 CPU 最慢?

通常我们追求代码运行更快,但 xoreaxeaxeax 发起的 Assembly Hall of Shame 项目反其道而行,专门寻找单条指令的最低性能极限。该项目通过精心设计的策略,如利用 PCIe 总线的高延迟 MMIO 区域、触发微码辅助路径或制造缓存行分裂锁,成功让某些指令耗时惊人。冠军指令 fxrstor64 在 AMD Ryzen 7 5800H 上竟耗时 62 秒,消耗近 2000 亿个时钟周期。从简单的 nop 到复杂的内存操作,这份榜单揭示了 CPU 架构中鲜为人知的性能陷阱,展示了硬件设计在极端情况下的脆弱性。

Assembly Hall of Shame 采取了截然相反的方法:寻找单条指令性能的绝对底线。
  1. Retr0id

    相关项目,README 里也有链接:https://github.com/xoreaxeaxeax/smiiiiiiiiiiiiiiii(利用慢速指令来破坏 SMI)

  2. monocasa

    规则里写着:

    > 陷捕/模拟/虚拟化指令只能计时陷捕本身,不能计时处理程序。

    但我感觉当前排行榜第 8 名那个写 ACPI IO 端口耗时 12ms 的操作,大概率是陷捕到了 SMM 并在那里被处理了。

  3. layer8

    Nop 指令应该排第一,因为它做的事情效率无限低。;)

  4. TomatoCo

    这位作者还有其他作品:比如一个只生成 `mov` 指令的编译器,还有另一个故意搞乱控制流的编译器,这样反汇编时,常见的调试器会画出骷髅或威胁之类的符号。https://github.com/xoreaxeaxeax/repsych

  5. markus_zhang

    这是否意味着 Chris Domas 准备好迎接他的下一场冒险了?

同日更多故事

2026-08-07