I've been testing the new GC and its performance is pretty good. It will replace the old one in a few months.Oh, and Mono's garbage collector? It sucks. It's far worse than Java's, even if you go back and use Java versions from the mid-90s. The new "--gc=sgen" option should bring it closer to the JVM in performance, but it's still experimental.
Nope, sorry. Oracle is not suing Google because Dalvik has anything in common with .Net. They are suing because Java is much less open than they would like you to believe.Funny you should say that. It turns out that the Dalvik VM that Oracle are suing Google over has far more in common with .Net and Mono than it does with the JVM.
It is impossible to create a valid, open-source Java implementation. Look up the bitter history behind Apache, Sun and project Harmony, if you don't believe me. Sun (and now Oracle) just barely tolerates OpenJDK and makes it almost completely impossible to re-implement the spec independently.
Check this blog for an in-depth analysis of the situation: http://www.jroller.com/scolebourne/
*You* don't have to worry. Novell does.So if you use Mono, not only do you have to worry about Microsoft's patents on .Net, you have to worry about Oracle's patents on Java too! (Whereas if you use the JVM, neither of these is an issue - there's a patent license for Oracle's patents and Java predates Microsoft's patents.)
Those patents are likely to apply equally well to any modern VM. The only reasonable course of action is to ignore them completely.
You can certainly construct corner cases where Python performs better than Mono, but Mono tends to perform significantly better in the well-optimized case (value types and/or memory pooling to avoid runtime allocations). Using sgen, you can also get away with some pretty crazy stuff, like hundreds of gen-0 allocations.Depends on how exactly your app is affected by the garbage collection penalty, I think. For software that needs to avoid the latency created by periodic GC, creates a lot of short-lived objects, or worse still does both, Mono could actually be worse than Python.
But memory latency is only part of the picture and stuff like threading do favor Mono a lot.