新しいASP.NETコアとEFコアも準備ができています。Windows、macOS、およびLinux用の.NET 5.0 Preview7
をダウンロードできます。
.NET 5.0 を使用するには、Visual Studio 201916.7を使用する必要があります。.NET 5.0は、Visual Studio forMacでサポートされるようになりました。Visual StudioCodeで.NET5.0を使用するには、最新のC#拡張機能をインストールしてください。 カットの下でプレビュー7についてもっと読む。
パフォーマンス
Stephen Taubは最近、シリーズの最新版である「.NET5のパフォーマンスの向上」という投稿を公開しました。約250のパフォーマンス指向のプルリクエストをカバーします。これには、.NETCoreのパフォーマンスを注意深く見ている人々を驚かせる可能性のある改善が含まれています。
System.Text.Json
新しいJSONAPIに使いやすさの機能を追加しました。次の機能はプレビュー7の新機能です(プレビュー8にはさらに多くの機能があります)。
(GC)
GCは、GCMemoryInfo構造を返すGC.GetGCMemoryInfoメソッドを介して最新のコレクションの詳細を提供するようになりました。GCMemoryInfoは、マシンメモリ、ヒープメモリ、最新のコレクション、または指定したタイプのGC(エフェメラル、フルブロッキング、バックグラウンドGC)の最新のコレクションに関する情報を提供します。 この新しいAPIの最も可能性の高い使用例は、ロギング/モニタリング、または完全なGCを要求するためにマシンをローテーションから外す必要があることをロードバランサーにロードローダーに指示することです。これは、キャッシュのサイズを縮小することにより、ハードコンテナの制約を回避するためにも使用できます。
RyuJIT
RyuJITは、IntelチップとARMチップの両方用に設計された.NET用のアセンブリコードジェネレータです。RyuJITの仕事の多くはパフォーマンスに焦点を当てています。
- 主な改善点
- いくつかの境界チェックをeliding有効 -クレジット ネイサン・ムーア@
- C#で書き直された後、Enum.CompareToを最適化します -パフォーマンスは以前のC ++実装と同等になりました。
- 構造のレジスタ割り当ての改善 -multireglclVarsの登録
- 冗長なゼロ初期化の削除の改善
- テール重複の改善
- スタックベースの構造はCQ修正をコピーします
- 冗長なゼロ初期化を削除した後、デッドフィールド割り当てをクリーンアップします
- ARM64ハードウェア組み込みおよびAPI最適化
- 「要素ごと」の組み込み関数の大部分を実装する
- fcvtxn、fcvtxn2、sqabs、sqneg、suqadd、usqadd組み込み関数を実装します- #38010、 #38110
- SpanHelpers.IndexOf(byte)、SpanHelpers.IndexOf(char)を最適化する
- SpanHelpers.IndexOfAny(バイト)を最適化する
- WithLower、WithUpper、Create、AsInt64、AsUInt64、AsDoubleを最適化する
- AsVector、AsVector128、GetUpper、As、WithElementを最適化する
結論
プレビュー7の使用経験について教えてください。フィードバックを共有するのに遅すぎることはありません。リリースに近づきつつあり、基本的に新機能の開発が終了したため、品質に注力しています。