【翻译】.NET 5 Preview7发布
今天,发布了.NET 5.0 Preview7。这是倒数第二个预览版本(在转移到RC之前)。此时,大多数功能应该已经非常接近完成了。Single file和ARM64 intrinsics是两个花费了最长时间来完成的功能,当然Preview 8中已经在正轨上了。请参阅 .NET 5.0 Preview 4文章以获得更多的版本信息。
ASP.NET Core和EF Core也在今天发布。
您可以下载适用于Windows,macOS和Linux的.NET 5.0 Preview 7:
- Installers and binaries
- Container images
- Snap installer
- Release notes
- Known issues
- GitHub issue tracker
你需要使用Visual Studio 2019 16.7来使用.NET 5.0。现在Visual Studio for Mac 上也支持.NET 5.0。安装最新版本的C# extension来使用.NET 5.0和Visual Studio Code。
Performance
Stephen Toub最近发布了他在 .NET 5 中的性能改进,这是他的系列中的最新一篇。他涵盖了大约250个面向性能的拉请求,这些改进甚至会让那些密切关注.NET Core性能的人感到惊讶。
System.Text.Json
我们已经在新的JSON API中添加了可用性特性。以下是预览7的新特性(更多将在预览8中出现)。
- [重大更改]序列化时可以忽略值类型属性的默认值- 可用于降低序列化和连线成本。
- 序列化时能够处理循环引用 - 现在预计API形状将是最终的。
Garbage Collection (GC)
GC现在通过GC公开最近收集的详细信息。GC.GetGCMemoryInfo方法,它返回一个GCMemoryInfo结构体。GCMemoryInfo提供关于机器内存、堆内存和最近收集的信息,或者你指定的垃圾收集类型的最新收集——短暂的、完全阻塞的或者后台垃圾收集。
使用这个新API最有可能的用例是用于日志记录/监视,或者指示装入器平衡器应该停止机器的旋转以请求一次完整的GC。它还可以通过减少缓存的大小来避免容器硬限制。
另一个很小但有影响的变化是,将昂贵的内存复位操作推迟到低内存的情况下。我们希望这些策略上的更改能够降低GC延迟(以及GC CPU的一般使用)。
RyuJIT
RyuJIT是.NET的汇编代码生成器,针对Intel和ARM芯片。RyuJIT的大部分投资都集中在性能上。
- 总体改进
- 启用省略某些边界检查 — Credit @nathan-moore
- 用C#重写后优化Enum.CompareTo — 现在的性能与以前的c++相当。
- 改进了struct的寄存器分配 — Enregister multireg lclVars
- 删除冗余零初始值的改进
- 尾重复改进
- 基于堆栈的结构复制CQ修复
- 删除冗余的零初始化后清除死字段赋值
- ARM64硬件内部特性和API优化
- 实现大多数“按元素”的内含函数
- 实现fcvtxn, fcvtxn2, sqabs, sqneg, suqadd, usqadd intrinsics — #38010, #38110
- 优化SpanHelpers.IndexOf(byte),SpanHelpers.IndexOf(char)
- 优化 SpanHelpers.IndexOfAny(byte)
- 优化 WithLower, WithUpper, Create, AsInt64, AsUInt64, AsDouble
- 优化 AsVector, AsVector128, GetUpper, As and WithElement
Closing
请告诉我们您使用Preview 7的经验。现在分享你的反馈还不晚。我们已经接近发布的尾声了,但实际上我们现在更关注质量,因为我们基本上已经完成了特性开发。
在预览8之后,我们计划在最终发布之前发布两个RCs。RCs将拥有“上线”许可证,这意味着它们将在生产中得到支持。在这一点上,我们从预览1开始就在.NET上运行.NET站点(5.0上50%;3.1版本的50%),它工作得很好。
原文:https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-7/
【翻译】.NET 5 Preview7发布的更多相关文章
- ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段
ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.6——签署发布apk
问题: 为了将APK发布到google市场,需要对APK数字签名. 解决方案: 可以使用java的keytoll命令去创建一个证书,并且在gradle配置文件的signingConfigs块使用. 讨 ...
- easyui源码翻译1.32--accordion(手风琴)
前言 前几天加班比较忙 未能及时更新翻译的 今天多发布几篇..下载该插件翻译源码 Accordion 分类空间允许用户使用多面板,但在同一时间只会显示一个.每个面板都内建支持展开和折叠功能.点击一个面 ...
- easyui源码翻译1.32--Calendar(日历)
前言 前几天加班比较忙 未能及时更新翻译的 今天多发布几篇..下载该插件翻译源码 日历控件显示一个月的日历,允许用户选择日期和移动到下一个或上一个月.默认情况下,一周的第一天是周日.它可以通过设置'f ...
- 利用npm安装/删除/发布/更新/撤销发布包 --社会我npm哥,好用话不多
一.什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率 1.从社区的角度:把针对某一特定 ...
- AI翻译离无障碍交流有多远
AI翻译服务通过硬件.软件连接千千万万个应用场景,会打破语言不通的尴尬局面吗?会是人工翻译的终结者吗? 世界这么大,我想去看看!十一长假临近,梦想中的你背起行囊,自由行走在异国的大街小巷.然而现实的画 ...
- vue-cli 3.x 开发插件并发布到 npm
为了摆脱咸鱼的身份,我给自己定了一个开源项目的目标 于是抽空写了一个 textarea,打算发布到 npm 的时候却遇到了问题 之前用 vue-cli 2.x 的时候,打包配置项非常透明,可以很容易的 ...
- 【npm】利用npm安装/删除/发布/更新/撤销发布包
什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率 1.从社区的角度:把针对某一特定问题 ...
- 利用npm安装/删除/发布/更新/撤销发布包
利用npm安装/删除/发布/更新/撤销发布包 什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率 ...
随机推荐
- nfiniband网卡安装、使用总结
最近多次安装.使用infiniband网卡,每次都要到处寻找相关资料,所以决定做此总结,方便查找. 1. 基础知识 首先,得了解什么是RDMA,贴几个资料: 深入浅出全面解析RDMA RDMA技术详解 ...
- vue环境配置脚手架搭建,生命周期,钩子
Vue项目环境搭建 """ node ~~ python:node是用c++编写用来运行js代码的 npm(cnpm) ~~ pip:npm是一个终端应用商城,可以换国内 ...
- 入门大数据---Hive视图和索引
一.视图 1.1 简介 Hive 中的视图和 RDBMS 中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条 SELECT 语句的结果集.视图是纯粹的逻辑对象,没有关联的存储 (Hive 3.0 ...
- xeus-clickhouse: Jupyter 的 ClickHouse 内核
在科学计算领域,Jupyter 是一个使用非常广泛的集成开发环境,它支持多种主流的编程语言比如 Python, C++, R 或者 Julia.同时,数据科学最重要的还是数据,而 SQL 是操作数据最 ...
- mac下创建安卓应用 hello-world
教程 https://www.jianshu.com/p/bf77cb5ce70b 需要注意的地方 jdk目录查找 jdk目录拷贝到tool目录下面(jdk可以拷贝,没有其他牵扯) https://w ...
- 【数位dp】CF 55D Beautiful numbers
题目 Volodya is an odd boy and his taste is strange as well. It seems to him that a positive integer n ...
- JS中字符串和数组的相互转化
题目:利用var s1=prompt("请输入任意的字符串:") ,可以获取用户输入的字符串,试编程将用户输入的字符串“反转”,并且将字符串输出. 思路:字符串对象的方法中并没有实 ...
- BZOJ 4055 Misc
原题传送门 比较复杂的一道DP. 设两点(i,j)之间最短路为dis[i][j],则 可转化为: 将该式前后分立,可得: 其中,可以单独求出,后面的部分则需要DP. 设为b(x),枚举i,并计算出从i ...
- 升降梯上——玄学dp
升降梯上 题目描述 开启了升降梯的动力之后,探险队员们进入了升降梯运行的那条竖直的隧道,映入眼帘的是一条直通塔顶的轨道.一辆停在轨道底部的电梯.和电梯内一杆控制电梯升降的巨大手柄. \(Nescafe ...
- P3261 [JLOI2015]城池攻占 题解
题目 小铭铭最近获得了一副新的桌游,游戏中需要用 \(m\) 个骑士攻占 \(n\) 个城池.这 \(n\) 个城池用 \(1\) 到 \(n\) 的整数表示.除 \(1\) 号城池外,城池 \(i\ ...