翻訳と辞書
Words near each other
・ 共通化学感覚
・ 共通向性
・ 共通商品コード用バーコードシンボル
・ 共通型システム
・ 共通塩基配列
・ 共通外交・安全保障政策
・ 共通外交・安全保障政策上級代表
・ 共通外層
・ 共通安全保障・防衛政策
・ 共通安全保障防衛政策
共通式削除
・ 共通性の原理
・ 共通感覚
・ 共通感覚論
・ 共通戦術状況図
・ 共通房室口
・ 共通房室口(孔)開存(症)
・ 共通房室弁口
・ 共通抗原
・ 共通歴 (グレイホーク)


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

共通式削除 : ウィキペディア日本語版
共通部分式除去[きょうつうぶぶんしきじょきょ]
共通部分式除去(きょうつうぶぶんしきじょきょ、)は、計算機科学におけるコンパイラ最適化方法の一つで、同じ (すべて同じ値に評価される) の出現を探し出し、計算結果を格納する一つの変数に置き換える価値があるかどうかの解析を行うものである。
下記の例では、
a = b
* c + g;
d = b
* c
* d;
コードが下記のように記述されたとして解釈できるよう変更すると、
(プログラムの実行が速くなるため)利点がある。
tmp = b
* c;
a = tmp + g;
d = tmp
* d;
最適化プログラムはコストと利点の解析を行い、tmpを格納するコストが複数回計算を行うコストより低いかどうかを計算する。実際には、どの値がどのレジスタに格納されるかといった要素も重要である。
上記のような単純な場合には、プログラマはコードを記述する際に重複した式を手動で除去してしまうことが多い。CSE の入力としてもっとも重要なものはコンパイラが出力する中間コードである。例えば配列のインデックス計算などで生成されるもので、開発者が介在して手動で除去することができない。また、言語の特徴によって重複した式が多数作られる場合もある。たとえばC言語マクロでは、マクロの展開により元のコードに現れない共通部分式が生成される。
CSE を実行する利点は大きく、広く用いられる最適化手法である。
CSE ではコンパイラが値を一時的に格納する変数の数に関して十分賢いものである必要がある。膨大な一時変数を作成するとレジスタが枯渇し、メモリを使用する必要を生じる。単純な演算結果を必要に応じて再計算するより時間がかかってしまう場合もある。
コンパイラ開発者は二種類の CSE を区別している:
* 局所共通部分式除去 は一つのブロック内で動作するため実装が簡単な最適化方法である。
* 大域共通部分式除去 は手続きの全体で動作し、式が手続きのどこで利用可能になるかを解析するデータフロー解析の結果に依存する。
==関連項目==

* 大域値番号付け
* 再実体化

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「共通部分式除去」の詳細全文を読む

英語版ウィキペディアに対照対訳語「 Common subexpression elimination 」があります。



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.