亲宝软件园·资讯

展开

【翻译】.NET 5 Preview2发布

HueiFeng 人气:0
在4月2日,发布了.NET 5.0 Preview2,这次发布对一些功能和性能做了相关的改进,同时后面也会实施5.0版本更多的功能,其中一些功能目前也[dotnethttps://img.qb5200.com/download-x/designs](https://github.comhttps://img.qb5200.com/download-x/dotnethttps://img.qb5200.com/download-x/designs/pulls)在[.NET 5 Preview1](https:/https://img.qb5200.com/download-x/devblogs.microsoft.comhttps://img.qb5200.com/download-x/dotnet/announcing-net-5-0-preview-1/)中可以看到.NET 5里程碑中已经完成的建设任务,当然可以查看相关的设计资料进行反馈,同时可以下载Preview2并进行测试他。 可以在Windows MacOS和Linux下载[.NET 5 Preview2](https:/https://img.qb5200.com/download-x/dotnet.microsoft.comhttps://img.qb5200.com/download-x/downloadhttps://img.qb5200.com/download-x/dotnet-core/5.0) - [.NET 5 Preview2 And Runtimes](https:/https://img.qb5200.com/download-x/dotnet.microsoft.comhttps://img.qb5200.com/download-x/downloadhttps://img.qb5200.com/download-x/dotnet-core/5.0) - [Docker Images](https://hub.docker.com/_/microsoft-dotnet-core) - [Snap Installer](https://snapcraft.iohttps://img.qb5200.com/download-x/dotnet-sdk) [ASP.NET Core](https:/https://img.qb5200.com/download-x/devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-5-preview-2/)和[EF Core](https:/https://img.qb5200.com/download-x/devblogs.microsoft.comhttps://img.qb5200.com/download-x/dotnet/announcing-entity-framework-core-5-0-preview-2/)也在当天发布。 必须要使用[Visual Studio 2019 16.6](https:/https://img.qb5200.com/download-x/devblogs.microsoft.com/visualstudio/visual-studio-2019-version-16-6-preview-2/)才可以使用.NET 5.0。安装最新版本的C# 扩展,将.NET 5.0在VisualStudio Code中使用,目前还不支持Mac的Visual Studio. 发行说明: - [.NET 5.0 Preview2发行说明](https://github.comhttps://img.qb5200.com/download-x/dotnet/core/blob/master/release-notes/5.0/preview/5.0.0-preview.2.md) - [.NET 5.0已知问题](https://github.comhttps://img.qb5200.com/download-x/dotnet/core/blob/master/release-notes/5.0/5.0-known-issues.md) - [GitHub中issues](https://github.comhttps://img.qb5200.com/download-x/dotnet/core/issues/4500) ## RyuJIT中代码质量的改进 每个版本都包含着一些更改,这些更改可以改进JIT生成的机器代码(它被称为“code quality”).更好的代码质量意味着更好的性能。总而言之,下面改进中一半的是实际的新优化,另一半是由于更改RyuJIT的流程而使现有优化能够应用到更多的代码中. - [Use xmm for stack prolog – dotnet/runtime #32538 ](https://github.comhttps://img.qb5200.com/download-x/dotnet/runtime/pull/32538) 更改为x86/x64 prolog归零代码,改进:Json; - [Add ValueNumbering support for GT_SIMD and GT_HWINTRINSIC tree nodes – dotnet/runtime #31834 ](https://github.comhttps://img.qb5200.com/download-x/dotnet/runtime/pull/31834)—为SIMD和硬件固有类型启用优化器。 - [Use GT_NULLCHECK for unconsumed indirections – dotnet/runtime #32641](https://github.comhttps://img.qb5200.com/download-x/dotnet/runtime/pull/32641)—删除冗余null检查。 - [invoke nullable box optimizations earlier – dotnet/runtime #32269](https://github.comhttps://img.qb5200.com/download-x/dotnet/runtime/pull/32269)—改善优化Nullable。 - [Optimize range checks for various array index patterns – dotnet/runtime #1644](https://github.comhttps://img.qb5200.com/download-x/dotnet/runtime/pull/1644)-消除 **range checks** 的改进。 - [Optimize obj.GetType() != typeof(X) for sealed classes – dotnet/runtime #32790](https://github.comhttps://img.qb5200.com/download-x/dotnet/runtime/pull/32790)-改进了类型检查表达式。 - [Eliminate duplicate zero initializations more aggressively – dotnet/runtime #31960](https://github.comhttps://img.qb5200.com/download-x/dotnet/runtime/pull/31960)—更好和更广泛的方法,以消除重复零初始化。 - [Fix method and basic block flags used by early opts – dotnet/runtime #2196](https://github.comhttps://img.qb5200.com/download-x/dotnet/runtime/pull/2126) - 优化某些可以频繁使用,现在更经常地用常数替换数组长度。 ## 垃圾收集器 - [Card mark stealing – dotnet/coreclr #25986](https://github.comhttps://img.qb5200.com/download-x/dotnet/coreclr/pull/25986)- 服务器GC(位于不同线程上)可以在标记由较早一代对象保留的gen0/ 1对象时进行执行获取。 这意味着,对于某些GC线程要花费更长的时间进行标记的情况,短暂的GC暂停时间较短。 - [Introducing Pinned Object Heap – dotnet/runtime #32283](https://github.comhttps://img.qb5200.com/download-x/dotnet/runtime/pull/32283) — 实现了POH(Pinned Object Heap)功能的一部分– GC内部的一部分。 这个新的堆(本质上是LOH的对等体)将允许GC分别管理固定对象,从而避免固定对象对世代堆的负面影响。 - [Allow allocating large object from free list while background sweeping SOH – dotnet/runtime #2103](https://github.comhttps://img.qb5200.com/download-x/dotnet/runtime/pull/2103) — 当BGC清理SOH时,使用空闲列表启用LOH分配。以前这只是在LOH上使用段空间的末端。这样可以更好地使用堆。 - [Background GC suspension fixes – dotnet/coreclr #27729](https://github.comhttps://img.qb5200.com/download-x/dotnet/coreclr/pull/27729) -暂停修复程序减少了BGC和用户线程被暂停的时间。 这样可以减少发生GC之前挂起托管线程所需的总时间。 dotnet / coreclr#27578也有助于达到相同的结果。 - [Fix named cgroup handling in docker – dotnet/runtime #980](https://github.comhttps://img.qb5200.com/download-x/dotnet/runtime/pull/980) — - 添加了对从命名cgroup读取限制的支持。以前,我们仅从全局范围内阅读。 ## Closing 在容器,虚拟机大家可以去尝试Preview2。希望大家对.NET5提出并反馈意见。接下来几个月里面,将会有更多的版本发布。最终将在11月发布正式版本。 作为测试案例,目前.NET 5.0在Azure负载均衡上运行了[.NET网站](https:/https://img.qb5200.com/download-x/dotnet.microsoft.com/)的50%的流量. 自从发布预览版1天以来一直在上面这么做了,也许大家还记得.NET Core3.0和3.1也这样做过测试案例. 通过将流量分流为5/5,可以确保在不断地性能数据情况下5.0将持续的改进变得更好。这种测试是公开的,也是一种很好的测试方法,目前用.NET5在核心网站的生产环境这将是对.NET5最大的信任,当然不建议大家这样是哟经,建议等等.目前版本号在[网站](https:/https://img.qb5200.com/download-x/dotnet.microsoft.com/)的页脚中可以看到。 来源:https:/https://img.qb5200.com/download-x/devblogs.microsoft.comhttps://img.qb5200.com/download-x/dotnet/announcing-net-5-0-preview-2/

加载全部内容

相关教程
猜你喜欢
用户评论