BT

InfoQ Homepage News .NET Core Completes Move to RyuJIT

.NET Core Completes Move to RyuJIT

Bookmarks

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

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.