Assembly Hall of Shame : l'instruction x86 la plus lente

Original : Assembly Hall of Shame

Pourquoi c'est important

Ce projet documente les pires cas de latence x86, utile pour la sécurité et l'analyse micro-architecturale.

Le projet open source « Assembly Hall of Shame » recense les instructions x86 les plus lentes possible. Le champion actuel est fxrstor64, combiné à une saturation du bus PCIe, produisant une latence extrême sur CPU 0.

Le dépôt GitHub « Assembly Hall of Shame », publié par xoreaxeaxeax, adopte une approche inverse de l'optimisation classique : au lieu de maximiser les performances, il cherche le plancher absolu de performance pour chaque instruction x86. Le champion actuel est l'instruction fxrstor64, qui charge 512 octets d'état FPU/MMX/XMM depuis une région MMIO haute latence dans le fabric PCIe. Pour aggraver encore la latence, un ensemble de cœurs « hammer » bombarde en parallèle un autre registre MMIO haute latence avec des lectures de 4 octets en boucle serrée, saturant le root complex PCIe et l'endpoint de transactions non-postées. Résultat : la fxrstor64 exécutée sur CPU 0 doit attendre derrière tout ce trafic concurrent. Le projet couvre de nombreuses autres instructions (idiv, rdrand, wbinvd, fsin, cpuid, etc.) et fournit des outils de mesure de latence. Il compte déjà 254 étoiles sur GitHub.

Source

github.com — Lire l'original →