New .NET Compiler Hits CTP 2

It will eventually replace the JIT64 compiler, allowing for faster program starts.

Microsoft's new, 64-bit Just-In-Time (JIT) compiler has reached the next milestone in its development, with the release of the second Community Technology Preview (CTP).

CTP 2 of RyuJIT was announced on the .NET Framework Blog today. RyuJIT replaces the older JIT64 compiler, and will ultimately help programs compile and run faster, with better compiling throughput and higher code quality.

RyuJIT CTP1 "received a thunderous response," according to the blog's author, Mani Ramaswamy, Program Manager for the .NET Dynamic Code Execution Team. It was released last September, to overcome some limitations in the previous compiler; the blog states that "The 64-bit JIT currently in .NET isn't always fast to compile your code, meaning you have to rely on other technologies such as NGen or background JIT to achieve fast program startup."

The CTP 2 iteration of RyuJIT "...generates code that's on average better than the existing JIT64, while it continues to maintain the 2X throughput wins over JIT64," the blog states. It also adds to new features: "opportunistic" tail calls and Edit & Continue. The .NET Code Generation team has also made CTP 2 faster and more optimized, as well as fixing every bug that was found or reported. " this point, RyuJIT doesn't have any known bugs," Ramaswamy blogged.

One issue that some developers had with CTP 1 was that it only worked on Windows 8.1 (and Windows Server 2012 R2). Those developers will remain unhappy, as CTP 2 has the same limitations.

RyuJIT CTP 2 is available for download now. Developers using it should remember that it's not production-ready yet, so it should not be used in that environment. No date was given or implied in the blog for when future previews of the compiler would be available.

About the Author

Keith Ward is the editor in chief of Virtualization & Cloud Review. Follow him on Twitter @VirtReviewKeith.

comments powered by Disqus


Subscribe on YouTube