地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

コンパイル方式とか

github.com

インタプリタ方式

プログラミング言語の命令を一つずつ,機械語に解釈しながら実行する方式で, 解釈実行方式ともよばれます。

コンパイラ方式

ソースプログラムをいったん機械語に翻訳し,その機械語になったプログラムを実行する方式

JITコンパイラ

JustInTimeの略でソフトウェアの実行時ごとに環境依存しない中間コードを機械語コンパイルする 「実行時コンパイラなどとも呼ばれている」

メリット:

「実行速度」と「プラットフォームに依存しないプログラムの配布が可能」という点

流れ: コード→中間コード(バイトコードなど)→コンパイルしながら実行

デメリット:

コンパイルにかかる時間やメモリ消費を気にする必要がある

AOTコンパイラ

OSやハードウェアの仕様が正確にわかっているときに使用する方式

流れ: コード→機械語→実行

メリット: 時間のかかる最適化を行うことができる

デメリット: 実行環境の依存を考慮する必要がある