【エーオーティーコンパイル】
AOTコンパイル とは?
💡 前日に準備しておけば、朝の支度はあっという間!
📌 このページのポイント
AOTコンパイルって何なの?
プログラムを実行する前に、あらかじめ機械語に変換しておく方式のことだよ。お弁当を朝作るんじゃなくて、前日の夜に作っておくイメージだね。
JITコンパイルとは何が違うの?
JITは実行中にその場でコンパイルするけど、AOTは実行前に全部済ませておくんだ。だからAOTは起動が速い代わりに、実行中の最適化はできないんだよ。
どんなところで使われているの?
じゃあ全部AOTにすればいいんじゃないの?
AOTだと実行時の情報を使った最適化ができないから、長時間動くサーバーアプリではJITの方が速くなることもあるんだよ。場面に応じて使い分けるのが大事だね。
最近はAOTが注目されているって聞いたけど、なんでなの?
まとめ:ざっくりこれだけ覚えればOK!
「AOTコンパイル」って出てきたら「実行前にまとめて機械語に変換しておく方式」と思えればだいたいOK!
📖 おまけ:英語の意味
「Ahead-Of-Time Compilation」 = 事前コンパイル
💬 Ahead-Of-Time は「前もって」という意味で、実行より前(ahead of time)にコンパイルを済ませておくことを表しているよ