うた-LINK.com (05/21update)

▼最新情報をCheck!!▼


「コンパイラ最適化」||うた-LINK.com (05/21update)

コンパイラ最適化 wikipedia|無料辞書

前のページ 1/4 次のページ
コンパイラ最適化(こんぱいらさいてきか、)とは、実行ファイルを効率化し、実行時間やメモリ使用量などを最小化するようコンパイラの出力を調整する処理である。最も一般的な要求はプログラムの実行時間を最小化することであり、その次に使用するメモリ量を最小化することである。また、携帯可能なコンピュータが増えるにつれて、消費電力を最小化するという最適化も生まれてきた。
一部のコード最適化問題はNP完全問題であることが示されている。実際には、プログラマがコンパイラによる最適化の完了を待てる時間の上限なども考慮してコンパイラ最適化を実装する(最適化はCPU時間とメモリを多大に使用する)。かつては、コンピュータのメモリ実装量も実行できる最適化を制限する要因だった。
コンパイラ開発社は製品を「最適化コンパイラ」と銘打つことが多く、コンパイラの最適化の能力が売り上げや評判に大きく影響する。

◆ 最適化の種類
最適化はソース言語(プログラミング言語)に近い表現の中間語に対して行う高水準最適化と、機械語に近い表現の中間語に対して適用される低水準最適化に分類される。
最適化技法はその「スコープ」で分類できる。スコープは文単位からプログラム全体まで様々である。一般にスコープの狭い技法の方が広いものより実装が容易だが、効果は小さい。スコープとしては以下のようなものがある:
;のぞき穴的最適化
:コンパイラが機械語を生成した後で行われる最適化。この場合、(ちょうどのぞき穴から見るように)隣接する数命令だけに注目し、その命令列をより短く、場合によっては1命令に置換できないか検討する。例えば、何らかの値に2をかけている場合、シフト命令や加算命令(自分自身を加算する)に置き換えた方が高速化できる場合がある(これは演算子強度低減でもある)。
;ループ最適化
:ループを構成する文のブロック(例えばfor文)に対して最適化を行う(ループ不変量コード移動など)。プログラムの実行時間の大部分は何らかのループ内であることが多いため、ループ最適化は性能に重大な影響を与える可能性がある。
;局所最適化、プロシージャ内最適化
:1つの関数定義内の情報だけを考慮する最適化。解析の手間が削減される(時間とメモリ使用量が節約される)が、大域変数やその関数内で他の関数を呼び出している箇所について最悪の場合を想定する必要がある(手続き外についての情報がないため)。
;プロシージャ間最適化、プログラム全体の最適化
:プログラムのソースコード全体を解析する最適化。より多くの情報が得られるため、さらに効率的な最適化が可能。新しい技法も適用可能である。例えばインライン展開技法を使えば、関数呼び出しを関数そのものと置き換えることになる。
スコープによる分類のほかに、以下の2つの最適化の分類がある:
;プログラミング言語非依存とプログラミング言語依存
:多くの高級言語の構文要素や抽象化は共通である。判断(if、switch、case)、ループ(for、while、 repeat...until、do...while)、カプセル化(構造体、オブジェクト)などがある。この特徴を利用して言語に依存しない最適化技法を利用できる。しかし、言語によってはある種の最適化が容易だったり、逆に難しかったりする。例えば、C言語C++にポインタがあるため、配列アクセスの最適化が困難である。逆に、一部の言語では関数が副作用を持つことができない。このため、同じ引数で同じ関数を何度も呼び出す場合、コンパイラはこれを最適化して一回だけその関数を呼び出して、後はその結果を再利用することができる。
;マシン(CPU)非依存とマシン依存
:抽象的な概念(ループ、オブジェクト、構造体)に関する最適化はコンパイラが対象としているマシンとは関係なく実施できる。しかし、効果的な最適化の多くは対象プラットフォーム特有の機能を考慮したものであることが多い。
マシン依存の最適化の具体例を示す。レジスタに0を設定する最もシンプルな方法は、命令内で 0 という定数(イミディエート値)をレジスタに設定することである。別のより技巧的な方法では、レジスタを自分自身とのXORの演算結果で置き換える方法がある。どちらの方法を利用するかはコンパイラ次第である。多くのRISCの場合、どちらの方法でも命令長と実行時間に違いはない。インテル x86系などでは、XORを使った方法がより短く速い。これはイミディエート値をデコードする必要がなく、内部のimmediate operand registerを使わないため。またXOR命令がレジスタの依存関係によってパイプライン停止を招くことがあるが、自分自身のXORではパイプラインは停止しない。

◆ 最適化に影響する要因

◇ 対象マシン
適用可能かつ適用すべき最適化の選択は対象マシンの性格に依存する。場合によってはマシン依存の要因をパラメータ化可能であり、マシンを指定するパラメータによってコードに適用する最適化を変えることもできる。GCCは、そのような手法を採用している例である。

