.NET Performance – Steadily Climbing
When Microsoft first released the .NET 1.0 Framework, it was Java with a different name, slightly better performance, and a variety of different syntaxes to go along with it. But all that is changed now. The initial release was closely followed by a 1.1 release (.NET 2003) that focused on code reliability and performance, with minor upgrades to the languages, and two years later with .NET 2.0 – the biggest upgrade since.
Many people still believe the age-old myth about virtual machines running slower, but with .NET 2.0, it has certainly been debunked. .NET applications have integrated MSIL code optimizations and serious performance boosts via the underlying platform. While the overhead of running a virtual machine will never allow it to be as fast as 100% native code with serious effort and focus on optimization, it’s nowhere near as slow as it’s purported to be, and is faster than a standard un-optimized C++ application… But it’s the memory that hurts.
The entire .NET platform is individually loaded into the memory for every application you run, in its own private unshared memory space. But besides the overhead of the .NET Framework being pre-loaded into the memory space, .NET’s automated garbage cleanup far surpasses Java’s in terms of magnitude and “intelligence” and for larger applications can prove to be more efficient in terms of memory handling even with the overhead (stats to follow).
But what matters most is that the people maintaining the engine are the same as those maintaining the operating system. That certainly is true for Microsoft, and quite a few members of the Mono project also develop *nix OS code – but for the open source platforms that isn’t as essential since the code is there for the world to see. But for Windows, it makes a big difference. When Microsoft is the sole maintainer of the .NET platform and is dedicated to keeping it up to scratch, with the same code used in the native applications and the Windows OS itself, it can only mean better and more compatible performance for everyone.