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: Gopal V
Subject: Re: [DotGNU]CVM to machine code
Date: Sat, 26 Jul 2003 21:39:43 +0530
User-agent: Mutt/1.2.5i

If memory serves me right, Paolo Molaro wrote:
> > the CVM/unroller wins out . I have some code that mono takes 3 minutes
> > to execute that pnet does in under 250 msec ... So real life apps will
> 
> 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
such programs running around.

Jun 25 03:42:30 <t3rmin4t0r> hmm...
Jun 25 03:46:36 <tum> mono: 3:18:45
Jun 25 03:46:42 <t3rmin4t0r> 3 minutes ?

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 ..

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

But all that's out of context .... 

> > Allows tough opcodes to be implemented in C and the easy/common ones 
> > are unrolled ... lets people develop a JIT incrementally from the 
> 
> All the CLR JITs I know of (the mono one based on the code and the MS
> ones based on their published slides) can easily (and do) use helper
> functions to implement some opcode.

No what I meant was like , I could write an unroller with only the 
Arithmetic instructions unrolled ..and avoid needing call instruction
support ie just the arithmetic stuff ...

> 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 ;-)"

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 
5 flavours of ilrun builds , your perfomance might vary.

Anyway, always glad to know you're around. 

Gopal
-- 
The difference between insanity and genius is measured by success


reply via email to

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