差分

ナビゲーションに移動 検索に移動

インタープリター

2,103 バイト追加, 2021年11月29日 (月) 05:08
ページの作成:「'''インタープリター'''(英語:interpreter)とは、日本語に直訳すると「通訳者」のことであり、コンピューターの世界で…」
'''インタープリター'''([[英語]]:interpreter)とは、日本語に直訳すると「通訳者」のことであり、[[コンピューター]]の世界では[[ソースコード]]や[[中間言語]]を[[機械語]]に同時通訳しながら実行するものをいう。

最近はより新しいものに見せかけ[[ソフトウェア]]の販売を促進する目的で「[[仮想マシン]]」などと呼ばれることも多い。

「翻訳と実行」を同時に行うため、実行速度はどうしても遅くなる。

== ハイブリッド方式 ==
最近はインタープリターと[[JITコンパイラー]](起動時にコンパイルする方式)のハイブリッド形式が主流である。

ハイブリッド方式では、アプリを起動した瞬間はインタープリターで即座に実行を開始し、その裏でJITコンパイラーがゴリゴリに最適化を施したコンパイルを行い、何事もなかったかのように動作を切り替えるというものである。

インタープリター方式はアプリの「実行速度」が遅い。

一方、AOTコンパイル方式は「実行プラットフォームの性能を100%引き出せない」という欠点がある。ソフトウェアが「i386向け」だとi486やPentiumの新機能は使われないのである。

一方、JITコンパイル方式はアプリの「起動速度」が遅い。また、この起動速度の遅さを改善するため[[AOTコンパイル]]ほど最適化に時間を掛けるわけにもいかない。

つまり理想は「AOTコンパイル並の最適化をJITコンパイルで行う」方式である。しかしアプリの起動に30分も1時間もかかったら大事件だわな。

そこでハイブリッドだ。最近のJava仮想マシンなんかは「インタープリター」「JIT(ちょい最適化)」「JIT(鬼最適化)」という多段階のハイブリッドらしいぞ。
<br />

== 関連項目 ==

* [[インタープリター]]
* [[コンパイラー]]
* [[JITコンパイラー]]

案内メニュー