◇ 対象CPUのアーキテクチャ
; CPUレジスタ本数
:レジスタが多ければ多いほど、性能の最適化が容易になる場合がある。レジスタが多ければ局所変数コールスタック上ではなくレジスタに割り当てられる。一時的な結果をレジスタに残すことでメモリの読み書きをする回数を減らすことができる。
; RISCCISC
: CISC命令セットの命令長は可変であることが多く、命令数も多く、各命令の実行時間も一定していない。RISC命令セットでは命令長が固定で、アドレッシングモードもCISCより少なく、各命令は一定間隔で実行される(実行時間は必ずしも一定ではない)。同じ処理をコード化したときの多様さはCISCの方がRISCより豊富である。コンパイラは各命令や命令の組み合わせによるコストを考慮してコード生成する(命令選択)。
; パイプライン
: パイプラインは、ALUを機能分割して工場の生産ラインのように並べたものと言える。これにより、ALUの各部が異なる命令の異なる処理をすることが可能となる。命令のデコード、アドレスのデコード、メモリフェッチ、レジスタフェッチ、計算、レジスタへの格納などである。ある命令がレジスタへの格納ステージにあるとき、同時に別の命令がレジスタフェッチのステージにあるということになる。パイプラインのあるステージにある命令がもっと先のステージにある未完了の命令の結果を必要とするとき、パイプライン衝突が発生する。パイプライン衝突はパイプラインの停止(ストール)を招き、衝突が解決されるまでCPUは何もできなくなる。
: コンパイラは命令をスケジュールあるいは再配置して、パイプラインの停止が起こりにくくなるようにできる。
; 機能ユニットの数
: 一部のCPUは複数のALUやFPUを備えており、複数の命令を同時に実行できる。同時に実行できる命令の種類には制限があることもあり、各ユニットが実行できる命令の種類も制限がある。これらにはパイプライン衝突と同様の問題が存在する。
: コンパイラはこのような場合も命令をうまく配置して、各機能ユニットがなるべく常に動作するようにスケジュールできる。

◇ 対象マシンのアーキテクチャ
; キャッシュメモリサイズとタイプ(ダイレクトマップ、n-wayセットアソシアティブ、フルアソシアティブ)
: インライン展開ループ展開などの手法はコードのサイズを増大させ、参照の局所性を損なう。頻繁に実行されるコードの塊がキャッシュに収まらなくなると、性能は劇的に低下する。フルアソシアティブでないキャッシュではキャッシュ上での衝突が発生しやすい。

前のページ 1/4 次のページ
・コンパイラ最適化 page1
コンパイラ最適化 page2
コンパイラ最適化 page3
コンパイラ最適化 page4

コンパイラ最適化を他のサイトで調べる
@[コンパイラ最適化]暇つぶしマスター
A[コンパイラ最適化]性病マスター
B[コンパイラ最適化]ダイエットNAVI
C[コンパイラ最適化]価格比較マスター
D[コンパイラ最適化]肛門科マスター
E[コンパイラ最適化]産婦人科科マスター
F[コンパイラ最適化]結婚情報マスター


■着うたLINK関連検索

無料 着うた
嵐 着うた
EXILE 着うた
宇多田ヒカル 着うた
KAT-TUN 着うた
YUI 着うた
アニソン 着うた
関ジャニ∞ 着うた
加藤ミリヤ 着うた
安室奈美恵 着うた
浜崎あゆみ 着うた
ジャニーズ 着うた
倖田來未 着うた
aiko 着うた
KinKi Kids 着うた
AI 着うた
伊藤 由奈 着うた
NEWS 着うた
Bz 着うた
いきものがかり 着うた
BONNIE PINK  着うた
X JAPAN 着うた
UVERworld 着うた
BUMP OF CHICKEN 着うた
木村カエラ 着うた
Janne Da Arc 着うた
YUKI 着うた
RADWIMPS 着うた
ビヨンセ 着うた
ゆず 着うた
コブクロ 着うた
GReeeeN 着うた
ラルク 着うた
ポルノグラフィティ 着うた
ケツメイシ 着うた
ORANGE RANGE 着うた
大塚愛 着うた
チャットモンチー 着うた
平井堅 着うた
スピッツ 着うた
Every Little Thing 着うた
Aqua Timez 着うた
福山雅治 着うた
柴咲コウ 着うた
ロードオブメジャー 着うた
交換 着うた
KREVA 着うた
スキマスイッチ 着うた
中島美嘉 着うた
BoA 着うた
アンジェラ・アキ 着うた
絢香 着うた
Dragon Ash 着うた
槇原敬之 着うた
CHEMISTRY 着うた
ウルフルズ 着うた
TOKIO 着うた
DREAMS COME TRUE 着うた
湘南乃風 着うた
Crystal Kay 着うた
RIP SLYME 着うた
FLOW 着うた
Chara 着うた
SEAMO 着うた
ランキング 着うた
小田和正 着うた
AAA 着うた
自作 着うた
小島よしお 着うた
レミオロメン 着うた
SOULd OUT 着うた
桑田 佳祐 着うた
LArc〜en〜Ciel 着うた
mihimaru GT 着うた
MONKEY MAJIK 着うた
Gackt 着うた
Ne-Yo 着うた
徳永英明 着うた
MEGARYU 着うた
アヴリル・ラヴィーン 着うた
川嶋あい 着うた
MINMI 着うた
BENNIE K 着うた
AKINO 着うた
マライア・キャリー 着うた
MISIA 着うた
ブラック・アイド・ピーズ 着うた
SoulJa 着うた
おしりかじり虫 着うた
バックストリート・ボーイズ 着うた
INFINITY 16 着うた
着うた配信サイト
ET-KING 着うた
DJ OZMA 着うた
高橋洋子 着うた
ファーギー 着うた
FUNKY MONKEY BABYS 着うた
ERIKA 着うた
ムーディ勝山 着うた
作り方 着うた

