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

\\

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

\\


(图片来自微软博客)

\\

如上所述,大部分改进都是由.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

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

  1. async/await 的基本实现和 .NET Core 2.1 中相关性能提升

    前言 这篇文章的开头,笔者想多说两句,不过也是为了以后再也不多嘴这样的话. 在日常工作中,笔者接触得最多的开发工作仍然是在 .NET Core 平台上,当然因为团队领导的开放性和团队风格的多样性(这和 ...

  2. 软件工程第三周作业:微软必应词典案例分析

    0x01 :微软必应词典案例分析 0x0104 :微软必应词典功能性BUG说明       0x010404 : BUG – 1 – 模块功能未实现 运行环境或平台 iOS 9.0.1 必应词典软件版 ...

  3. 雅虎卖身Verizon对微软必应有什么影响?

    Verizon正式确认,以48亿美元收购雅虎的核心业务,这笔交易将于2017年第一季度完成.而雅虎的核心业务中包括搜索引擎广告业务,这家公司在2009年还与微软签订了搜索引擎合作协议.合作协议于201 ...

  4. 微软必应壁纸spotlight锁屏壁纸获取

    微软必应壁纸,锁屏壁纸(spotlight壁纸) 程序写好了,今天早上已上传 github.com,如果使用过的朋友觉得好,可以 star 这个项目. 程序介绍: 纯Go语言实现 软件使用开源MIT许 ...

  5. 微软必应成功预测法国队夺冠

    在16日晚上举行的2018世界杯决赛中,法国队4-2战胜克罗地亚队,时隔20年再次捧起大力神杯,获得队史上第二个世界杯冠军.而在决赛之前,微软必应搜索预测法国队将是本届世界杯的冠军. 更往前,早在7月 ...

  6. 微软必应词典客户端的案例分析

    微软必应词典客户端的案例分析: 整个文章的研究对象为必应词典客户端IOS版 第一部分:调研 测评 Bug: 首先最严重的一个Bug就是摄像头翻译功能基本形同虚设,整个取景框里面没有说明需要把目标单词放 ...

  7. 关于 微软必应词典客户端 的案例分析

    关于 微软必应词典客户端 的案例分析 第一部分 调研,评测 朋友的体验 背景和需求 我采访的是我的同学:樊皓楠 他是我们计算机学院13级学生,有着很强的学习能力和欣赏能力.对于英语翻译软件,他一直都有 ...

  8. 第四次作业-微软必应词典客户端

    备注:031302528 张建平 " 微软必应词典客户端 "产品评测 第一部分 调研.评测 我下载的是 PC端 最新版本的微软必应词典 客户端功能评测 这款软件的好评很高,很少差评 ...

  9. 微软必应词典UWP -2017春

    必应UWP调研,评测 软件平台:windows10 软件名称:微软必应词典 软件类型:UWP Bug Bug1 当在文本框中进行输入时,在谷歌拼音输入法状态下,无法使用Shift键切换到谷歌拼音的纯英 ...

最新文章

  1. 解释大型网站js,css文件后面为什么有参数?
  2. springcloud微服务总结四 负载均衡
  3. 【Linux】10_存储管理EXT4文件系统详解
  4. torchvision.transforms包的使用
  5. 【Linux】一步一步学Linux——unzip命令(68)
  6. 远程Linux主机安装zsh插件zsh-syntax-highlighting
  7. C# 数据的加密解密
  8. 软件设计师下午题java_2018上半年软件设计师下午真题(三)
  9. 一份北大信科内部流传的 “CS 自救指南”
  10. Vue 2与Vue 3在自定义组件v-model上的区别
  11. Android RecyclerView之PagerSnapHelper原理解析(二)
  12. 李开复老师的《给中国学生的第一封信——从诚信谈起》
  13. linux安装Anaconda
  14. 虚化4独立游戏开发第一章:策划案
  15. orgChart实现多重树状图结构
  16. 2019辽宁公务员考试:申论突破80+学习计划第一步
  17. spring 集成MongoDB错误Interrupted acquiring a permit to retrieve an item from the pool
  18. 用UWP模仿网易云音乐的动画
  19. 微信开发者平台切换企微账号与企业微信小程序模式
  20. 用java计算小数的双阶乘

热门文章

  1. python中用来占位的语句是_python占位语句
  2. php变量定义的位置,php变量一般放在哪个位置
  3. ai的弹窗点了都不响应_【评价集合】拼多多评价,你所不知道的点都在这里!...
  4. C++右值引用 和 std::move()
  5. c++ opencv 照片清晰度_opencv新手学习————素描视频(C++)
  6. matlab--曲线拟合
  7. mysql隔离级别 简书_InnoDB 事务隔离级别(Mysql篇)
  8. 利用startup.m文件设置matlab的Current Folder的默认文件夹
  9. FPGA逻辑设计回顾(13)RAM以及ROM的IP核定制以及关键参数
  10. 结构型模式 -- 代理模式(静态代理动态代理)