ニュース

Microsoft、歴代最速の「.NET 9」を発表 ~GC、ランタイム、LINQ、JSONで改善を重ねる

18カ月サポートのSTSリリース

Microsoft、「.NET 9」をリリース

 米Microsoftは11月12日(現地時間)、「.NET 9」をリリースした。同日より3日間開催されるバーチャルイベント「.NET Conf 2024」で、新しい要素や機能の詳細が紹介されている。

 「.NET 9」は、クロスプラットフォーム対応のアプリ開発フレームワーク「.NET」の新しい年次リリース。ランタイムやワークロード、言語全体で1,000を超えるパフォーマンス関連の変更が加えられたほか、より効率的なアルゴリズムでより優れたコードを生成できるようになり、これまでで最もパフォーマンスの高い「.NET」リリースとなった。

 たとえば、「Server GC」は実行環境(実機・VM・コンテナー)のリソース(CPUやメモリ)ではなく、アプリ側のニーズに適応するように大幅改良。従来のGC(不要なメモリを回収するガベージコレクター)はサーバー実装とワークステーション実装で結果が異なり、どちらを選ぶかでトレードオフがあったが、それが緩和される。

 また、ランタイムではARM64の「SVE」、Intel CPUの「AVX10」といったCPU拡張命令の活用が進められ、多くの処理がハードウェアアクセラレーションされるようになった。次世代ジャストインタイム(JIT)コンパイラー「RyuJIT」でもARM64対応、ループ処理、PGO、境界チェックのパフォーマンスが向上。例外処理に関しても、Native AOTで使用されているのと同じ例外モデルを採用したことにより50%高速化が実現されているとのこと。

 そのほかにも、データ処理API「LINQ」がさまざまな一般的ケースに対して最適化。Webアプリ以外でも利用頻度の高いJSONの処理でも低レベルで大幅な最適化が実施され、さまざまな操作で50%以上の改善が見られたとのこと。これらの処理はアプリケーションの随所で使われているので、細部の小さな速度向上がアプリ全体では大きなパフォーマンス改善となりうる。

JSONのベンチマーク。パフォーマンス、メモリ使用量ともに改善がみられる

 そのほかにも、さまざまな分野で新しい技術や改善が盛り込まれている。

  • 分散アプリケーションの開発基盤「.NET Aspire 9」
  • AI開発のためのエコシステム
  • .NET開発者向け「GitHub Copilot」の改善
  • .NET用のフルスタックWebフレームワーク「ASP.NET Core」。Blazor記法も拡充
  • 「ASP.NET Core」のOpenAPIの機能、セキュリティの強化
  • モバイル・デスクトップ両対応のアプリフレームワーク「.NET MAUI」の改善。Syncfusion社の貢献を受け入れることでコントロールも拡充
  • Windowsアプリ開発の強化。「WinUI 3」のネイティブAOTサポート、WPF向け「Fluent UI」、新しいダークモード、WinFormsの強化
  • 「C# 13」や「F# 9」といった新しい言語機能

 「.NET 9」は現在、公式サイト「dotnet.microsoft.com」から無償でダウンロード可能。来年リリースされる長期サポートリリース(LTS)が出てから6カ月間、つまり今から少なくとも18カ月のサポートが提供される。「.NET 9」対応の「Visual Studio 2022」や「Visual Studio Code」向けの「C# Dev Kit」アップデートも利用可能だ。

「.NET 9」は18カ月間の「STS」(標準期間サポート)リリース。長期運用は「.NET 8」がおすすめ