2021-04-09

.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 中包含的部分更新内容,感谢阅读。









原文转载:http://www.shaoqun.com/a/673733.html

跨境电商:https://www.ikjzd.com/

tenso:https://www.ikjzd.com/w/1552

marks spencer:https://www.ikjzd.com/w/2385


前言2021/4/8.NET6Preview3发布,这个版本的改进大多来自于底层,一起来看看都有什么新特性和改进吧。库改进新增值类型作为字典值时更快的处理方法.NET6Preview3引入了新的unsafeAPICollectionsMarshal.GetValueRef,这个API允许你在无数据拷贝的情况下就地更新值,并且将键的哈希计算从2次减少到1次。该改进在高性能场景下更新字典中存储的str
刘军:https://www.ikjzd.com/w/1835
贝贝特卖:https://www.ikjzd.com/w/1321
贸发局:https://www.ikjzd.com/w/1621
观点|疫情对跨境电商带来的影响及应对措施!:https://www.ikjzd.com/home/115346
我做二奶的"非人"生活:http://www.30bags.com/m/a/252976.html
2021年,亚马逊广告收入或将超过AWS!:https://www.ikjzd.com/home/4663

No comments:

Post a Comment