[Mono-list] mono performance, 20x differential with Java (what am i doing wrong)

Jonathan Shore jonathan.shore at gmail.com
Sat Jan 30 07:59:43 EST 2010

On Jan 29, 2010, at 9:42 PM, Rodrigo Kumpera wrote:

> Implementing proper TCO in mono requires 2 things. First is to change the managed calling convention to
> have the caller pop its arguments. Then to lift any other few minor restrictions. Well probably have similar
> restrictions as MS's, such as no TCO on synchronized method.


> There is a not very usually explored bit of hidden performance in .NET which is
> runtime code generation. It is trivial to produce code that does runtime algorithm
> specialization. You can even do most of it at high level in C# using expression trees.

I used this facility a few yrs ago.  It's quite nice.   I think it was Reflect.Emit.   Basically took a finance related DSL and compiled it on the fly.   It's probably changed a lot since then.

> By the way, guys, the mono community is very welcoming to both external contribution
> and feedback. So if you guys make a compelling case for TCO, maybe Miguel can get
> someone to have it fixed.

Well, I'm not sure how to make a compelling case ; ), other than that to allow standard F# programs to execute on mono would require TCO.   TC's are a fundamental in F#.

I'm not sure how big the F# community is.  I would guess it is not that large at the moment, but seems to have a lot of growth.    F# joining the list of fully supported languages in VS2010 should attract much wider use.   Some of these users will be looking for a cross-platform solution.

If it counts for anything, would love to be able to use this on mono ;)

> Cheers,
> Rodrigo
> _______________________________________________
> Mono-list maillist  -  Mono-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list

More information about the Mono-list mailing list