2020年4月2日微软.net 团队的项目经理 richard 在博客上 发布了.net 5 preview 2: ,3月16号,scott hunter 在博客中发布了.net 5 preview 1 第一个预览版发布。,  博文中,scott hunter说:“.net core 3 has become the fastest adopted version of .net ever and we’ve gained another million more users in just the last year(“ net core 3成为有史以来最快采用的.net版本,而仅仅在去年,我们又获得了100万用户。”),也就是2周后(一个迭代)就发布了这个新版本。这两个版本都没有什么新特性,主要是整合.net core 3.1 和mono功能到一起, 很多同学开玩笑的说.net 5 这两个版本的发布,开发团队都在划水,打酱油。事实肯定不是这样的了,这两个版本的发布是为了在新的版本中为大家提供期待的新特性,接下来发布的.net 5 preview 3将会出现很多新特性,按照一个迭代一个版本的节奏,在微软5.19的 microsoft build 2020 大会上将发布.net 5 preview 5,到时肯定是scott hunter 向大家揭开.net 5 的庐山真面目 ,到时也会发布blazor rtm,正式开启webassembly的应用,也就是c#全栈的时代,winform/wpf的同学就可以很轻松的转移到web上开发了,blazor支持可以在浏览器中, 在移动设备上以及作为本机桌面应用程序(例如windows 10x)运行的应用程序。

博客里谈到的一点就是 ryujit中代码质量改进:在preview1 也谈到这点,在这个版本里做的更多了,后面每个版本都对jit生成的代码进行了一系列性能改进,相信在11月正式发布时会是一个超级好性能的开发平台. 我们将这些类型的改进称为”cq”或代码质量.在大多数情况下,这些改进也适用于为准备运行的images生成的代码. preview2 的性能提升方面做的非常好,而且对arm64 的改进更多一些,有很多性能的提升是很大的,还专门写了一篇.net 5中的regex性能改进:。对该regex引擎进行了一些重大改进,这些更改通常会导致吞吐量提高3-6倍,在某些情况下甚至会提高更多。

博客里另外谈到一点是垃圾回收器gc的改进,不断向着快速启动、更小的体积和内存使用,更加契合云原生时代的应用开发需求。

更重要的一点是.net团队开始在吃自己的狗粮,使用azure负载平衡在.net 5.0上运行了50%的.net网站流量。.net团队很早就在.net core 3.0和3.1做过类似的事情。通过将流量分流为50/50,我们可以确保在不断获得性能数据的情况下5.0持续变得更好。我们可以访问.net网站 ,通过浏览器刷新的形式交替看到power by .net core 3.1.3和powered by .net core 5.0.0-preview.2.20160.6:

园子里已经有同学翻译了这几篇文章:

  • 【翻译】.net 5 preview2发布
  • .net 5 中的正则引擎性能改进(翻译)