.NET Core CLRチームは、次世代のJust-In-TimeコンパイラRyuJITが.NET Coreプラットフォームに完全に対応したことを発表した。詳しくない人にとっては、.NET Coreでコンパイラ(Roslyn)がC#をCIL(Common Intermediate Language)バイトコードにコンパイルするものである。RyuJITは、次にこのCILバイトコードを対象アーキテクチャのマシンコードにコンパイルする。その結果、RyuJIT(x86、x64、ARM32、ARM64)でサポートされている4つのCPUアーキテクチャすべてが、従来のシステムと比較して、RyuJITによって提供されるパフォーマンスと高効率の恩恵を享受できるようになった。
RyuJITの開発は、コミュニティにおけるプレビューを通じて、2013年9月に初公開された。RyuJITの最初の製品リリースはx64アーキテクチャ向けであり、2015年7月に.NET Framework 4.6の一部としてリリースされた。次にx86、続いてARM32に対応した。MicrosoftのBruce Forstall氏によれば、ARM64は.NET Core 2.1の「プレビュー品質に近い」ものである。明確には述べていないが、.NET Core 2.2にはこのアーキテクチャが含まれるようである。Forstall氏は、ARM64プラットフォームのサポートを進めるためにクアルコムが大きな協力があったと述べている。
現在の.NET Frameworkのユーザは、x64プラットフォームをターゲットにする場合、RyuJITを利用するメリットがある。x32用に生成されたコードは、従来のコンパイラであるJIT32を引き続き使用する。.NET Core 2.1ユーザはすでに、RyuJITをx86、x64、ARM32に利用している。
この作業を完了し、Forstall氏は、RyuJITの今後の計画として、SIMDサポート、アーキテクチャ固有のハードウェア組み込み関数、および「Linuxソフトウェアコンベンションのサポート」の追加すると述べている。また、Forstall氏らは、RyuJITが生成するコードの全体の品質を引き続き改善したいと考えている。開発者の反応は全体的に好感触のようである。WebASMをターゲットとして追加するという、興味深い見通しの可能性について質問した人がいたが、現在のところ正式な発表はない。
Rate this Article
- Editor Review
- Chief Editor Action