博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.NET Core 2.1改进了性能,并提供了新的部署选项
阅读量:6613 次
发布时间:2019-06-24

本文共 1110 字,大约阅读时间需要 3 分钟。

\

看新闻很累?看技术新闻更累?试试,每天上下班路上听新闻,有趣还有料!

\
\\

微软正式发布了面向所有平台的.NET Core 2.1。微软计划长期支持这个版本,但据来自微软的Rich Lander,官方还没有确定。Lander表示,在完成之前,该版本新增了许多小的更新。一旦正式确定,这个版本将获得为期三年的LTS。Lander指出,对于所有开发中的.NET Core应用程序,编程人员应该现在就着手切换到2.1。

\\

切换到2.1有什么好处?除了很快就可以确定的LTS外,2.1还提供了Ubuntu 18.04,、Alpine Linux和ARM32支持。它还添加了自包含应用程序发布,并改进了性能。

\\

在考虑性能提升时应该注意,这里的性能提升是指,与.NET Core 2.0相比,2.1的增量构建性能的提升。同时,2.1版本还增加了一个全新的类SocketsHttpHandler,这是HttpClient的C#实现。SocketsHttpHandler比之前的实现要快许多,并且提供了一致的跨平台行为。

\\

来自微软的Stephen Toub了2.1版本的运行时性能提升。其中有些提升来自新增的System.Span及相关类型。.NET Core 2.1使用的Just-In-Time(JIT)编译器也做了一些修改。值得一提的补充是增加了利用分层编译的能力。在这个场景下,JIT编译器会尽快生成最小优化的可执行文件。完成之后,JIT编译器会观测程序运行,对使用频繁的方法进行更为优化的二次编译。其理论是,如果可以的话,为什么要对可能并不怎么使用的方法进行优化?这一行为并不是默认激活的,但可以通过下面的环境变量来激活:

\\
COMPlus_TieredCompilation=\"1\"\
\\

性能提升不限于代码优化;.NET Core团队引入了一种新的压缩标准,减少数据传输。微软使用了一种基于谷歌提供的C代码的实现,向.NET Core 2.1添加了压缩支持。由于Brotli得到了许多Web浏览器和Web服务器的广泛支持,所以.NET Core提供对这项技术的支持是非常有用的。

\\

最后,.NET Core 2.1支持(SCD)。这让开发者生成的应用程序的Release构建中可以包含所有执行时需要的.NET Core运行时文件。然而,与平常的构建相比,这会占用更多的磁盘空间,因此,它允许开发人员指定应用程序运行的平台和使用的.NET Core版本。

\\

微软已经提供了.NET Core 2.1的及所有支持平台的(Windows、macOS和Linux)。

\\

查看英文原文

转载地址:http://izoso.baihongyu.com/

你可能感兴趣的文章
【转】关于大型网站技术演进的思考(十二)--网站静态化处理—缓存(4)
查看>>
积跬步,聚小流------Bootstrap学习记录(1)
查看>>
Android官方架构组件LiveData: 观察者模式领域二三事
查看>>
你必须知道的HTTP基本概念
查看>>
Android ContentProvider调用报错"Bad call:..."及相关Binder权限问题分析
查看>>
CentOS 6.5下PXE+Kickstart无人值守安装操作系统
查看>>
xtrapivotcontrol 控件用法及相关属性
查看>>
JS模拟select下拉菜单
查看>>
vmware workstation14永久激活密钥分享
查看>>
iOS 多线程 之 GCD(大中枢派发)(一)
查看>>
Myeclipse中打开接口实现类的快捷键
查看>>
使用JdbcTemplate和JdbcDaoSupport
查看>>
C博客作业--指针
查看>>
Glibc 和 uClibc
查看>>
Mysql学习第三课-分析二进制日志进行增量备份和还原
查看>>
如何在 Android 手机上安装 Ubuntu 13.04
查看>>
HDU 6073 - Matching In Multiplication | 2017 Multi-University Training Contest 4
查看>>
C语言 scanf()和gets()函数的区别
查看>>
如何检测域名是否被微信屏蔽 微信域名检测接口API是如何实现
查看>>
POJ1611-The Suspects
查看>>