dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DotGNU]CVM to machine code


From: Paolo Molaro
Subject: Re: [DotGNU]CVM to machine code
Date: Sat, 26 Jul 2003 20:19:09 +0200
User-agent: Mutt/1.5.4i

On 07/26/03 Gopal V wrote:
> > Care to post the code? Your claims will be stronger if you post the
> > evidence. While what you claim could happen (with an old
> > release of mono), I doubt it's a JIT issue, if it really happens it's
> > more likely a library or runtime issue.
> 
> I got the code from Tony Garnock-Jones (and have lost it too) and it 
> was not I who got 3 minutes on mono ... it was a single 170k method , 
> obviously leaning towards favouring interpreters .. so you really have
> no reason to complain :-) ... but there are compilers that pump out

I'm not complaining. I'm just interested in facts on the _current_
version of mono.

> with mono .24 ( or maybe it was CVS , anyway current then, I see that 
> you've released 0.25 which might mean it's not an issue now)... tests 
> with mono here didn't run that code and my pnet gave 220 msec (PIII 450, 
> 64M). And pnet proved to be even faster than MS .NET on this test case
> too ..

Yes, the current mono, if built with optimizations (gcc -O2) will run
the test Tony gave me in about 3 seconds on your machine, a time
comparable to that of the MS JIT. Almost all of it is spent in the JIT,
so in this case there is significant overhead in jitting. AFAIK, Tony
changed his compiler to produce better code, anyway.
I kept his binary, though, for when I'll start optimizing for JIT time.
I should also note that a current ilrun doesn't execute the code as mono
and the MS runtime do (they print some TRACE messages that ilrun does
not), so I guess ilrun is missing something yet (though I don't think it
would change the run time much).

> looking at mono archives this was reported there as well, and you have
> commented on that too ?... last month ?
> 
> http://lists.ximian.com/archives/public/mono-list/2003-June/014259.html
>  
> And I'm surprised that you should take offence, because that "conversion 

I'm not offended, I was interested in hearing about this 3 minute thing,
I'm glad to hear it's just an old issue.

> time" comment was a general JIT thing... ie tree building , nlg(n) ... 
> the code being an accidental example of how to fool a JIT :) . 

FYI, tree building is linear, the issue was related to liveness
analysis.

> > The mono JIT is from 3 to 10 or more times faster than ilrun on all the
> > benchmarks I tryed. Other JITs are even faster. Feel free to try
> > scimark, linpack, the benchmarks in the mono cvs, and even pnetmark.
> 
> Requote :
> "But find me a benchmark that's not a tight loop ;-)"

Good benchmarks are not just tight loops (unless they are benchmarks to
test just loop optimizations), but they match some common patterns in
applications.

> Also the pnetmark suite (and other benchmarks inside that module) 
> measures time inside the run, not total execution time .. ie does 
> not include "conversion" time  or loading time. And there are about 

Total jit time for pnetmark is 0.26 seconds, for a test that lasts about
50 seconds: it's irrelevant.

> 5 flavours of ilrun builds , your perfomance might vary.

Mono is about 3 times faster than the fastest ilrun build, the others
are 5 or more times slower.

Thanks.

lupus

-- 
-----------------------------------------------------------------
address@hidden                                     debian/rules
address@hidden                             Monkeys do it better


reply via email to

[Prev in Thread] Current Thread [Next in Thread]