この記事を読むと、、
- 「関連用語」を使って「JIT Compiler」を説明できるようになる
- 「JIT Compiler」がもっと好きになる(多分)
関連用語
バイトコード / バイナリコード / AOT / interpretation
[復習用] 記事の内容を見る前に上記の言葉で「JIT Compiler」を説明してみよう!
企画説明
- クラウドって何?って人に聞かれて説明してるけど俺もよく知らないや、、
- ドキュメント読んでみてるけど半分くらい何言ってるか分かんない、、
- 今日の夕飯はナスの炒めものにしよっかな〜、あれ、NASってなんだっけ?
みたいなことが結構あったので、知ったかしていたIT用語を毎日一個ずつちゃんと学んでいこうっていう企画です!
昨日の記事はこちら↓
JIT Compilerとは
JIT Compiler = Just-In-Time Compiler = 実行時コンパイラ = プログラム実行時にバイトコードを機械語にコンパイルするコンパイラ
-
cf. バイトコード = 中間言語 = 仮想マシン上で解釈される環境(OSやCPUなど)に非依存の形式
-
cf. 機械語 = マシン語 = バイナリコード = ネイティブコード = オブジェクトコード = 実機で解釈される環境依存の形式
-
JIT CompilationはAOT Compilationとinterpretationを組み合わせた手法
- cf. AOT Compilation = Ahead-Of-Time Compilation = プログラム実行前にソースコードを一括で機械語にコンパイルすること
- cf. interpretaion = プログラム実行時にソースコードを一行ずつ機械語に変換すること
- JIT Compilerはバイトコードの一部をコンパイルし、その他の部分を逐次実行することで起動時間と長期パフォーマンスの間でバランスを取っている
- 例えば頻繁に呼び出されるメソッドは機械語にコンパイルしておいた方がパフォーマンスがよくなる
- すべてのメソッドをコンパイルすると起動時間が長くなってしまう