.NET x86 JIT-er, was originally optimized to produce code quickly so that the program starts up fast. However at that point of time x64 architecture was mostly used for server, because it was just expensive.
Because of that .NET 64-bit JIT-er was originally designed to produce efficient code throughout the long run of a server process. That means 64 JIT-er was never really optimized for fast start-up.
Today 64-bit computing become the mainstream. All machines today ship with more than or at least 4 GB of RAM. Even some smart phones use 64 architecture, although they do not need to address 64 RAM space (at least not yet).
.NET Code Generation Team has implemented the new JIT compiler codenamed “RyuJIT”. The new compiler is twice fast as the old one. Because start-up time of one .NET application depends on many complex factors, a twice faster compiling will lead to approximately 30% faster .NET application start-up. This is really great news for .NET community. 30% is in this area hard to achieve.
But, this is not all good news. As the first JIT compiler was done it was the x86 compiler. The came x64 compiler and then MDIL (JIT for Windows Phone). But today we have Windows RT too. So, JIT for ARM was need to. As you see, there are more than one JIT compiler. You might think this is good. It is good from some point of view. Unfortunately all JIT compilers have been different branches which didn’t share lot of same code base. This was very huge limitation factor from the innovation point of view.
With RyuJIT all MDIL, ARM, x86 and x64 are one code base. This will make easy innovation progress in the future.
How to activate RyuJIT?
If you just want to enable RyuJIT for one application only, then set an environment variable: COMPLUS_AltJit=*.
If you want to enable RyuJIT for machine, then set the registry key HKLM\SOFTWARE\Microsoft\.NETFramework\AltJit to the string "*".
In both cases 64-bit CLR will redirect to new RyuJIT instead of the old one JIT64.
Note that both methods do just temporary settings—change. They do not make any active changes to your machine.
You can download CTP version here for 64-bit editions of Windows 8.1 or Windows Server 2012 R2.
Related Blog: http://blogs.msdn.com/b/clrcodegeneration/
You can send mail at email@example.com . The team wants to hear from you!
More about RyuJIT: http://blogs.msdn.com/b/dotnet/archive/2013/09/30/ryujit-the-next-generation-jit-compiler.aspx
Oct 22 2013, 08:11 AM