【翻译】.NET 5 Preview2发布

在4月2日,发布了.NET 5.0 Preview2,这次发布对一些功能和性能做了相关的改进,同时后面也会实施5.0版本更多的功能,其中一些功能目前也dotnet/designs在.NET 5 Preview1中可以看到.NET 5里程碑中已经完成的建设任务,当然可以查看相关的设计资料进行反馈,同时可以下载Preview2并进行测试他。

可以在Windows MacOS和Linux下载.NET 5 Preview2

  • .NET 5 Preview2 And Runtimes

  • Docker Images

  • Snap Installer

ASP.NET Core和EF Core也在当天发布。

必须要使用Visual Studio 2019 16.6才可以使用.NET 5.0。安装最新版本的C# 扩展,将.NET 5.0在VisualStudio Code中使用,目前还不支持Mac的Visual Studio.

发行说明:

  • .NET 5.0 Preview2发行说明

  • .NET 5.0已知问题

  • GitHub中issues

RyuJIT中代码质量的改进

每个版本都包含着一些更改,这些更改可以改进JIT生成的机器代码(它被称为“code quality”).更好的代码质量意味着更好的性能。总而言之,下面改进中一半的是实际的新优化,另一半是由于更改RyuJIT的流程而使现有优化能够应用到更多的代码中.

  • Use xmm for stack prolog – dotnet/runtime #32538 更改为x86/x64 prolog归零代码,改进:Json;

  • Add ValueNumbering support for GT_SIMD and GT_HWINTRINSIC tree nodes – dotnet/runtime #31834 —为SIMD和硬件固有类型启用优化器。

  • Use GT_NULLCHECK for unconsumed indirections – dotnet/runtime #32641—删除冗余null检查。

  • invoke nullable box optimizations earlier – dotnet/runtime #32269—改善优化Nullable

  • Optimize range checks for various array index patterns – dotnet/runtime #1644-消除 range checks 的改进。

  • Optimize obj.GetType() != typeof(X) for sealed classes – dotnet/runtime #32790-改进了类型检查表达式。

  • Eliminate duplicate zero initializations more aggressively – dotnet/runtime #31960—更好和更广泛的方法,以消除重复零初始化。

  • Fix method and basic block flags used by early opts – dotnet/runtime #2196

  • 优化某些可以频繁使用,现在更经常地用常数替换数组长度。

垃圾收集器

  • Card mark stealing – dotnet/coreclr #25986- 服务器GC(位于不同线程上)可以在标记由较早一代对象保留的gen0/ 1对象时进行执行获取。这意味着,对于某些GC线程要花费更长的时间进行标记的情况,短暂的GC暂停时间较短。

  • Introducing Pinned Object Heap – dotnet/runtime #32283 — 实现了POH(Pinned Object Heap)功能的一部分– GC内部的一部分。这个新的堆(本质上是LOH的对等体)将允许GC分别管理固定对象,从而避免固定对象对世代堆的负面影响。

  • Allow allocating large object from free list while background sweeping SOH – dotnet/runtime #2103 — 当BGC清理SOH时,使用空闲列表启用LOH分配。以前这只是在LOH上使用段空间的末端。这样可以更好地使用堆。

  • Background GC suspension fixes – dotnet/coreclr #27729 -暂停修复程序减少了BGC和用户线程被暂停的时间。这样可以减少发生GC之前挂起托管线程所需的总时间。dotnet / coreclr#27578也有助于达到相同的结果。

  • Fix named cgroup handling in docker – dotnet/runtime #980 — -
    添加了对从命名cgroup读取限制的支持。以前,我们仅从全局范围内阅读。

Closing

在容器,虚拟机大家可以去尝试Preview2。希望大家对.NET5提出并反馈意见。接下来几个月里面,将会有更多的版本发布。最终将在11月发布正式版本。

