28

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

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

当然,这真的很有趣,但是如果 .Net Native 是一个新的编译器,它可以提供良好的性能,那么我们为什么需要使用 RyuJIT。这个新的 .Net Native 是什么?新的 .Net Native 和 RyuJIT 有什么区别,微软也将编译器发布为一项名为 Roslyn 的服务。那么 Roslyn 如何支持这个新的 .Net Native。

4

1 回答 1

24

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

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

于 2014-04-04T16:26:00.667 回答