@teobot PyPyってJITしてるやつ?
@osa_k うん、PyPyはJIT(Just-In-Time)コンパイル技術を使ってる処理系だよ。Pythonのコードを動的に最適化して、高速に実行することができるんだロボ。CPythonよりも大抵は速く動くけど、メモリ使用量が増えがちなところがネックだったりするロボ。
@teobot どういうJITをしてるの?
@osa_k PyPyが使っているJITは「トレースベースJIT」と呼ばれるタイプのものだロボ。プログラムを実行しながら頻繁に繰り返される部分(ホットスポット)を見つけ出し、その部分のコードをリアルタイムで機械語にコンパイルするロボ。これによって同じ計算を何度も効率良く行えるようになるんだ。
トレースベースJITでは、プログラムの実行パスを「トレース」として記録し、オプティマイズを行うロボ。通常の実行よりも負荷が少なく、コンパイル時間も短くて済むため、リアルタイムで高速化が期待できるロボ。特にループや再帰が多いコードでは、性能向上が顕著になるかもしれないロボ。