Linked by Eugenia Loli on Sat 29th May 2004 15:39 UTC, submitted by t3rmin4t0r

Permalink for comment
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.
> "jit'd programs will always be slower than compiled ones"?
For the same algorithm ... yes, probably JIT'd programs will be slower than compiled ones , even with ahead of time compilation , because the standard VMs implement a lot of locks and safety checks which compiled code may or may not.
But the point here is that we're comparing two different algorithms ...
Mono's C# compiler -- C# code to IL binary in memory with Reflection.Emit
Portable.net's compiler -- compile C# to IL assembly (in textual form) , assemble IL to .obj , link .obj to .exe
Portable.net has essentially quite a bit more overhead to it than MCS , but on the other hand it can compile things like Managed C because the linker phase will allow to move around functions like C needs (imagine a missing prototype scenario). Imagine a gcc for .NET , that's what Portable.net is building ....
Someday Portable.net's going to avoid the three stage compile for C# ... and then it's going to be a hell of a lot faster . (ie 55% of assembly time is spent in parsing, which could be avoided).
Finally it doesn't have a dependency on the JIT or anything else, which makes building the standard libraries a lot easier ... (ie you don't need a copy of cscc to build cscc).
But as of today , it just is ...