ものがたり(旧)

atsushieno.hatenablog.com に続く

AOT

mono 1.1.18の頃には、AOTの扱いが変わるかもしれない。AOT = ahead of time compilerってナニ?という人は、ngenだと思ってもらえばOK(余計分からないかも)。CILを事前に全て実行しているCPUのネイティブコードにしてしまおう、というのがahead of time == 「事前」コンパイラだ。

このAOT、実はほとんど使われていない。たぶん最大の理由は、事前にコンパイルしているのに、JITよりも動作が遅いというところにある。いや、正確に言えば、あった。

しかし、最近(と言ってももう数週間前かな)のZoltanの修正で、AOTまわりは大幅に改善されて、特に64ビットx86の環境では、AOTed mscorlibの方が、JITted mscorlibよりも速いという。そんなわけで、コレをもちっと活用できないかね、という話が今ちょっとだけ進んでいる。まあ、まだどうなるかは分からないけど。

追記: 話がどんどん大きくなって(?)きて、どうやら根本的に変える必要のある部分もあるそうなので、mono 1.2以降の話になりそうだ。