BT

.NET Core Completes Move to RyuJIT

| by Jeff Martin Follow 16 Followers on Jun 22, 2018. Estimated reading time: 1 minute |

The .NET Core CLR team has announced that their next-generation just-in-time compiler RyuJIT is now completely powering the .NET Core platform. For those unfamiliar, in .NET Core the compiler (Roslyn) compiles C# into CIL (Common Intermediate Language) bytecode. Next RyuJIT compiles this CIL bytecode to the machine code of the targeted architecture. The result is that all four CPU architectures supported by RyuJIT (x86, x64, ARM32, and ARM64) can now take advantage of the performance and higher efficiency offered by RyuJIT as compared to the legacy systems.

RyuJIT development was first made visible to the public back in September 2013, via a community preview. The first production release of RyuJIT was for the x64 architecture and released as part of .NET Framework 4.6 in July 2015. The x86 was introduced next, followed by ARM32. Per Microsoft's Bruce Forstall, ARM64 is "close to preview quality" in .NET Core 2.1. While not explicitly stated, it would seem that .NET Core 2.2 would include this architecture. Forstall notes that significant contributions were received from Qualcomm to advance support for the ARM64 platform.

Users of the current .NET Framework can benefit from RyuJIT when targeting the x64 platform, code generated for x32 will continue to use the legacy compiler, JIT32.  .NET Core 2.1 users are already taking advantage of RyuJIT for x86, x64, and ARM32. 

With this work completed Forstall notes that future plans for RyuJIT include adding SIMD support, architecture-specific hardware intrinsics and "support for Linux software conventions". They also wish to continue improving the overall quality of the code generated by RyuJIT. Developer reaction seems to be positive overall; an interesting prospect was raised by one who inquired about the possibility of adding WebASM as a target, but for now nothing has been formally announced.

Rate this Article

Adoption Stage
Style

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

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


Recover your password...

Follow

Follow your favorite topics and editors

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

Like

More signal, less noise

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

Notifications

Stay up-to-date

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

BT