.NET 6 攻略大全(二)( 二 )


**.NET information
Version: 6.0.0
FrameworkDeion: .NET 6.0.0-rtm.21522.10
Libraries version: 6.0.0-rtm.21522.10
【.NET 6 攻略大全(二)】Libraries hash: 4822e3c3aa77eb82b2fb33c9321f923cf11ddde6
**Environment information
ProcessorCount: 8
OSArchitecture: Arm64
OSDeion: Microsoft Windows 10.0.22494
OSVersion: Microsoft Windows NT 10.0.22494.0
如您所见 , 该工具在 Windows Arm64 上本机运行 。 我将向您展示 ASP.NET Core 的样子 。
.NET 6 攻略大全(二)
文章图片

▌macOS Arm64
您可以看到在 macOS Arm64 上的体验是相似的 , 并且还展示了架构目标 。

rich@MacBook-Air app % dotnet --version6.0.100rich@MacBook-Air app % dotnet --info | grep RIDRID: osx-arm64rich@MacBook-Air app % cat Program.cs using System.Runtime.InteropServices;using static System.Console;WriteLine($"Hello, {RuntimeInformation.OSArchitecture} from {RuntimeInformation.FrameworkDeion}!");rich@MacBook-Air app % dotnet runHello, Arm64 from .NET 6.0.0-rtm.21522.10!rich@MacBook-Air app % dotnet run -a x64Hello, X64 from .NET 6.0.0-rtm.21522.10!rich@MacBook-Air app %这张图片展示了 Arm64 执行是 Arm64 SDK 的默认设置 , 以及使用-a参数在目标 Arm64 和 x64 之间切换是多么容易 。 完全相同的体验适用于 Windows Arm64 。
.NET 6 攻略大全(二)
文章图片

此图像演示了相同的内容 , 但使用的是 ASP.NET Core 。 我正在使用与您在上图中看到的相同的 .NET 6 Arm64 SDK 。
▌Arm64 上的 Docker
Docker 支持在本机架构和仿真中运行的容器 , 本机架构是默认的 。 这看起来很明显 , 但当大多数 Docker Hub 目录都是面向 x64 时 , 这可能会让人感到困惑 。 您可以使用--platform linux/amd64来请求 x64 图像 。
我们仅支持在 Arm64 操作系统上运行 Linux Arm64 .NET 容器映像 。 这是因为我们从不支持在QEMU中运行 .NET, 这是 Docker 用于架构模拟的 。 看来这可能是由于 QEMU 的限制 。
???????????????????????????????????????
.NET 6 攻略大全(二)
文章图片

此图像演示了我们维护的控制台示例:mcr.microsoft.com/dotnet/samples. 这是一个有趣的示例 , 因为它包含一些基本逻辑 , 用于打印您可以使用的 CPU 和内存限制信息 。 我展示的图像设置了 CPU 和内存限制 。
自己试试吧:docker run --rm mcr.microsoft.com/dotnet/samples
▌Arm64 性能
Apple Silicon 和 x64 仿真支持项目非常重要 , 但是 , 我们也普遍提高了 Arm64 性能 。
.NET 6 攻略大全(二)
文章图片

此图像演示了将堆栈帧的内容清零的改进 , 这是一种常见的操作 。 绿线是新行为 , 而橙色线是另一个(不太有益的)实验 , 两者都相对于基线有所改善 , 由蓝线表示 。 对于此测试 , 越低越好 。
容器
.NET 6 更适合容器 , 主要基于本文中讨论的所有改进 , 适用于 Arm64 和 x64 。 我们还进行了有助于各种场景的关键更改 。 使用 .NET 6 验证容器改进演示了其中一些改进正在一起测试 。
Windows 容器改进和新环境变量也包含在 11 月 9 日(明天)发布的11 月 .NET Framework 4.8 容器更新中 。
发布说明可在我们的 docker 存储库中找到:
  • .NET 6 容器发行说明
  • .NET Framework 4.8 2021 年 11 月容器发行说明
▌Windows 容器

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。