What is new .Net Native

Vimal CK picture Vimal CK · Apr 4, 2014 · Viewed 8k times · Source

Today I have read an article about the new .Net Native on MSDN.

"Windows Store apps start up to 60% faster with .NET Native and have a much smaller memory footprint. Our first release is a Developer Preview that allows you to develop and test apps with this new compiler. This preview release of .NET Native offers you the performance of C++ with the productivity of C#".

Of course, this is really interesting but If .Net Native is a new compiler which gives good performance then why we needs to go for RyuJIT. What is this new .Net Native? What is the difference between new .Net Native and RyuJIT, also Microsoft released compiler as a service called Roslyn. So how Roslyn supports this new .Net Native.

Answer

Brian Rasmussen picture Brian Rasmussen · Apr 4, 2014

.NET Native is not part of the Roslyn project as such. Roslyn is a re-implementation of the C# and VB compilers and language services. Remember these compilers produce managed assemblies. In order to run, they have to be translated to platform specific code. This is typically done through the JIT compiler in the .NET runtime.

.NET Native allows you to turn .NET projects into native binaries similar to what NGEN does, but with a few important differences. .NET Native uses a different native compiler part than NGEN that produces faster and smaller code in general. It also allows a kind of static linking that is not available for regular .NET apps.