web-dev-qa-db-ja.com

新しい.Netネイティブとは

今日、私は新しい.Net Nativeに関する記事を [〜#〜] msdn [〜#〜] で読みました。

「Windowsストアアプリは、.NET Nativeで最大60%速く起動し、メモリフットプリントがはるかに小さくなります。最初のリリースは、この新しいコンパイラでアプリを開発およびテストできる開発者プレビューです。NETNativeのこのプレビューリリースは、 C#の生産性を備えたC++のパフォーマンス。

もちろん、これは本当に興味深いことですが、.Net Nativeが優れたパフォーマンスを提供する新しいコンパイラである場合、なぜRyuJITを選択する必要があるのでしょうか。この新しい.Netネイティブとは何ですか?新しい.NetNativeとRyuJITの違いは何ですか。また、MicrosoftはRoslynと呼ばれるサービスとしてコンパイラをリリースしました。では、Roslynがこの新しい.Netネイティブをどのようにサポートするか。

28
Vimal CK

.NET Nativeは、Roslynプロジェクト自体の一部ではありません。 Roslynは、C#およびVBコンパイラと言語サービスの再実装です。これらのコンパイラはマネージアセンブリを生成することを忘れないでください。実行するには、プラットフォーム固有のコードに変換する必要があります。これは通常、 .NETランタイムのJITコンパイラを介して実行されます。

.NET Nativeを使用すると、.NETプロジェクトをNGENと同様のネイティブバイナリに変換できますが、いくつかの重要な違いがあります。 .NET Nativeは、NGENとは異なるネイティブコンパイラ部分を使用して、一般的に高速で小さなコードを生成します。また、通常の.NETアプリでは利用できない一種の静的リンクも可能です。

24
Brian Rasmussen