【じっとこんぱいる】
JITコンパイル とは?
💡 走りながらコードを最適化する、現代の"即席職人"。
📌 このページのポイント
走りながら準備するみたいな感じなんだね!でも遅くなりそう…
最初はちょっと遅いんだよ。でも「このコードは何度も使われてる!」と判断したら、その部分を特別に最適化してコンパイルするから、しばらくすると超速くなるんだ。
どんなところで使われてるの?
JavaのHotSpot JVMやJavaScriptのV8エンジン(ChromeやNode.jsで使われてる)が有名だよ。特によく使う関数を検出して、ネイティブコードに置き換えていくんだ。
AOTコンパイルとはどう違うの?
AOTは事前に全部コンパイルするから起動は速いけど、実行時の情報を使って最適化できないんだよ。JITは「このデータは整数ばかりだ」みたいな実行中の情報を活かして、より深く最適化できるんだね。
まとめ:ざっくりこれだけ覚えればOK!
「JITコンパイル」って出てきたら「実行しながらコードをその場でネイティブ化する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Just-In-Time Compilation」 = ちょうど間に合うコンパイル
💬 製造業の「必要な時に必要な分だけ生産するJIT方式」から名付けられたんだよ。コードも「必要な時に必要な分だけ」コンパイルするイメージだね。