Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
動的コンパイルとは - わかりやすく解説 Weblio辞書
[go: Go Back, main page]

動的コンパイルとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > 動的コンパイルの意味・解説 

動的コンパイル

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/07/16 13:37 UTC 版)

動的コンパイル(どうてきコンパイル、英語: Dynamic compilation)とは、プログラミング言語の実装で用いられる、プログラムの性能を実行時に向上させるための手法である。この技術はSelf(プログラミング言語)を起源としており、これを用いる最もよく知られた言語はJavaである。動的コンパイルはランタイムにのみ知ることができる情報による最適化を可能にする。

通例動的コンパイルを用いる実行環境英語版は、プログラムを開始後最初の数分間は低速で実行し、その後コンパイルと再コンパイルが完了すると、高速に実行する。このように開始直後パフォーマンスが低いことにより、動的コンパイルが好ましくない状況も存在する。また動的コンパイルの大半の実装では、初回のコンパイル時に実行可能な最適化も実行時に更なるコンパイルが行われるまで遅延させるため、不要にプログラムの動作を遅延させてしまうことがある。ジャストインタイムコンパイル(JITコンパイル) は、動的コンパイルの形態の一つである。

密接な関連のある技術として、増分コンパイルがある。増分コンパイラ英語版は、POP-2英語版POP-11英語版Common LispなどのLisp、またML(プログラミング言語)の少なくとも一つのバージョン(Poplog英語版)で用いられている。

増分コンパイルでは、対応するプログラミングのコンパイラが実行時環境の一部となっている必要がある。それゆえ、ソースコードは、端末や、ファイル、あるいは動作中のプログラムによって作成されるデータ構造からいつでも読み取り可能で、機械語コードや関数に変換ができ(同じ関数を置き換えることもできる)、即座にプログラムから利用可能になる。対話的な開発やテストの際のコンパイル速度への要求から、コンパイルされたコードは通常の「バッチ型コンパイラ」ほどの強い最適化は行われない。しかし、増分的にコンパイルされたプログラムは同じプログラムのインタプリタ版よりは高速に動作する。増分コンパイルはインタプリタ言語とコンパイル言語の双方の利点を備えている。移植性をもたらすため、一般的に増分コンパイラの動作は二段階に分かれることが望ましい。最初のコンパイルで何らかのプラットフォーム非依存の中間コードを生成し、次にこれをホストマシンの機械語コードにコンパイルする。上述の動的コンパイルとは異なり、増分コンパイルはプログラムが最初に動作した後に更なる最適化が行われることはない。

関連項目

  • トランスメタのプロセッサは、x86コードをVLIWコードに動的にコンパイルする。
  • 動的再コンパイル英語版(英: Dynamic recompilation

外部リンク




英和和英テキスト翻訳>> 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