汇编指令大比拼:谁让 CPU 最慢?
Assembly Hall of Shame

通常我们追求代码运行更快,但 xoreaxeaxeax 发起的 Assembly Hall of Shame 项目反其道而行,专门寻找单条指令的最低性能极限。该项目通过精心设计的策略,如利用 PCIe 总线的高延迟 MMIO 区域、触发微码辅助路径或制造缓存行分裂锁,成功让某些指令耗时惊人。冠军指令 fxrstor64 在 AMD Ryzen 7 5800H 上竟耗时 62 秒,消耗近 2000 亿个时钟周期。从简单的 nop 到复杂的内存操作,这份榜单揭示了 CPU 架构中鲜为人知的性能陷阱,展示了硬件设计在极端情况下的脆弱性。
Assembly Hall of Shame 采取了截然相反的方法:寻找单条指令性能的绝对底线。
- Retr0id
相关项目,README 里也有链接:https://github.com/xoreaxeaxeax/smiiiiiiiiiiiiiiii(利用慢速指令来破坏 SMI)
- monocasa
规则里写着:
> 陷捕/模拟/虚拟化指令只能计时陷捕本身,不能计时处理程序。
但我感觉当前排行榜第 8 名那个写 ACPI IO 端口耗时 12ms 的操作,大概率是陷捕到了 SMM 并在那里被处理了。
- layer8
Nop 指令应该排第一,因为它做的事情效率无限低。;)
- TomatoCo
这位作者还有其他作品:比如一个只生成 `mov` 指令的编译器,还有另一个故意搞乱控制流的编译器,这样反汇编时,常见的调试器会画出骷髅或威胁之类的符号。https://github.com/xoreaxeaxeax/repsych
- markus_zhang
这是否意味着 Chris Domas 准备好迎接他的下一场冒险了?