温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-01-05 15:58:29 来源:亿速云 阅读:134 作者:柒染 栏目:大数据

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

.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的迁移实例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI