改进的 JIT 编译器 RyuJIT 为.NET 提速

  • Jeff Martin
  • 臧秀涛

2014 年 3 月 10 日

话题:.NETC#语言 & 开发

微软一直为开发出一个新的即时(Just-in-Time,JIT)编译器而不懈努力,以替换.NET 框架中现有的 JIT。新的编译器代号为 RyuJIT,相对于其第一个预览版本和产品中目前使用的 JIT 编译器,最新的 CTP版本有显著改进。

RyuJIT 能够比 JIT64 更快地生成代码,这是第一个 CTP 版本表现出来的成绩之一。根据微软提供的信息,RyuJIT 生成代码的速度几乎是 JIT64 的两倍。在 CTP2 中,团队在维持这一改进的同时,还改进了所生成代码的质量。这无疑是很重要的一步,因为尽管编译时间很重要,但最终结果高效执行甚至更为重要。

那么 CTP2 怎么样呢?根据微软的测试,CTP2 在一些领域比 CTP1 快得多,不过在一些基准测试上,性能却又轻微下降。与 JIT64 相比,CTP2 利弊并存。尽管有些领域性能有明显改进,但是还有些领域,CTP2 要慢很多。整体上看 CTP2 好一些,但是仍然有很多工作要做。

要深入检查 CTP2 发布时提供的性能结果, 微软的 Kevin Frei 撰写了一篇文章,详细描述了测试所用的基准测试。有些值得注意的基准测试包括 Roslyn 项目的源代码、SciMark 和 FsharpFFT。

RyuJIT CTP2 现在已经提供下载,但是请记住,它需要 Windows 8.1 或 Windows Server 2012 R2。当 RyuJIT 进入产品正式发布时,它将支持更多操作系统。

查看英文原文:RyuJIT's Improved Compiler Boosts .NET

.NETC#语言 & 开发