「無駄な」if文でコードのパフォーマンスが4倍に

Quadrupling code performance with a "useless" if

ドメイン固有の圧縮器を最適化する過程で、著者は一見単純なループがメモリアクセスのレイテンシに制限されていることに気づく。分岐予測を利用して依存関係を断ち切るため、コンパイラには無意味に見えるif文を追加し、volatileキャストで最適化を防ぐという手法を紹介。合成ベンチマークでは320μsから80μsへと4倍の高速化を達成した。

コンパイラは整数にハードウェアの来歴があることを理解していない。

この日のほかの記事

2026-07-13