メインメニューを開く

差分

インタープリター

33 バイト追加, 2021年11月29日 (月) 05:12
編集の要約なし
== ハイブリッド方式 ==
最近はインタープリターと[[JITコンパイラー]](起動時にコンパイルする方式)のハイブリッド形式が主流である。(起動時に[[コンパイル]]する方式)のハイブリッド形式が主流である。
ハイブリッド方式では、アプリを起動した瞬間はインタープリターで即座に実行を開始し、その裏でJITコンパイラーがゴリゴリに最適化を施したコンパイルを行い、何事もなかったかのように動作を切り替えるというものである。ハイブリッド方式では、[[アプリ]]を起動した瞬間はインタープリターで即座に実行を開始し、その裏で[[JITコンパイラー]]がゴリゴリに最適化を施した[[コンパイル]]を行い、何事もなかったかのように動作を切り替えるというものである。
インタープリター方式はアプリの「実行速度」が遅い。
一方、AOTコンパイル方式は「実行プラットフォームの性能を100[[AOTコンパイル]]方式は「実行プラットフォームの性能を100%引き出せない」という欠点がある。ソフトウェアが「i386向け」だとi486やPentiumの新機能は使われないのである。引き出せない」という欠点がある。たとえば[[アプリ]]が「[[i386]]向け」だと[[i486]]や[[Pentium]]などで追加された新機能は使われないのである。
一方、JITコンパイル方式はアプリの「起動速度」が遅い。また、この起動速度の遅さを改善するためJITコンパイル方式はアプリの「起動速度」が遅い。この起動速度の遅さを改善するため[[AOTコンパイル]]ほど最適化に時間を掛けるわけにもいかない。
つまり理想は「AOTコンパイル並の最適化をJITコンパイルで行う」方式である。しかしアプリの起動に30分も1時間もかかったら大事件だわな。