BT
x Your opinion matters! Please fill in the InfoQ Survey about your reading habits!

Enter the Dragon: RyuJIT Project Yields New Compiler for NET

by Jeff Martin on Oct 07, 2013 |

Microsoft is developing a new Just-In-Time (JIT) compiler that will ultimately be used to run .NET-based application.  Codenamed “RyuJIT”, the new compiler marks a change in design philosophy.  The current 64-bit JIT compiler is designed to support an operating profile found in server environments where execution performance is prioritized over startup performance.  Supporting technologies such as NGen and background JIT are leaned on to provide extra performance boosts.  However RyuJIT’s design goals recognize the popularity of 64-bit code in computing platforms beyond the server.  As a result RyuJIT places an emphasis on overall performance improvements when compared to the current x64 JIT, including shortening application start up times.

Andrew Pardoe, a Microsoft Program Manager working on the RyuJIT project, observes that up until this point the .NET CodeGEN team was managing two separate code bases, one for the X64 .NET JIT compiler and one for X86 .NET JIT compiler.  RyuJIT is based on the code base for the current X86 .NET JIT compiler.  The end goal is that the RyuJIT project will be .NET’s JIT compiler for all current and future architectures (X86, X64, ARM, etc).  At present RyuJIT is X64-only, with a Community Technology Preview (CTP) available now for 64-bit Windows 8.1 and Windows Server 2012 R2.

Installing the CTP will allow you to experiment with the new compiler at your discretion, it does not replace the current X64 JIT compiler in use.  To use RyuJIT, either use the following environmental variable: COMPLUS_AltJit=* Alternatively create a new registry key HKEY_Local_Machine\SOFTWARE\Microsoft\.NETFramework\AltJit as a string with the value *.  Note RyuJIT does not currently support Edit & Continue, but support for this feature is expected in a future release.  Microsoft’s Kevin Frei states that while RyuJIT currently only supports Windows 8.1 and Server 2012 R2, the final version of RyuJIT “…will be part of the full .NET Runtime, fully supported on all platforms that .NET supports”.

 

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
Community comments

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

Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT