演算子強度低減とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > 演算子強度低減の意味・解説 

演算子強度低減

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/10/11 01:30 UTC 版)

演算子強度低減英語: strength reduction)とはコンパイラ最適化手法の一つで、コストの高い演算式を等価でコストの低い演算式に置き換えるものである。

演算子強度低減では、数学的な同一性を用いて低速な演算式を高速な演算式で置換する。置換したことによるコストと利点は対象の CPU や、時には周辺のコード(CPU 内の機能ユニットが利用できるかどうか)に大きく依存する。

元の演算式 置き換えた演算式
y = x / 8 y = x >> 3
y = x * 64 y = x << 6
y = x * 2 y = x + x
y = x * 15 y = (x << 4) - x

帰納変数の強度低減、再帰的な強度低減では、自動的に変化するような結果を返す関数を以前の結果を用いて簡単な演算結果に置き換える。これは、手続き型プログラミングでは、ループ変数に関連する式に適用でき、宣言型プログラミングでは再帰呼び出しの引数に適用できる。 例えば、

f x = ... (2 ** x) ... (f (x + 1)) ...

は、以下のようになる。

f x = f' x (2 ** x)
ここで
  f' x z = ... z ... (f' (x + 1) (2 * z)) ...
である。

このようにして、高価な演算 (2 ** x) は再帰的関数 f' でコストの低い (2 * z) に置換された。いかなる f' の呼び出しに関しても、z = 2 ** x との等価性を維持している。

脚注

  1. ^ C のような言語では、整数の除算は切捨てであり、負の数に対して特殊な扱いが必要になる

関連項目




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「演算子強度低減」の関連用語

演算子強度低減のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



演算子強度低減のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの演算子強度低減 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS