Maison >développement back-end >C++ >Qu'est-ce qu'Intel Architecture Code Analyzer (IACA) et comment l'utiliser pour l'analyse de la planification des instructions ?
IACA (Intel Architecture Code Analyzer) est un outil d'analyse statique qui calcule la planification des instructions lorsqu'elles sont exécutées par processeurs Intel modernes. Il permet une analyse du débit, de la latence et de la trace des extraits de code dans des conditions d'exécution optimales.
Pour utiliser IACA, vous devez injecter des marqueurs de début et de fin dans le code que vous je veux analyser. Cela peut être fait en utilisant l'en-tête iacaMarks.h fourni en C/C ou manuellement dans l'assembly x86.
while(cond){ IACA_START /* Loop body */ /* ... */ } IACA_END
mov ebx, 111 ; Start marker bytes db 0x64, 0x67, 0x90 ; Start marker bytes .innermostlooplabel: ; Loop body ; ... jne .innermostlooplabel ; Conditional branch backwards to top of loop mov ebx, 222 ; End marker bytes db 0x64, 0x67, 0x90 ; End marker bytes
Une fois les marqueurs injectés, reconstruisez le code et analysez-le à l'aide de l'IACA outil de ligne de commande. La syntaxe est la suivante :
iaca.sh -64 -arch HSW -graph insndeps.dot foo
Cette commande analyse le binaire 64 bits foo sur l'architecture Haswell et génère un graphique des dépendances des instructions.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!