[Top][All Lists]
[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 13:49:02 +0200 |
User-agent: |
Mutt/1.5.4i |
On 07/26/03 Gopal V wrote:
> > Will it not be in-effcient in terms of speed (comparing with JIT)?
>
> If you are talking about a tight loop, yes ... but a JIT takes a lot
> more time to convert IL to native code. Thus in total execution time
> 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.
> 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.
> Speed of development -- it took rhys less than 2 weeks to do up this
> entire x86 unroller and 4 days (?) for the ARM stuff. Compare that
> to the 5 months it will take for a team of 4 to get even HelloWorld
> working on a traditional design JIT (you know ;) and still not be
Are those numbers for what JIT? FWIW, the mono JIT after 4 months of
development by two people (not working full-time on it) was not only
able to run hello-world, it was also used to *compile* the programs
using the mcs managed C# compiler.
> able to double our performance (we're almost 70% of JIT performance).
Again, evidence speaks more than ranmdom numbers:-)
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.
Thanks.
lupus
--
-----------------------------------------------------------------
address@hidden debian/rules
address@hidden Monkeys do it better