微软正式发布了面向所有平台的.NETCore2.1。微软计划长期支持这个版本,但据来自微软的RichLander介绍,官方还没有确定。Lander表示,在完成之前,该版本新增了许多小的更新。一旦正式确定,这个版本将获得为期三年的LTS。Lander指出,对于所有开发中的.NETCore应用程序,编程人员应该现在就着手切换到2.1。切换到2.1有什么好处?除了很快就可以确定的LTS外,2.1还提供了Ubuntu18.04,、AlpineLinux和ARM32支持。它还添加了自包含应用程序发布,并改进了性能。在考虑性能提升时应该注意,这里的性能提升是指,与.NETCore2.0相比,2.1的增量构建性能的提升。同时,2.1版本还增加了一个全新的类SocketsHttpHandler,这是HttpClient的C#实现。SocketsHttpHandler比之前的实现要快许多,并且提供了一致的跨平台行为。来自微软的StephenToub详细介绍了2.1版本的运行时性能提升。其中有些提升来自新增的System.Span及相关类型。.NETCore2.1使用的Just-In-Time(JIT)编译器也做了一些修改。值得一提的补充是增加了利用分层编译的能力。在这个场景下,JIT编译器会尽快生成最小优化的可执行文件。完成之后,JIT编译器会观测程序运行,对使用频繁的方法进行更为优化的二次编译。其理论是,如果可以的话,为什么要对可能并不怎么使用的方法进行优化?这一行为并不是默认激活的,但可以通过下面的环境变量来激活:COMPlus_TieredCompilation=1性能提升不限于代码优化;.NETCore团队引入了一种新的压缩标准,减少数据传输。微软使用了一种基于谷歌提供的C代码的实现,向.NETCore2.1添加了Brotli压缩支持。由于Brotli得到了许多Web浏览器和Web服务器的广泛支持,所以.NETCore提供对这项技术的支持是非常有用的。最后,.NETCore2.1支持自包含部署(SCD)。这让开发者生成的应用程序的Release构建中可以包含所有执行时需要的.NETCore运行时文件。然而,与平常的构建相比,这会占用更多的磁盘空间,因此,它允许开发人员指定应用程序运行的平台和使用的.NETCore版本。让您学习到的每一节课都有所收获《Linux就该这么学》是一本由资深运维专家刘遄老师及国内多名红帽架构师(RHCA)基于最新RHEL7系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材。荣获双11、双12购物狂欢节IT品类书籍销量冠军,年、年国内读者增速最快的技术书籍,您可以在京东、当当、亚马逊及天猫搜索书名后购买,亦可加刘遄老师
转载请注明原文网址:http://www.helimiaopu.com/cxys/cxys/13650.html |