Strength Reduction とは?
strength reduction は、コストの高い演算を、同じ結果を生むより安価なものに入れ替える最適化で、ループ添字による乗算を反復ごとの加算に置き換えるのがその例です。ループ内では、しばしば帰納変数解析と連携して働きます。狙いは、同じ計算をより少ない、あるいはより安価なマシン命令で行うことです。
なぜ重要か
コストの高い算術を安価な同等物に置き換えると、演算が何度も実行される密なループが高速化します。ホットなコードで不釣り合いに大きな効果を持つ、低レベル最適化の典型例です。
関連ガイド
What Is Loop-Invariant Code Motion?Loop-invariant code motion hoists computations whose result does not change across iterations out of a loop s…
What Is Peephole Optimization?Peephole optimization improves code by examining a small sliding window of instructions and replacing ineffic…
What Is Common Subexpression Elimination?Common subexpression elimination removes redundant computations by reusing a previously computed result inste…