LLVM プロジェクトを使用したMonoは、C# .NET プロジェクトをコンパイルするための非常に強力な最適化を備えた LLVM コンパイラ バックエンドを使用できます。これにより、計算負荷の高いアプリケーションで約 20% 高速に実行できます。
Mono は、Mono の組み込み JIT コンパイラーに加えて、コード生成のバックエンドとして LLVM を使用できるようになりました。これにより、Mono は LLVM で行われるすべてのコンパイラ最適化の恩恵を受けることができます。たとえば、SciMark スコアは482から610になります。
では、既存の C# .NET プロジェクトをターゲットにして Mono/LLVM を使用し、Windows または Unix 用のより高速なアプリケーションを取得することは可能ですか? それはとても簡単ですか、それともアプリケーション コードをリファクタリング/変更する必要がありますか? これは通常の .NET Framework でも動作しますか、それとも Mono Framework プロジェクト専用ですか? これを考慮して、次のように述べられました。
この余分なパフォーマンスには代償が伴います。LLVM を使用して JIT コンパイルを行うと、より多くの時間とメモリが消費されます。