Posted by: Leah Rosin
.NET, JIT engine, Linux, Mono 2.4, Novell, SUSE/Novell
As part of the Web 2.0 Expo in San Francisco, Ca. today, Novell announced the availability of MonoDevelop 2.0 and Mono 2.4. MonoDevelop 2.0 is an open source integrated development environment for programming with C# and other languages. Mono 2.4 is the latest release of the open source, cross-platform .NET application framework that powers the SUSE Linux Enterprise Mono Extension.
“By making .NET application development and deployment accessible for Linux, the Mono project is committed to expanding ISV and corporate developers’ options beyond the Windows platform,” said Miguel de Icaza, vice president of Development Platforms at Novell and leader of the Mono project. “With the newest releases for Mono and MonoDevelop, we continue to improve and extend the development tools and framework to deliver on this goal. The features and functionality available in this release are allowing developers to increase the number of .NET applications that are built and run on Linux.”
Mono 2.4 enables ISVs, independent developers, and corporate developers to run .NET client and server applications on Linux across a range of hardware architectures, including the mainframe. Additionally, with the recent introduction of SUSE Linux Enterprise Mono Extension, customers and ISVs can also receive full support, security and upgrades when using Mono in the enterprise. New features available in Mono 2.4 include:
- Performance improvements and runtime innovations – A new code generation engine greatly improves the performance of executing .NET applications on the Mono runtime, while managed Single Instruction, Multiple Data (SIMD) extensions enable developers to take advantage of hardware acceleration without having to program in lower-level languages. Additional runtime innovations, such as full ahead-of-time (AOT) compilation, bring Mono-based applications to new platforms, including the Apple iPhone.
- Support for the latest features of ASP.NET – ASP.NET developers targeting Linux can now leverage the latest ASP.NET features, including ASP.NET 3.5 extensions, new web controls, ASP.NET routing APIs, and ASP.NET AJAX. Mono 2.4 can also host applications built using the Microsoft ASP.NET Model View Controller (MVC) framework.
- Hosting pre-compiled websites – Mono now hosts ASP.NET websites and applications which have been pre-compiled on .NET. This reduces startup times, enables ISVs to distribute web applications without distributing source code, and improves Mono’s support of ASP.NET sites built with Visual Basic.
“A lot of the effort has been focused on performance, but a lot of that is under the covers,” explained Joseph Hill, Novell product manager for Mono. “We upgraded our JIT engine which enables code to run a lot faster. In at least one real-world use case it meant a gain of 30 requests/sec to 120 requests/sec.”
“On the performance side we built a new technology for generating code on the fly – in some apps the performance only improved 10%, but in others 300%,” de Icaza explained. Part of this improvement relates to allowing granular control over the logs to make sure they wouldn’t log the entire process across the board.
Much of this performance enhancement was caused by receiving customer feedback from the gaming industry.
“We’ve been working with a couple of companies that work with high performance games and 3D apps and they were running into a bottleneck and neither .NET or Mono were able to keep up with the loads,” said de Icaza.
Novell responded, and is looking for new information from other users to determine what other areas could be improved.
“It is interesting because we’re adding new functionality to the .NET run-time that hadn’t previously been exposed,” said de Icaza. “We’re open to getting new information.”
There are a few companies with games on the Web based on Mono. According to de Icaza, the most hyped example is the Cartoon Network’s multiplayer online kid’s game FusionFall.