■着うたLINKWikipedia情報

着うたフル
波形編集
著作権保護機能
携帯動画変換君
アップローダー
着信ボイス

おすすめサイト

ダイエット

 美容・ダイエットならオマカセ!ダイエットNAVI

性病

 性病?お悩み・病院検索は性病マスター

暇つぶし

 いま、ヒマ?暇つぶしマスターで暇つぶし★

価格比較

 気になる商品の価格を比較!価格比較マスター

懸賞

 カンタン応募で豪華商品が当たる!アタックchance!

バイト

 駅チカバイトなら楽ラクバイト.com

求人

 地域を選んでバイト、仕事を探せる!!バリバリ仕事!.com

アルバイト

 バイトをこだわり条件で探す!こだわりキャリア.com

求人情報

 自分に合ったバイト探し★Myピッタリ仕事.com

バイト

 "資格"でバイト探し!天職さがそ!.com

バイト

 いいバイト、あるある!aruアルバイト.com

懸賞

 アタックchanceで懸賞チャレンジ!

産婦人科

 病院探し!病気相談なら産婦人科マスター

出産

 妊娠!出産!育児!赤ちゃんマスターでお悩み解決!

外為

 外為・為替レートをチェック!外為マスター

結婚

 結婚マスター!結納・両親・マリッジブルーノお悩みに…

先物

 先物・取引!詳しくなる!先物マスター

資格

 資格!キャリアアップ!資格GETマスター★

小説

 小説・書籍ならオマカセ!小説マスター

スポーツ

 スポーツ!健康!デトックス!スポーツマスターにオマカセ!

葬儀

 お葬式・葬祭のことなら・・・葬儀マスター

痩身

 ダイエット・デトックス・痩身!スリムGETマスター

脱毛

 パーフェクトBODY目指せ!脱毛マスター

着うた

 最新!人気!定番!うたマスターで着うたCHECK!

デコメ

 キラ系かわいいデコメCHECK!デコメマスター

転職

 履歴書・マナー・転職テク!就職情報なら転職マスター

バイク

 ハーレー!改造!バイクマスターにオマカセ!

派遣

 派遣!転職!キャリアアップ!転職マスター

ペット

 カワイイ犬・猫を飼いたい!ペットマスター

豊胸

 薄着の季節…お悩み解決!豊胸マスター

包茎

 包茎のお悩みなら…包茎マスター

レシピ

 今晩のおかず…料理・レシピならレシピマスター

モバグラMIXの人気キーワード

 モバグラMIXの人気キーワード一覧

外為

 外為情報をいち早く!外為LINK

求人

 転職・就活なら求人LINKにオマカセ!

金融

 金融業界の勉強するなら!金融LINK



 TOYOTA!HONDA!BMW!車のコトなら車LINK

モバグラMIXの人気キーワード2

 モバグラmixの人気キーワード2

  ■モバグラMXIの人気キーワード3

 モバグラMIXの人気キーワード3

  ■モバグラMIXの人気キーワード4

 モバグラMIXの人気キーワード4

  ■モバグラMIXの人気キーワード5

 モバグラMIXの人気キーワード5

  ■モバグラMIXの人気キーワード6

 モバグラMIXの人気キーワード6

  ■モバグラMIXの人気キーワード7

 モバグラMIXの人気キーワード7

  ■モバグラMIXの人気キーワード8

 モバグラMIXの人気キーワード8

  ■モバグラMIXの人気キーワード9

 モバグラMIXの人気キーワード9

  ■モバグラMIXの人気キーワード10

 モバグラMIXの人気キーワード10

  ■モバグラMIXの人気キーワード11

 モバグラMIXの人気キーワード11

  ■モバグラMIXの人気キーワード12

 モバグラMIXの人気キーワード12

モバグラMIXの人気キーワード13

 モバグラMIXの人気キーワード13

  ■モバグラMIXの人気キーワード14

 モバグラMIXの人気キーワード14

  ■モバグラMIXの人気キーワード15

 モバグラMIXの人気キーワード15

  ■モバグラMIXの人気キーワード16

 モバグラMIXの人気キーワード16

  ■モバグラMIXの人気キーワード17

 モバグラMIXの人気キーワード17

車査定

 車査定.com

献立レシピ1

 レシピが月額99円

献立レシピ2

 レシピが月額99円



~うた-LINK.com (05/21update) トップへ
(C)うた-LINK.com

モバイルSEO