Microsoft、歴代最速の「.NET 9」を発表 ~GC、ランタイム、LINQ、JSONで改善を重ねる
米Microsoftは11月12日(現地時間)、「.NET 9」をリリースした。同日より3日間開催されるバーチャルイベント「.NET Conf 2024」で、新しい要素や機能の詳細が紹介されている。 【画像】JSONのベンチマーク。パフォーマンス、メモリ使用量ともに改善がみられる 「.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%以上の改善が見られたとのこと。これらの処理はアプリケーションの随所で使われているので、細部の小さな速度向上がアプリ全体では大きなパフォーマンス改善となりうる。 そのほかにも、さまざまな分野で新しい技術や改善が盛り込まれている。 ・分散アプリケーションの開発基盤「.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」アップデートも利用可能だ。
窓の杜,樽井 秀人