[Mono-list] Re: The Mauve unicode testcase and VM performance

Miguel de Icaza miguel@ximian.com
Wed, 14 Apr 2004 11:50:49 -0400


> <snip/>
> > Interestingly, my installation of mono (from debian sid) doesn't even 
> > come with its own libraries AOT'd. I'd have thought that you'd get the 
> > best performance by AOT'ing *all* the libraries, including (and 
> > especially) the low-level platform ones such as System.dll and 
> > System.Xml.dll.
> AOT (or pre-JITing) assemblies is not as useful as you'd think.  It has
> two primary effects:
>   - Reduce memory requirements, as memory doesn't need to be allocated
>     for the JITed code
>   - Decrease startup time, as (again) the JITing doesn't need to be 
>     done.

Another effect is that you can run the most time consuming
optimizations on those assemblies.   For example, using AOT with -O=all
on mcs.exe gives about 15% performance increase:

	mono --aot -O=all /usr/bin/mcs.exe

If you also apply this to mscorlib and System, you get another 7-12%.  
Useful when you are doing a lot of compilations.