.NET 6 Preview 3 发布
前言
2021/4/8 .NET 6 Preview 3 发布,这个版本的改进大多来自于底层,一起来看看都有什么新特性和改进吧。
库改进
新增值类型作为字典值时更快的处理方法
.NET 6 Preview 3 引入了新的 unsafe API CollectionsMarshal.GetValueRef
,这个 API 允许你在无数据拷贝的情况下就地更新值,并且将键的哈希计算从 2 次减少到 1 次。该改进在高性能场景下更新字典中存储的 struct
非常有用。
例如:
ref MyStruct value = CollectionsMarshal.GetValueRef(dictionary, key);
// 如果不存在则返回 Unsafe.NullRef<TValue>()
if (!Unsafe.IsNullRef(ref value))
{// 无需拷贝,就地更新value.MyInt++;
}
接口检查和转换性能提升
接口的转换以及检查类型是否实现某接口的性能提升了 16~38%,该改进对模式匹配的性能提升尤其有用。
运行时
.NET 6 Preview 3 也包含更多的运行时改进
代码生成优化
检查 Length 后移除边界检查
Span 边界检查省略和顶层范围检查节点移除
添加对字节数组访问的 loop cloning 支持
JIT: 非 void 的 ThrowHelpers
浮点数常量 CSE
为不可变静态只读字段启用 CSE 和循环不变式提升优化
折叠更多的常数字符串 null 检查
消除没有 GC 字段的被跟踪临时内存的零初始化
动态 PGO
更新返回合并和尾调用的 profile
Class profile: 为集合类 typehandle 可使用 unknown 占位符
在寄存器中保持值类型结构
完成值类型结构改进的第一部分: 创建更多的 LCL_FLD
改进 ‘STORE_BLK(lcl_var)’ 的生存性
完成 .NET 6 异常处理器写直通
JIT 中默认启用
将单定义的异常处理器放入寄存器
7~18% 性能提升
.NET 热重载对 Web 应用初步可用
.NET 6 Preview 3 启用了对 ASP.NET Core 和 Blazor 热重载的初步支持,只需要通过 dotnet watch
启动项目即可使用,不过需要修改 Properties/launchSettings.json
后才能使用热重载:
对于 ASP.NET Core 应用,添加 "hotReloadProfile": "aspnetcore"
;对于 Blazor WebAssembly 应用,添加 "hotReloadProfile": "blazorwasm"
。
热重载可以在不重新启动应用程序,并且也不丢掉上下文和应用状态的情况下直接应用代码的更新。该功能不依赖 Visual Studio,即使你用记事本修改代码也一样能进行热重载。
另外,这只是 .NET 6 热重载第一步,后续还会为其他所有类型的 .NET 应用开发启用热重载支持。
结语
关于 ASP.NET Core 和 EntityFramework Core 其实还有更多的更新内容,但是这里就不一一介绍了。
以上就是 .NET 6 Preview 3 中包含的部分更新内容,感谢阅读。
.NET 6 Preview 3 发布相关推荐
- .NET 6 Preview 2 发布
前言 在 2021 年 3 月 11 日, .NET 6 Preview 2 发布,这次的改进主要涉及到 MAUI.新的基础库和运行时.JIT 改进. .NET 6 正式版将会在 2021 年 11 ...
- 【翻译】.NET 5 Preview 1 发布
.NET 5 Preview 1 发布 去年年底,我们发布了.NET Core 3.0和3.1.这些版本添加了桌面应用程序模型Windows Forms(WinForms)和WPF,ASP.NET B ...
- .NET Core 3 Preview 2发布,C#8更强大的模式匹配
.NET Core 3 Preview 2 发布了,此版本主要带来了 C# 8 相关的新功能,C# 8 Preview 2 是 .NET Core 3 SDK 的一部分. C# 8 中使用模式进行更多 ...
- .NET Core 2.1 Preview 1发布:更快的构建性能
今天,我们宣布发布 .NET Core 2.1 Preview 1.这是 .NET Core 2.1 的第一个公开发布.我们有很大的改进希望分享出来,并且渴望得到您的反馈意见,无论是在评论中还是在gi ...
- Visual Studio 15 Preview 5 发布 大幅提升性能
Visual Studio 15 Preview 5 发布了,该版本包括许多新的提升和 bug 修复. 微软发布了 Visual Studio 15 的第 5 个预览版本.据微软描述,Preview ...
- .NET Core 3 Preview 2 发布,C# 8 更强大的模式匹配
.NET Core 3 Preview 2 发布了,此版本主要带来了 C# 8 相关的新功能,C# 8 Preview 2 是 .NET Core 3 SDK 的一部分. C# 8 中使用模式进行更多 ...
- 滴滴上线自动驾驶服务;微软宣布将永久关闭实体店;.NET 5.0 Preview 6 发布 | 极客头条...
整理 | 屠敏 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极 ...
- 马化腾、马云并列成为中国首富;百度回应“将上线电商直播”;.NET 5 Preview 2 发布 | 极客头条...
整理 | 屠敏 头图 | CSDN 下载自东方 IC 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 一分钟 ...
- .NET 6 Preview 1 发布
.NET 6 Preview 1 发布 前言# 2021 年 2 月 17 日微软发布了 .NET 6 的 Preview 1 版本,那么来看看都有什么新特性和改进吧,由于内容太多了因此只介绍一些较为 ...
最新文章
- ASPNet_Compiler学习总结
- 中国存储器行业应用趋势与投资机遇研究报告2022版
- MFC中混合使用Duilib制作界面
- 如果没有就插入,如果有就更新
- 笨办法学linux dhcp,了解网关、DNS、子网掩码、MAC地址、DHCP
- Matlab sumsqr函数
- 前端使用正则表达式从接口地址栏取值并将对应的值展示在页面上
- 数学专业毕业,不去做人工智能简直就是在犯罪!
- (4)Matplotlib_零碎知识点
- 【 2015-2016 XVI Open Cup, Grand Prix of Bashkortostan, SKB Kontur Cup Stage 2】题目总结
- 统计二叉树的叶子结点个数(C语言数据结构)
- 第二章作业习题答案续
- linux C语言多线程 轻进程 LWP:Light Weight Process
- 微信公众号网页授权40029错误「建议收藏」
- 从Otherside土地稀缺体系聊起, Yuga Labs到底在布局什么?
- 【数据库架构】NewSQL和PGXC
- 两用图片视频压缩软件
- Go语言处理Windows系统的图标ICO文件(中)
- leetcode 714 买卖股票的最佳时机含手续费-动态规划(中等)
- 企业微信又更新了!聊天敏感词、下载直播回放视频、聊天文件支持10GB...
热门文章
- PHP-Redis扩展安装 error: ext/standard/php_smart_str.h: No such file or directory
- phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护
- Oracle数据库查询用 where in 查询的项超过1000条的解决方案
- Tomcat - Tomcat安装
- 在Activity不可见时暂停WebView的语音播放,可见时继续播放之前的语音
- oracle 基本异常的练习及各个错误码
- Redis系统性介绍
- 如何开发一个学生成绩管理糸统(9)
- xbox one 越狱_如何在Xbox One上播放视频和音乐文件
- Linux 环境下 jdk1.8 maven3.2.3 Git2.8.0 安装脚本