tk_onoの技術ブログ

技術、思考系

JITコンパイラについて20分で調べたこと

今日の社内勉強会でJITコンパイラという単語が出てきて、そういえば名前だけ知っててどういうものか知らないなと思ったので、渋谷から横浜までの電車に乗ってる間に調べたことをメモしておく。


間違ったこと書いてたらごめんなさい。

情報源はWikipediaです。


・実行時に機械語にコンパイルして実行する
・一方、インタープリタは実行するたびに解釈しながら実行する
・コンパイルするのに余計な時間がかかるが、実行速度は速い
・実行時にコンパイルするので時間的制約がある。よって事前にコンパイルするのと比べて高度な最適化はできない
・事前コンパイルと比較した利点はコードの配布が容易な点と、実行環境が具体的にわかった状態でコンパイルできるので細かい最適化 がしやすい点
・またやり方として、最初から全部のコードを対象にコンパイルする方式と、インタープリタ方式で実行しながらよく実行されるコードをコンパイルする方式がある
・コンパイルした結果を保持するためのメモリが必要
・変数の型、オブジェクトのプロパティが安定してると速度が出やすい

Evernoteに書いてコピペしたら箇条書きの点が消えて悲しくなった。