実行時コンパイラ
JITコンパイルを用いた場合、適応的コンパイルをしてさえも、ジョブの初めに共通的なクラスのコンパイル処理が何百回と行われる。処理件数が少ないので、クラス群の多くはコンパイル効果が出る前に、あるいはコンパイルさえされないうちにジョブが終わってしまう。その結果、ユーザロジックよりこうしたオーバヘッドにCPUなどの資源が消費されてしまう。処理件数によってJIT/AOTの有利不利が変わるが、使い分けるのは難しい。
また、(Javaについていえば)AOTコンパイラを通常適用しにくい。これらの理由で、性能面ではマイナスな場面でも一般的なJITコンパイラを使用していることがある。長時間のバッチジョブおよびオンラインでは、JITコンパイラ、特に適応的コンパイルが概してフィットしている。適応的コンパイルの最適化のために、何回実行されたらコンパイルするといったパラメタが用意されているものもある。パラメタチューニングは万能ではないとしても重要である。