Mono 2.2 may overtake .NET in some critical categories
Meeting another milestone for the open source effort to extend Microsoft's .NET platform outside of Windows, the Mono Project -- backed by Novell, but with a little help from Microsoft too now and then -- is celebrating the release of version 2.2 this week.
Perhaps the most important addition to this latest release is full support for SIMD (Single Instruction / Multiple Data) extensions, which should provide orders of magnitude in performance improvements for developers who are building .NET games -- and there are more of these developers in high places than you might think -- to run cross-platform. "When the Mono runtime's SIMD optimization are active the operations on the structures defined in this namespace are mapped to hardware operations which can improve the performance of your graphics, multimedia or 3D operations significantly," reads a recent edition to Mono's online documentation.
An October 2008 demonstration at PDC by Mono's lead developer, Miguel de Icaza, demonstrates the speed explosion up-close. The graph depicts the standard Mono common language runtime's ability to do sophisticated 3D graphics, and when you're talking about time, you don't want to be the bar on the bottom of the chart. But there it is, and obviously, compiled C++ will be much faster. But look at the tiny little pair of bars at the top: That's Mono with SIMD extensions.
What's very, very interesting about this development is that it places Mono in a class that's conceivably above even .NET itself. Game developers may even consider writing for Mono for Windows instead of .NET for this very reason. As InfoQ's Jonathan Allen put it, "Mono is outgrowing the standard. Mono is not just playing catch-up any more, it is trying to move past the CLR in many areas. And as an open source project, they can slip in new libraries at a much faster clip than Microsoft."