マイクロソフト、「.NET 10」正式リリース、2年ぶりのLTS版。JITコンパイラの最適化などによる高速化、耐量子計算機暗号など新機能
マイクロソフトは日本時間の11月13日未明からオンラインイベント「.NET Conf 2025」を開催。同社の包括的なアプリケーションフレームワークの最新版となる「.NET 10」正式版のリリースを発表しました。

.NETは、デスクトップからモバイル、クラウド、ゲーム、IoT、そしてWindows、Linux、macOSなど、あらゆるプラットフォームに対応したアプリケーションの開発を包括的にカバーするフレームワークです。

.NETの大きな枠組みの中に、プログラミング言語のC#やコンパイラ、ランタイム、そしてクロスプラットフォーム対応のUIフレームワーク.NET MAUIやWebアプリケーションフレームワークのBlazor、分散アプリケーションで監視機能を実装するためのAspireなどが含まれています。
.NET 10は2年ぶりのLTS版
.NETは1年ごとにメジャーバージョンアップが行われ、2年ごとに登場する偶数バージョンがLTS(Long Term Support:長期サポート)版となります。
.NET 10 は2年ぶりの長期サポート(LTS)リリースとして 3 年間サポート、2028年11月までサポートされます。
これまで最新のLTS版であった.NET 8は来年(2026年)11月までのサポートとなるため、今後1年以内に.NET 10への移行を検討すべきでしょう。
.NET 10ランタイムの主な新機能
.NET 10ではランタイムにおけるパフォーマンス改善、ライブラリにおける暗号化やグローバリゼーションに関する機能追加などが行われています。
以下では主な新機能などを紹介します。
.NET 10ランタイムではJITコンパイラのコード生成や最適化によってパフォーマンス向上が行われました。
具体的には、.NETのJITコンパイラで「物理昇格」と呼ばれる、構造体のメンバーがスタックではなくレジスタに配置される最適化が行われることがあります。このとき、これまでのJITでは最初に値をメモリに格納し、そのあとでレジスタに読み込んでいましたが、.NET 10では、レジスタを共有する値を処理するようにJITコンパイラの内部表現が改善されたことで不要なメモリ操作を排除できるようになりました。
また、ForやWhileを用いたループにおいて、従来のJITでは条件をループの一番下に移動することでループの先頭に分岐して条件をテストする必要がなくなる「ループ反転」と呼ばれる最適化が行われています。
.NET 10のJITではこのループ反転を強化するために、ループ認識実装を字句解析の実装からグラフベースに切り替えることで精度が向上しています。
その他、「配列インターフェイス メソッドの非仮想化」「配列列挙の抽象化解除」「コード レイアウトの改善」「インライン展開の機能強化」を始めとしたさまざまなJITの性能向上が.NET 10で行われています。

これらの改善により、APIの呼び出し性能として最大15%、メモリ使用量として93%改善されたとしています。

.NET 10ライブラリの新機能
.NET 10ライブラリでは、証明書が改ざんされていないことを確認するための暗号化証明書の拇印に関して、SHA-1以外の拇印でも証明書を検索できるように、照合に使用するハッシュアルゴリズムの名前を受け入れる新しいメソッドが導入されています。
また、耐量子計算機暗号(Post-Quantum Cryptography)としてML-KEM(FIPS 203)、ML-DSA(FIPS 204)、SLH-DSA(FIPS 205)の3つの新しい非対称アルゴリズムがサポートされました。
その他、.NET 10の新機能の詳細については「.NET 10 の新機能」をご覧ください。
