It's amazing how much misinformation is spread by some people in this thread. Probably has to do with this:
So you read a little? Nice.
Here's some more reading material:
1. Mono is using a tweaked version of the
Boehm GC, which happens to be one of the best OSS garbage collectors in existence.
2. Novell has been working on a faster, generational, Mono-specific GC since at least 2008 (just to give you an idea of what it takes to outperform Boehm). The new GC will ship with Mono 2.8.
3. You can compile a C# app on .Net and run the exe on Windows/Linux/Mac. You can compile the same C# app on Mono and run the exe on Windows/Linux/Mac.
4. Even though .Net/Mono binaries are have an 'exe' suffix, they are not win32 executables. No need to recompile and no need to emulate anything in order to run them on Linux.
5. You can compile a Mono binary into native code. You lose the portability benefits of the .Net/Mono bytecode but you gain in startup performance and memory usage.
6. If Mono is fast enough for
Unity3d on devices as limited as the iPhone, then it certainly is fast enough for me.