作为测试案例,目前.NET 5.0在Azure负载均衡上运行了.NET网站的50%的流量.
自从发布预览版1天以来一直在上面这么做了,也许大家还记得.NET Core3.0和3.1也这样做过测试案例.
通过将流量分流为5/5,可以确保在不断地性能数据情况下5.0将持续的改进变得更好。这种测试是公开的,也是一种很好的测试方法,目前用.NET5在核心网站的生产环境这将是对.NET5最大的信任,当然不建议大家这样是哟经,建议等等.目前版本号在网站的页脚中可以看到。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/310728.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 142环形链表||-中等

给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有…

.NET 5.0 Preview 2发布解析

2020年4月2日微软.NET 团队的项目经理 Richard 在博客上 发布了.NET 5 Preview 2:https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-2/ ,3月16号,Scott Hunter 在博客中发布了.NET 5 Preview 1 第一个预览版发布。https://…

DotNet SSL TLS证书问题分析排障

问题说明前几天运维同事反馈开发同事代码在Windows 2008 R2 Datacenter服务器上跑会出现无法正常建立SSL/TLS连接的情况,在自己的电脑上跑是OK的,代码也没有变动过。于是我问他改了服务器上什么配置没有,他说改了注册表也不行。接过这个坑&am…

LeetCode 92反转链表||-中等

给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 输入&#xff1a;head [1,2,3,4,5], left 2, right 4 输出&#xff1a;[1,4,3,2,5] 示例 2&#xf…

oppo手机html文件,OPPO手机怎么传输数据包括文档和图片,有哪些传输方式

在工作和学习中&#xff0c;我们每天都需要传输大量的数据包括文档和图片等&#xff0c;对于大文件和大量文件的传输&#xff0c;既要保证传输的质量还要操作简单&#xff0c;省时省力&#xff0c;这也就成了一个令人头疼的问题。不同的传输方式有着不同的特点&#xff0c;那么…

如何让Docker镜像飞起来

前言Docker用起来非常爽&#xff0c;尤其是用于DevOps实践时。但是&#xff0c;当你在国内或者本地拉取镜像时&#xff0c;经常会碰到各种“便秘”——要么镜像拉取缓慢&#xff0c;要么时断时连&#xff0c;要么连接超时&#xff01;当我们的镜像又比较大时&#xff08;比如某…

C++ class类 实现搜索二叉树(BST)

代码如下: #include <iostream> using namespace std;class BSTNode {private:double key;BSTNode *lchild;BSTNode *rchild;BSTNode *parent;friend class BSTree;public:BSTNode(double k 0.0, BSTNode *l nullptr, BSTNode *r nullptr, BSTNode *p nullptr): key…

Nuget多项目批量打包上传服务器的简明教程

本篇不会介绍Nuget是什么&#xff0c;如何打包上传Nuget包&#xff0c;怎么搭建私有Nuget服务器。这些问题园子里都有相应的文章分享&#xff0c;这里不做过多阐述。另外本文假设你已经下载了Nuget.exe&#xff0c;并且已经设置好了环境变量。什么&#xff1f;你还不会&#xf…

C++ struct结构体 实现搜索二叉树(BST)

代码如下: #include <iostream> using namespace std;struct BSTNode {double v 0.0;BSTNode *lc nullptr;BSTNode *rc nullptr;BSTNode *par nullptr; };void inorder_tree(BSTNode *t) {if (t ! nullptr) {inorder_tree(t->lc);cout << t->v <<…

如何用 Blazor 实现 Ant Design 组件库(二)

前言前两周&#xff0c;我发表了上一篇文章《如何用 Blazor 实现 Ant Design 组件库&#xff1f;》&#xff0c;得到了很多朋友的响应&#xff0c;也有很多朋友加入我的钉钉群&#xff0c;并收听了我在第二天的直播。这次直播是我人生第一次做直播&#xff0c;以至于没做什么准…

计算机蠕虫是一个程序或程序系列,它采取截取口令并试图在系统中,计算机蠕虫病毒是一个程序或程序系列,它采取截取口令并试图在系统中做非法动作的方式直接攻击计算机。...

