Enter the Dragon: RyuJIT Project Yields New Compiler for NET

| by Jeff Martin Follow 11 Followers on Oct 07, 2013. Estimated reading time: 1 minute |

A note to our readers: You asked so we have developed a set of features that allow you to reduce the noise: you can get email and web notifications for topics you are interested in. Learn more about our new features.

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”.


Rate this Article

Adoption Stage

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


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

Recover your password...


Follow your favorite topics and editors

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


More signal, less noise

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


Stay up-to-date

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