dbo:abstract
|
- Das Entfernen gemeinsamer Teilausdrücke (englisch common subexpression elimination) beschreibt eine Compiler-Optimierung. Es wird dabei nach Teilausdrücken gesucht, die zuvor bereits berechnet wurden. Wenn solche gefunden werden, wird das vorherige Ergebnis in einer Variable gespeichert und die wiederholte Berechnung durch die Variable ersetzt. (de)
- In compiler theory, common subexpression elimination (CSE) is a compiler optimization that searches for instances of identical expressions (i.e., they all evaluate to the same value), and analyzes whether it is worthwhile replacing them with a single variable holding the computed value. (en)
- En teoría de compiladores, la eliminación de subexpresiones comunes (CSE por las siglas en inglés) es una optimización que consiste en buscar expresiones que se repitan, y analizar si vale la pena reemplazarlas por una variable para computar el valor una sola vez. (es)
- En informatique, la recherche de sous-expressions communes est une technique d'optimisation de code qui cherche des instances d'expressions communes (c'est-à-dire renvoyant toutes la même valeur) et qui détermine si cela vaut la peine de les remplacer par une variable unique contenant la valeur calculée. (fr)
- Eliminacja wspólnych podwyrażeń (ang. common subexpression elimination) - technika optymalizacji stosowana w kompilatorach, polegająca na takim przekształceniu kodu, aby część tych samych obliczeń występujących w kilku wyrażeniach była wykonywana tylko raz, co wymaga wprowadzenia dodatkowej, pomocniczej zmiennej. Takie przekształcenie wykonuje się tylko wtedy, gdy rzeczywiście jest to opłacalne, tzn. gdy koszt wprowadzenia nowej zmiennej nie będzie przewyższał kosztu obliczania podwyrażenia. Np. w poniższym fragmencie programu: a = x * y + z;b = x * g * y;c = x * y / z; powtarza się mnożenie x * y. Kompilator może wygenerować kod równoważny: M = x * y; { wspólne podwyrażenie, wynik zapisywany do nowej zmiennej }a = M + z;b = g * M;c = M / z; W oryginalnym kodzie wykonywano:
* 4 mnożenia,
* 3 przypisania,
* dodawanie i dzielenie, natomiast po przekształceniu:
* 2 mnożenia,
* 4 przypisania.
* dodawanie i dzielenie. (pl)
- 共通部分式除去(きょうつうぶぶんしきじょきょ、英: Common subexpression elimination, CSE)は、計算機科学におけるコンパイラ最適化方法の一つで、同じ式 (すべて同じ値に評価される) の出現を探し出し、計算結果を格納する一つの変数に置き換える価値があるかどうかの解析を行うものである。 下記の例では、 a = b * c + g;d = b * c * d; コードが下記のように記述されたとして解釈できるよう変更すると、(プログラムの実行が速くなるため)利点がある。 tmp = b * c;a = tmp + g;d = tmp * d; 最適化プログラムはコストと利点の解析を行い、tmpを格納するコストが複数回計算を行うコストより低いかどうかを計算する。実際には、どの値がどのレジスタに格納されるかといった要素も重要である。 上記のような単純な場合には、プログラマはコードを記述する際に重複した式を手動で除去してしまうことが多い。CSE の入力としてもっとも重要なものはコンパイラが出力する中間コードである。例えば配列のインデックス計算などで生成されるもので、開発者が介在して手動で除去することができない。また、言語の特徴によって重複した式が多数作られる場合もある。たとえばC言語のマクロでは、マクロの展開により元のコードに現れない共通部分式が生成される。 CSE を実行する利点は大きく、広く用いられる最適化手法である。 CSE ではコンパイラが値を一時的に格納する変数の数に関して十分賢いものである必要がある。膨大な一時変数を作成するとレジスタが枯渇し、メモリを使用する必要を生じる。単純な演算結果を必要に応じて再計算するより時間がかかってしまう場合もある。 コンパイラ開発者は二種類の CSE を区別している:
* 局所共通部分式除去 は一つのブロック内で動作するため実装が簡単な最適化方法である。
* 大域共通部分式除去 は手続きの全体で動作し、式が手続きのどこで利用可能になるかを解析するデータフロー解析の結果に依存する。 (ja)
- Удаление общих подвыражений (англ. Common subexpression elimination или CSE) — оптимизация компилятора, которая ищет в программе вычисления, выполняемые более одного раза на рассматриваемом участке, и удаляет вторую и последующие одинаковые операции, если это возможно и . Данная оптимизация требует проведения анализа потока данных для нахождения избыточных вычислений и практически всегда улучшает время выполнения программы в случае применения. (ru)
- Усунення спільних підвиразів (англ. common subexpression elimination, CSE) це оптимізація компілятора, за якої шукаються примірники тотожних виразів (тобто таких, що мають однакове значення), і приймається рішення, чи варто замінити їх однією змінною, що містить обчислене значення. (uk)
- 公共子表达式消除,又称CSE(),是一个编译器优化技术。在执行这项优化的过程中,编译器会视情况将多个相同的表达式替换成一个变量,这个变量存储着计算该表达式后所得到的值。 该优化技术十分常见,在现代各大编译器中(如LLVM、GCC)均有实现。 (zh)
|
dbo:wikiPageExternalLink
| |
dbo:wikiPageID
| |
dbo:wikiPageLength
|
- 4041 (xsd:nonNegativeInteger)
|
dbo:wikiPageRevisionID
| |
dbo:wikiPageWikiLink
| |
dbp:wikiPageUsesTemplate
| |
dcterms:subject
| |
gold:hypernym
| |
rdf:type
| |
rdfs:comment
|
- Das Entfernen gemeinsamer Teilausdrücke (englisch common subexpression elimination) beschreibt eine Compiler-Optimierung. Es wird dabei nach Teilausdrücken gesucht, die zuvor bereits berechnet wurden. Wenn solche gefunden werden, wird das vorherige Ergebnis in einer Variable gespeichert und die wiederholte Berechnung durch die Variable ersetzt. (de)
- In compiler theory, common subexpression elimination (CSE) is a compiler optimization that searches for instances of identical expressions (i.e., they all evaluate to the same value), and analyzes whether it is worthwhile replacing them with a single variable holding the computed value. (en)
- En teoría de compiladores, la eliminación de subexpresiones comunes (CSE por las siglas en inglés) es una optimización que consiste en buscar expresiones que se repitan, y analizar si vale la pena reemplazarlas por una variable para computar el valor una sola vez. (es)
- En informatique, la recherche de sous-expressions communes est une technique d'optimisation de code qui cherche des instances d'expressions communes (c'est-à-dire renvoyant toutes la même valeur) et qui détermine si cela vaut la peine de les remplacer par une variable unique contenant la valeur calculée. (fr)
- Удаление общих подвыражений (англ. Common subexpression elimination или CSE) — оптимизация компилятора, которая ищет в программе вычисления, выполняемые более одного раза на рассматриваемом участке, и удаляет вторую и последующие одинаковые операции, если это возможно и . Данная оптимизация требует проведения анализа потока данных для нахождения избыточных вычислений и практически всегда улучшает время выполнения программы в случае применения. (ru)
- Усунення спільних підвиразів (англ. common subexpression elimination, CSE) це оптимізація компілятора, за якої шукаються примірники тотожних виразів (тобто таких, що мають однакове значення), і приймається рішення, чи варто замінити їх однією змінною, що містить обчислене значення. (uk)
- 公共子表达式消除,又称CSE(),是一个编译器优化技术。在执行这项优化的过程中,编译器会视情况将多个相同的表达式替换成一个变量,这个变量存储着计算该表达式后所得到的值。 该优化技术十分常见,在现代各大编译器中(如LLVM、GCC)均有实现。 (zh)
- 共通部分式除去(きょうつうぶぶんしきじょきょ、英: Common subexpression elimination, CSE)は、計算機科学におけるコンパイラ最適化方法の一つで、同じ式 (すべて同じ値に評価される) の出現を探し出し、計算結果を格納する一つの変数に置き換える価値があるかどうかの解析を行うものである。 下記の例では、 a = b * c + g;d = b * c * d; コードが下記のように記述されたとして解釈できるよう変更すると、(プログラムの実行が速くなるため)利点がある。 tmp = b * c;a = tmp + g;d = tmp * d; 最適化プログラムはコストと利点の解析を行い、tmpを格納するコストが複数回計算を行うコストより低いかどうかを計算する。実際には、どの値がどのレジスタに格納されるかといった要素も重要である。 上記のような単純な場合には、プログラマはコードを記述する際に重複した式を手動で除去してしまうことが多い。CSE の入力としてもっとも重要なものはコンパイラが出力する中間コードである。例えば配列のインデックス計算などで生成されるもので、開発者が介在して手動で除去することができない。また、言語の特徴によって重複した式が多数作られる場合もある。たとえばC言語のマクロでは、マクロの展開により元のコードに現れない共通部分式が生成される。 (ja)
- Eliminacja wspólnych podwyrażeń (ang. common subexpression elimination) - technika optymalizacji stosowana w kompilatorach, polegająca na takim przekształceniu kodu, aby część tych samych obliczeń występujących w kilku wyrażeniach była wykonywana tylko raz, co wymaga wprowadzenia dodatkowej, pomocniczej zmiennej. Takie przekształcenie wykonuje się tylko wtedy, gdy rzeczywiście jest to opłacalne, tzn. gdy koszt wprowadzenia nowej zmiennej nie będzie przewyższał kosztu obliczania podwyrażenia. Np. w poniższym fragmencie programu: a = x * y + z;b = x * g * y;c = x * y / z; (pl)
|
rdfs:label
|
- Common subexpression elimination (de)
- Eliminación de subexpresiones comunes (es)
- Common subexpression elimination (en)
- Recherche de sous-expressions communes (fr)
- 共通部分式除去 (ja)
- Eliminacja wspólnych podwyrażeń (pl)
- Удаление общих подвыражений (ru)
- Усунення спільних підвиразів (uk)
- 公共子表达式消除 (zh)
|
owl:sameAs
| |
prov:wasDerivedFrom
| |
foaf:isPrimaryTopicOf
| |
is dbo:wikiPageDisambiguates
of | |
is dbo:wikiPageRedirects
of | |
is dbo:wikiPageWikiLink
of | |
is foaf:primaryTopic
of | |