微软必应从.NET Core 2.1获得了性能提升

微软必应从.NET Core 2.1获得了性能提升

微软工程师Mukul Sabharwal介绍,在将微软搜索引擎必应迁移到.NET Core 2.1之后,内部服务延迟降低了34%,这主要归功于.NET社区贡献的改进。

\\

按照Sabharwal的说法,.NET Core的多项改进贡献了大部分的性能提升,包括字符串相等矢量化、使用新的Span\u0026lt;T\u0026gt;类型的string.IndexOf/LastIndexOf,它们加速了HTML渲染和操作;EqualityComparer.Default去虚拟化,这提升了字典性能并发GC写监视,这降低了CPU使用;还有其他的特性。

\\

 3b7a6d242182996467beb82de1816166.jpg
(图片来自微软博客)

\\

如上所述,大部分改进都是由.NET社区贡献的,Sabharwal指出,虽然许多GitHub pull request来自微软员工。据Sabharwal介绍,有两个关键因素使得必应可以迁移到.NET Core 2.1。一个是支持ReadyToRun镜像,这使得JIT编译变成了一个预部署步骤。没有ReadyToRun镜像,所有代码在它要在上面运行的每一台机器上都应该JIT编译,由于支撑必应的机器数量众多,所以这会显著降低服务能力。使用.NET Core的crossgen工具,就可以在微软实验室中对应用程序进行预编译,然后部署镜像。第二个关键因素是.NET Standard 2.0,一个超过32K API的集合,这可以帮助开发人员确保他们的代码可以在多个平台上轻松地移植到.NET Core 2.1。

\\

最后,Sabharwal强调了使用xcopy从他们的持续集成管道部署必应应用程序中的.NET Core运行时的重要性。这才使得必应在.NET Core 2.1正式发布仅两天之后就过渡到了.NET Core 2.1。

\\

正如InfoQ在.NET Core 2.1发布时所报道的那样,.NET Core 2.1其中一个最大的卖点就是性能提升,以及采用自包含部署形式的新部署选项。在性能方面,最引人注意的是,.NET Core 2.1带来了对新类型System.Span\u0026lt;T\u0026gt;的支持,该特性稍后也添加到了F# 4.5中。此外,JIT编译器有许多优化,包括上面列出的这些。想要深入了解更多有关.NET Core 2.1性能改进的信息,请查阅微软工程师Stephen Toub的博客

\\

查看英文原文:Microsoft Bing Gets Performance Boost from .NET Core 2.1

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101471.html原文链接:https://javaforall.net

(0)
上一篇 2021年6月11日 下午12:00
下一篇 2021年6月11日 下午1:00


相关推荐

  • 国内服务器免备案访问教程是什么_国外服务器国内域名要不要备案

    国内服务器免备案访问教程是什么_国外服务器国内域名要不要备案首先我们需要准备:1.国内服务器一台2.一级域名一个3.免费免备案的CDNNodecache(百度搜索即可,可通过无限注册来一直白嫖)首先打开宝塔面板添加一个网站,然后去域名解析到你的服务器!(以获得一个源站域名)现在开始进入Nodecache进行cdn设置首先我们注册登录要创建CDN服务然后开始配置CDN服务信息(具体配置请看图)服务名称随便填加速域名就是你要访问的域名源站地址就是你的服务器ip端口跟着我填8866地区选择中国直连复制打.

    2025年10月18日
    7
  • 研究Win32 GUI中SetActiveWindow与SetFocus和窗口消息

    研究Win32 GUI中SetActiveWindow与SetFocus和窗口消息为了与 Win32GUI 的函数功能兼容 得先知道 Windows 是怎么处理这些信息的 才能模仿 这次研究对象是 SetActiveWin 与 SetFocus 和窗口消息 WM SETFOCUS WM ACTIVATE 之间的关系

    2026年3月16日
    7
  • JavaScript中location.hash详解「建议收藏」

    JavaScript中location.hash详解「建议收藏」原文地址:https://www.cnblogs.com/yeer/archive/2013/01/21/2869827.html去年9月,twitter改版。一个显著变化,就是URL加入了”#!”符号。比如,改版前的用户主页网址为  http://twitter.com/username改版后,就变成了  http://twitter.com/#!

    2022年7月13日
    18
  • batchnormalization是什么意思_batchnorm层参数个数

    batchnormalization是什么意思_batchnorm层参数个数1.背景本篇博文主要讲解2015年深度学习领域,非常值得学习的一篇文献:《BatchNormalization:AcceleratingDeepNetworkTrainingbyReducingInternalCovariateShift》,这个算法目前已经被大量的应用,最新的文献算法很多都会引用这个算法,进行网络训练,可见其强大之处非同一般啊。近年来深度学习捷报连连…

    2022年10月14日
    4
  • 网页点击链接,跳转qq添加好友

    网页点击链接,跳转qq添加好友一 网页版本点击跳转到添加好友界面 直接用下面的链接地址 将号改成自己的即可 http wpa com msgrd v 3 amp uin amp site amp menu yes 测试 点击添加效果 二 调用客户端 添加好友 直接用下面的链接地址 将号改成自己的即可 tencent AddContact fr

    2026年3月26日
    2
  • 软件著作权 源码_python申请软件著作权

    软件著作权 源码_python申请软件著作权申请软件著作权时需要清除代码中的注释,可以通过word和Notepad++组合操作来快速的完成1。使用word的插入文件功能合并多个源代码文件,操作方法为:新打开1个word文件,在“插入”标签栏下找到“对象”点击右边的小三角下拉菜单里选择“文件中的文字…”,然后在跳出来的文件选择对话框里选择要合并的文件,如果对话框里没有显示出需要的文件,可能是文件类型过滤器选择的不对,更改为“所有文件…

    2025年11月12日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号