BT

Mono Gets Further Performance, Scalability Improvements

| by Roopesh Shenoy Follow 0 Followers on Sep 10, 2014. Estimated reading time: 2 minutes |

Mono 3.8.0 was released last week. It comes with several performance and scalability improvements across the runtime, as well as finishes the Windows port.

Mono follows Gnome and Linux Kernel versioning policies, which means 3.8 is the next major stable version after 3.6 (which was released just last month). It comes with several performance improvements -

  • JIT better handles long remainders by powers of two, generating significantly better code. Long remainders were not handled specially earlier, like Int remainders were. (Generally, multiplication/division by powers of two are replaced by shift operators as a compiler-optimization)
  • Faster code for delegates that are invoked only once - especially helps C# features which use delegates under-the-cover, such as async and LINQ
  • Runtime gets a new, concurrently readable hashtable, allowing reflection heavy workloads to scale beyond single CPU
  • GC time reduced by 5-10%

The community is especially excited by continued performance improvements from Mono, release after release. Richard Simpson summarizes it -

Seriously impressive release by the Mono Team. Biggest knock I hear against Mono is performance.

The version also sees several debugging improvemens, especially for USB Debugging. Considering cross-platform, mobile development is a major use-case for mono, this is a welcome improvement. The debugging wire-protocol now handles high latency connections better. The client library also caches a lot more aggressively. This reduces number of packets transferred, thereby reducing debugging latency. This dual change promises a much better debugging experience when using Xamarin tools for cross-platform mobile development. 

Apart from this, there are several bug fixes, across the Runtime, the Class libraries, the C# compiler, MSBuild and the Debugger - overall improving stability, as well as performance. You can see the release notes for a full list of changes.

Mono 3.6 was not available for all platforms, especially Windows, and non-Debian Linux variants. This release, on the other hand, is available for more Linux variants. The release notes mentions that the port to Windows 64 is also complete. However, the windows installer is still not available on the mono website and you will have to build from sources to get the latest binaries for Windows.

Mono, sponsored by Xamarin, is an open source implementation of Microsoft's .NET framework. It especially makes cross-platform development possible using C#, F# and other .NET languages. Xamarin builds cross-platform development tools on top of mono, as well as framework products such as Xamarin.Forms (which help create native experiences with cross-platform code). Both of these have seen consistent adoption from developers (Xamarin recently raised $54 million in Series C funding to continue building on this). The company has also been working with Microsoft to improve the compatability story between .NET and Mono. The ASP.NET vNext effort (especially the KRuntime) is one result of this collaboration; it can work well with both .NET and Mono runtimes.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Reddit thread by Roopesh Shenoy

FYI, the conversation on reddit.

www.reddit.com/r/programming/comments/2g20cj/mo...

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

1 Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT