翻译+分享:RyuJIT:下一代的JIT编译器
虽然所有的代码例程使用RyuJIT编译都加快了,但是应该引起注意的是第二行RFC822电子邮件正则表达式。它甚至超出了图表的宽度!这是因为正则表达式(缩写:RegEx)往往在目前的JIT64上表现得特别糟糕。编译这个基准,JIT64需要60秒,消耗峰值达1.4GB的工作集。用RyuJIT,它只需要1.8秒,以及消耗峰值仅199MB的工作集。
Paint.NET是一个RyuJIT赢得比较正常的例子。它在我们的测试环境中的启动时间从2.3秒减少到1.8秒。需要说明的是,其编译时间从JIT64的1510毫秒降低至RyuJIT的970毫秒。更快的编译速度以及使用更少的内存,使得所有的代码都运行得更好。
精彩的还在后面
RyuJIT的性能提升以及减少工作集需要量非常牛逼,但这些还不是RyuJIT最牛逼的地方。开发JIT64时,我们决定让它基于C++团队的优化编译器而不是基于现有的32位x86 JIT,从而为动态编译场景而优化。大多数64位的计算机被用作服务器,所以较之编译器的吞吐量更偏重生成的代码的质量。但是这曾使得.NET CodeGen团队需要同时维护两套代码库,分别为两者添加功能和修复BUG,因为放缓了创新的步伐。在最近几年中,增加ARM架构和Windows Phone 8.0的MDIL的支持越发难以跟上。
RyuJIT基于x86 JIT相同的代码库,虽然它现在只适用于x64。这是一个现代的编译器,将是在未来我们所有的JIT编译器的基础——x86、ARM 、MDIL以及其它以后增加的任何平台。单一的代码库使得.NET程序在不同的架构之间的表现更较为一致,一般可以获得bug对bug的兼容性。而且,单一的代码库也意味着我们可以更快地创新,并为您更快地带来更多的代码生成特性。
RyuJIT CTP下载地址:
http://aka.ms/RyuJIT
注意,只有Windows 8.1 x64和Windows Server 2012 R2支持,不能用于生产环境。
安装完以后只需要在注册表中HKLM\SOFTWARE\Microsoft\.NETFramework\AltJit设置为字符串"*"即可启用。安装RyuJIT不会永久更改你的电脑,你可以随时切换回来。启用RyuJIT会导致Edit and Continue不可用,这个需要注意下。
原文地址:
http://blogs.msdn.com/b/dotnet/archive/2013/09/30/ryujit-the-next-generation-jit-compiler.aspx
更多信息请关注微软CLR和代码生成团队的博客:
http://blogs.msdn.com/b/clrcodegeneration/
[解决办法]
来看看,学习了。呵呵。。。。。
[解决办法]
为什么叫RyuJIT?
[解决办法]
[解决办法]
希望好用吧,
[解决办法]
在计算机体系结构没有发生根本改变的情况下能让性能能有两倍的提升说明前面做的很差劲嘛。。。
[解决办法]
基本上不知在讲什么东东
[解决办法]