.NET 5.0 Preview 7
1. 前言
微软发布了 .NET 5.0 Preview 7。它是预览版本中的倒数第二个(在迁移到 RC 之前)。大多数功能此时应该非常接近完成。单个文件和 ARM64 内在函数是两个需要最长时间才能完成的功能区域,但在 Preview 8 中正处于轨道上。请参阅.NET 5.0 Preview 4以获得更广泛的版本视图。
您需要使用Visual Studio 2019 16.7才能使用 .NET 5.0。Visual Studio for Mac现在支持 .NET 5.0 。安装最新版本的C# 扩展以将 .NET 5.0 与Visual Studio Code 结合使用。
2. 性能提升
Stephen Toub最近发布了.NET 5 中的性能改进。他涵盖了大约 250 个面向性能的拉取请求,其中揭示了一些改进,甚至会让密切关注 .NET Core 性能的人感到惊讶。
3. System.Text.Json
我们一直在向新的 JSON API 添加可用性功能。以下功能是预览版 7 中的新功能(预览版 8 中还有更多功能)。
- [重大更改] 能够在序列化时忽略值类型属性的默认值——可用于减少序列化和连线成本。
- 序列化时可以处理循环引用-API形状现在有望最终确定。
4. 垃圾回收 (GC)
GC 现在通过GC.GetGCMemoryInfo方法公开最近收集的详细信息,该方法返回GCMemoryInfo结构。GCMemoryInfo 提供有关机器内存、堆内存和最近收集的信息,或您指定的 GC 类型的最近收集 - 临时、完全阻塞或后台 GC。
使用这个新 API 最有可能的用例是记录/监控或向加载器平衡器指示一台机器应该停止旋转以请求完整的 GC。它还可以通过减少缓存的大小来避免容器硬限制。
另一个小而有影响的更改是将昂贵的reset memory操作推迟到低内存情况。我们预计这些政策变化会降低 GC 延迟(以及一般的 GC CPU 使用率)。