什么是新的.Net Native

时间:2014-04-04 16:19:19

标签: c# .net roslyn .net-framework-version ryujit

今天我在MSDN上阅读了一篇关于新的.Net Native的文章。

  

“使用.NET Native,Windows Store应用程序的启动速度提高了60%   更小的内存占用。我们的第一个版本是开发人员   预览,允许您使用这个新的开发和测试应用程序   编译器。 .NET Native的预览版为您提供了   C ++的性能与C#的生产力“。

当然,这真的很有趣但是如果.Net Native是一个新的编译器,它提供了良好的性能,那么为什么我们需要去RyuJIT。什么是新的.Net Native?新的.Net Native和RyuJIT之间有什么区别,微软发布的编译器也称为Roslyn。所以Roslyn如何支持这个新的.Net Native。

1 个答案:

答案 0 :(得分:24)

.NET Native不是Roslyn项目的一部分。 Roslyn是C#和VB编译器和语言服务的重新实现。请记住,这些编译器生成托管程序集为了运行,必须将它们转换为特定于平台的代码。这通常通过.NET运行时中的JIT编译器完成。

.NET Native允许您将.NET项目转换为与NGEN类似的本机二进制文件,但有一些重要的区别。 .NET Native使用与NGEN不同的本机编译器部分,通常可以生成更快,更小的代码。它还允许一种静态链接,这种链接不适用于常规.NET应用程序。