命令ベンチマークツールでループ中の命令数を増やすとスループットが下がる件にからんで、パフォーマンスを計測する方法一般についてちょろっとググったら、Linux の perf コマンドを使う記事を見つけました。ってこれよく見たら x86/x64 最適化勉強会で聞いたはずじゃん。

これの 3.2 の「アーキテクチャの理解」のところで、命令列が長いと IPC が下がる、というようなことが書いてあります(マイクロアーキテクチャは同じく Sandy Bridge)。

まあ、他の人のところでも同様のことが起こる、ということが(より詳細なデータとともに)分かっただけであって、なんで長い依存列があると遅くなるのかはよく分からんのですが。

Trackback

only 1 comment untill now

  1. ループが長いと命令発行が遅くなることがある件(やや解決)

    uOP$ に乗ってるかどうかの違いなんじゃないの、と指摘されました。uOP$ のことすっかり忘れてました。Sandy Bridge の uOP$ の解説記事はこんなのがあります(英語) uOP$ に乗っている場合、…

Add your comment now