The RyuJIT team has published the 5th preview release of the RyuJIT project. RyuJIT is the codename for Microsoft’s project to improve the performance and functionality of the just-in-time compiler used by .NET. One area that provides challenges for the team is addressing situations with legacy code that does not adhere to the ECMA standard. Microsoft’s Thomas Lai explains that the RyuJIT team determines on a case-by-case basis whether or not to allow this code to run on the new compiler.
Since the release of CTP5 a few days in Abhinaba Basu from Microsoft’s Bing team has been able to release some firsthand feedback as to how the new JIT is working:
Being from that “Bing Team” let me just say that RyuJIT just blew our expectation. Some of our workloads run incredibly large managed loads (many 1000s of assemblies running million of methods). We saw dramatic drop in startup time as well as subsequent JIT time. And also may I add that we are actually using the CTP bits to serve live traffic. It’s been pretty stable for us.
Basu’s report describes his work measuring the average startup time for their project using CTP5. However, these reported improvements to the startup time may have come at the expense of overall performance. Blogger and research Frank Niemeyer ran a benchmark of RyuJIT CTP5 and found a decrease in performance (not startup time) when compared to CTP3 and CTP4. Note that this should not be considered an all-encompassing test, but rather indicate that more analysis should be taken.
Developers curious as to how this latest version will affect their code can obtain RyuJIT CTP5 now, but note that it is not compatible with Visual Studio “14”. (CTP4 is enabled by default on “14”).