采用FCA条件时&#xff0c;计算机蠕计算机卖方应负的责任是( )某资本家制衣厂内&#xff0c;虫病程序工人一个月工作30天&#xff0c;虫病程序其月工资为1500元。据工厂统计&#xff0c;每天每位工人能生产5件衣服&#xff0c;每件价值100元&#xff0c;每件衣服生产时产生的费…

.NET 5 中的正则引擎性能改进(翻译)

前言System.Text.RegularExpressions 命名空间已经在 .NET 中使用了多年&#xff0c;一直追溯到 .NET Framework 1.1。它在 .NET 实施本身的数百个位置中使用&#xff0c;并且直接被成千上万个应用程序使用。在所有这些方面&#xff0c;它也是 CPU 消耗的重要来源。但是&#x…

以个人身份加入.NET基金会

.NET 走向开源&#xff0c;MIT许可协议。微软为了推动.NET开源社区的发展&#xff0c;2014年联合社区成立了.NET基金会。一年前 .NET 基金会完成第一次全面改选&#xff0c;2014年 .NET基金会的创始成员中有六位创始人&#xff0c;均非微软公司员工&#xff0c;随着微软的收购动…

计算机连接拒绝访问,Win10系统下Windows无法连接到打印机,拒绝访问的解决办法...

我们在办公的时候&#xff0c;经常会使用打印机共享的功能&#xff0c;近期有一位Win10用户在共享打印机的时候&#xff0c;系统提示了“Windows无法连接到打印机&#xff0c;拒绝访问”的错误。原因是用户和组没有everyone&#xff0c;才会导致打印机拒绝访问的情况。那么我们…

十问十答 BSD 许可证

BSD 许可证或原始 BSD 许可证&#xff08;the original BSD License&#xff09;及其两个变体——修改的 BSD 许可证&#xff08;又称 The 3-clause BSD License&#xff09;和简化的 BSD 许可证/FreeBSD 许可证&#xff08;又称 BSD 2-Clause "Simplified" License&…

C++ class实现单向循环链表(完整代码)

注意: 写Delete_all要稍微注意一下&#xff0c;先判断tail是否为空&#xff0c;只有不为空时才能拿某个指针指向其next域 代码如下: #include <iostream> using namespace std; typedef int ElemType; #define NO 0class Node {friend class LinkList;public:Node(): …

这一次,终于弄懂了协变和逆变

一、前言刘大胖决定向他的师傅灯笼法师请教什么是协变和逆变。刘大胖&#xff1a;师傅&#xff0c;最近我在学习泛型接口的时候看到了协变和逆变&#xff0c;翻了很多资料&#xff0c;可还是不能完全弄懂。灯笼法师&#xff1a;阿胖&#xff0c;你不要被这些概念弄混&#xff0…

大一计算机专业学期计划范文,大一学习计划范文4篇

大一学习计划范文4篇时间的脚步是无声的&#xff0c;它在不经意间流逝&#xff0c;我们又将迎来新的学习任务&#xff0c;写一份学习计划&#xff0c;为接下来的学习做准备吧&#xff01;但是学习计划要写什么内容才是正确的呢&#xff1f;以下是小编精心整理的大一学习计划范文…

C++ class实现双向循环链表(完整代码)

写Delete_all的时候注意一下就好了&#xff0c;先判断空白头结点是不是为NULL 代码如下: #include <iostream> using namespace std; typedef int ElemType; #define NO 0class Node {friend class LinkList;public:Node(): next(NULL), prior(NULL) {};private:ElemTy…

5分钟看懂微服务架构下的Consul 特性及搭建

一、前言虽然说牛逼的公司都有那么几个牛逼的运维团队&#xff0c;牛逼的运维团队都有着神秘黑科技般敲代码的姿势&#xff1b;本人虽然不是一个运维工程师&#xff0c;但是自己比较爱倒腾这些东西&#xff0c;会那么一点点运维姿势&#xff0c;虽然不算专业&#xff0c;但是还…