转载

VS2015 Update 2中如何提升.NET Native代码

  英文原文:How VS2015 Update 2 Improves .NET Native Code

  Microsoft 持续发表 Visual Studio 2015 的新特性与功能。在最新的称为 Update 2 的变更中也不例外,对 .NET Native 编译器进行了几项更新。你可能记得,当 .NET native 作为编译目标时,Windows 应用程序(这里指针对 Windows 10 的 UWP 应用程序)直接被编译为本地代码,而不产生默认的中间语言(IL)。这样做有几个优点,最主要的是开发者可以继续用 C# 或是 Visual Basic 写应用程序,而与传统的基于 IL 的应用程序相比,用户可得到更快的执行速度,更短的启动时间并占有更少的内存。

  可以预见,编译 .NET 为本地代码有许多缺点。Microsoft 准备了一个很长的列表,其中列出了他们认为的 .NET Native 与常规的 Windows 应用程序之间的“行为变化”。本文不会详细说明这些变化,但值得注意的是其中涉及泛型反射的变化。正如 .NET 团队的 Stacey Haffner 和 Matthew Whilden 在一篇博文中写道的,“当编译本地代码时,动态性问题将会成为一个挑战,因为所有的代码都必须在编译时识别和编译。”

  由于使用静态分析来确定所有泛型实例非常复杂,团队引入了 Universal Shared Generics (UGS)。现在当可以用特定类型的代码表示时,会产生优化后的代码,而当不可表示时则会使用 UGS。

  另外一个有利于所有 .NET Native 开发者的变化是 .NET Native 项目编译器后端的改变。最新发布的 1.3.1 版本的 .NET Native 工具使用与 Microsoft C++ 编译器相同的程序内联引擎。随着时间的推移,.NET 团队计划在 .NET Native 项目中使用更多 C++ 编译器提供的优化方案。 
要使用这些新的编译器功能,你需要下载最新的 UWP App Development Tools(1.3.1 版本 for Windows 10 SDK 10.0.10586),并从 NuGet 下载最新的 .NET Core UWP 包。它们需要安装在 Update 2 可用的 Visual Studio 2015 之上。

正文到此结束
Loading...