[Mono-list] JVM performance: JVM as a basis for CLR

Rhys Weatherley rweather@zip.com.au
Mon, 23 Jul 2001 11:30:19 +1000

Miguel de Icaza wrote:

> Rhys,
> > The reason why Miguel is seeing the Mono beat
> > the pants off the JVM is very simple: VM size.
> I do not.

I stand corrected.  The Laws of VM Performance are
still are useful guideline though, to prevent deluding
oneself as to the true performance of a system.

> I think we can do better than traditional macro expanding JITs still
> by using traditional instruction selection in our JIT.

Have you investigated HP's Dynamo project?  They got
very good performance through dynamic re-optimization
rather than static "compile once, run many" techniques.
They start with simple code translation, and work their
way up as a profile of the program's runtime is built.
I believe Sun was trying something similar with HotSpot.

An oddity of their system is that an intepreter + JIT is faster
than a JIT alone!  The (main) reason for this is that many
functions, especially initializers, are only called once and it
is faster to interpret them than JIT them and then run them.