最新Cコンパイラーの最適化事情
State of the art C compiler optimization tricks, Felix von Leitner, Linux Kongress 2009.
最近のCコンパイラーの最適化能力についてまとめたプレゼンテーション。定数の扱いやインライン展開などの基本的な項目から始まって,分岐の削除やベクトル化, SIMD 化など,最新のコンパイラーに搭載されている様々な機能について調べている。
この手の分岐の削除はほとんどのコンパイラーで有効らしい。
ベクトル化については gcc がだいぶ頑張っている印象。
「gcc は全プラットフォームにおいてビデオコーデックプログラマーより賢い」
これらの最適化が実際のコードでどのように機能するか気になって逆アセンブリコードを覗いてみる人も少なくないと思うけれど,それを代わりにやってくれた感じだ。この手の話題に興味がある人ならば,目を通してみて損はないと思う。
(via Lambda the Ultimate)