4 つまたは 5 つの複雑なアセンブリ言語ではなく、1 つの単純なアセンブリ言語 (CIL) のみをターゲットにできるため、コンパイラが簡素化されます。
この利益を軽視してはなりません。x64 アセンブリは、ほぼ 40 年前の 8 ビット命令セットの拡張の拡張として、特殊なケースと設計上の欠陥に満ちています。対照的に、CILは魔法のユニコーンの虹です。
電話アプリを構築するためだけに複雑なクロスコンパイル ツールチェーンをセットアップする必要がなくなるため、開発が容易になります。1 つのライブラリがデスクトップとモバイルの両方で動作し、再コンパイルは不要です。
はい、コードの複数のバージョン (アーキテクチャごとに 1 つ) を 1 つのファイルにバンドルできます。Appleは、PowerPC から Intel への移行でこれを行いました。しかし、結果として得られるバイナリはしばしば大きくなり、モバイルではうまく機能しません。
最適化の範囲が広がります。AOT コンパイラでの最適化は、コンパイルするコードにのみ影響します。しかし、JIT での最適化により、すべてのプログラムが高速化されます。
JIT には、実行中のプログラム自体という追加の情報源もあります。プログラムがどのように実行されるかを監視することで、JIT は最も必要なコード領域をターゲットにすることができます。Java HotSpot VM は、この手法を広範に使用しています。
他にもメリットはあると思いますが、これは明らかなメリットです。