189 8069 5689

.NETCore完成向RyuJIT的迁移实例分析

这篇文章给大家介绍.NET Core完成向RyuJIT的迁移实例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联公司长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为萨迦企业提供专业的网站建设、做网站萨迦网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

.NET Core CLR团队宣布,他们的.NET Core平台现在已经是完全基于其下一代即时编译器RyuJIT。有人可能不知道,在.NET Core中,编译器(Roslyn)会把C#代码编译成CIL(公共中间语言)字节码。接下来,RyuJIT会把CIL字节码编译成目标体系结构的机器码。其结果是,与遗留系统相比,RyuJIT支持的所有CPU体系结构(x86、x64、ARM32和ARM64)现在都可以从RyuJIT提供的性能和高效率中受益。

RyuJIT开发最早公开是在2013年9月,通过一次社区预览。RyuJIT的第一个生产版本是面向x64体系结构的,于2015年7月作为.NET Framework 4.6的一部分发布。然后,又依次引入了x86、ARM32支持。据来自微软的Bruce Forstall介绍,ARM64在.NET Core 2.1时“已经接近预览品质”,之所以没有明确说明,是因为那会让人觉得.NET Core 2.2会包含这种体系结构。Forstall指出,为了推进对ARM64平台的支持,Qualcomm做了大量的贡献。

RyuJIT对于ARM64架构的支持,在.NET Core 2.1中近乎为预览版程度,此支持是在RyuJIT架构实现之初就进行构建的。实际上,在过去的4年中,我们一直致力RyuJIT支持ARM64的相关工作,而这项工作最近又被高通的贡献者们所做的重要工作推进了。

在以x64为目标平台时,现行.NET Framework的用户也可以从RyuJIT受益,而针对x32平台生成的代码将继续使用遗留的编译器JIT32。.NET Core 2.1用户已经可以在x86、x64及ARM32平台上利用RyuJIT。到达这一点是非常令人满意的,我们已经可以看到,删除所有这些旧的代码将使我们在前进的过程中更加灵活。

我们相信新的RyuJIT编译器架构比(现在已删除)传统的代码生成器实现这些目标有很大的改进。Forstall指出,随着这项工作的完成,RyuJIT的未来计划包括增加SIMD支持、支持特定体系结构硬件的内联函数以及“支持Linux软件约定”。他们还希望继续改进RyuJIT所生成代码的总体质量。开发人员的反应总体上是积极的;有人对RyuJIT的前景提了一个有趣的问题,就是将来增加WebASM目标平台的可能性,但是,到目前为止,微软还没有正式答复。

关于.NET Core完成向RyuJIT的迁移实例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


文章标题:.NETCore完成向RyuJIT的迁移实例分析
网站网址:http://cdxtjz.cn/article/jgjicj.html

其他资讯