[Mono-list] CIL
Dietmar Maurer
dietmar@ximian.com
02 Sep 2002 22:09:12 +0200
On Mon, 2002-09-02 at 21:22, Zaphod wrote:
> Mono is using a JIT , which is fast for repeated method calls ... JIT'ing
> is a costly process ... The pnet's hotspot optimisation does something like
> optimise only the frequently executed instructions ... For example , the
> arithmetic,logical and load/store operations are "unrolled" into x86 code.
> But method invocations may not be ... So in effect the overhead of full
> JIT'ing is avoided . (an example would be tail calls ...)
we also plan to use a two phase jit process, i.e. to to a fast jit run
first, and only do an expensive, highly optimizing run on frequently
used methods (like Intel ORP).
>
> > And _if_ this indirection is faster: Why don't mono the same?
>
> A full JIT performs well in a single platform .... 'mono' is faster , but
> 'mint' is slower than pnet ...
well, please provide profiling data here!
>
> > And if it is _not_ faster (what I think): Why choose p.net this way?
>
> for the "p" --> portability ... using a faster interpreter allows pnet
> to become easily portable...than mono which needs to produce the .brg
> and trampolines for each platform...
our .brg file are quite easily portable. But apart from that we have
even defined a .brg file which translates IL to an IR which is well
suited for interpreter. We dumped that approach because its not really
faster than the current interpreter, but much harder to debug. And
mainly because there are some standard tools to implement fast
interpreters, like vmgen. But performance was not the goal for the
interpreter, instead it must be easy.
>
> > And where is the advatage of p.net in comparison to mono?
>
> A compiler which does not need itself ? (I'm joking !)... And of course
> a C compiler which compiles to IL ...
>
> > I don't see any advantage. (I have never understood, why the p-net project
> > exists, because there exists mono)
>
> Well pnet is a GNU project ...
the whole mono code is LGPL/GPL, so what is the advantage?
and of course it was the first to start.
thats true.
- Dietmar