「インタープリター」の版間の差分
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) |
||
| (同じ利用者による、間の1版が非表示) | |||
| 6行目: | 6行目: | ||
== ハイブリッド方式 == | == ハイブリッド方式 == | ||
最近はインタープリターと[[JITコンパイラー]] | 最近はインタープリターと[[JITコンパイラー]](起動時に[[コンパイル]]する方式)のハイブリッド形式が主流である。 | ||
ハイブリッド方式では、[[アプリ]]を起動した瞬間はインタープリターで即座に実行を開始し、その裏で[[JITコンパイラー]]がゴリゴリに最適化を施した[[コンパイル]]を行い、何事もなかったかのように動作を切り替えるというものである。 | |||
インタープリター方式はアプリの「実行速度」が遅い。 | インタープリター方式はアプリの「実行速度」が遅い。 | ||
[[AOTコンパイル]]方式は「実行プラットフォームの性能を100%引き出せない」という欠点がある。たとえば[[アプリ]]が「[[i386]]向け」だと[[i486]]や[[Pentium]]などで追加された新機能は使われないのである。 | |||
JITコンパイル方式はアプリの「起動速度」が遅い。この起動速度の遅さを改善するため[[AOTコンパイル]]ほど最適化に時間を掛けるわけにもいかない。 | |||
つまり理想は「AOTコンパイル並の最適化をJITコンパイルで行う」方式である。しかしアプリの起動に30分も1時間もかかったら大事件だわな。 | つまり理想は「AOTコンパイル並の最適化をJITコンパイルで行う」方式である。しかしアプリの起動に30分も1時間もかかったら大事件だわな。 | ||
| 22行目: | 22行目: | ||
== 関連項目 == | == 関連項目 == | ||
* [[インタープリター]] | * [[インタープリター]] | ||
* [[コンパイラー]] | * [[コンパイラー]] | ||
* [[JITコンパイラー]] | * [[JITコンパイラー]] | ||
[[category: プログラミング]] | |||