写点什么

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

  • 2016-05-02
  • 本文字数:841 字

    阅读完需:约 3 分钟

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 之上。

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


感谢夏雪对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-05-02 19:002855
用户头像

发布了 218 篇内容, 共 67.9 次阅读, 收获喜欢 76 次。

关注

评论

发布
暂无评论
发现更多内容

Linux_进程理解、状态与优先级(详细版)

不在线第一只蜗牛

Linux 运维 服务器

模型训练的科学基础:训练集、验证集与测试集的区别与应用策略

测吧(北京)科技有限公司

测试

Tritonserver 在得物的最佳实践

得物技术

GPU推理 KubeAI平台部署 KubeAI

如何从真实数据中挑选高质量数据:提升模型性能的关键技巧

测吧(北京)科技有限公司

测试

【架构与设计】常见微服务分层架构的区别和落地实践

京东科技开发者

Apache Dubbo 3.3 全新发布:Triple X 领衔,开启微服务通信新时代

Apache Dubbo

微服务 dubbo RPC 中间件 Java.

鸿蒙网络编程系列12-使用Request部件下载文件到本地示例

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

鸿蒙网络编程系列13-使用Request部件上传文件到服务端示例

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

鸿蒙网络编程系列16-获取Wifi信息示例

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

MySQL性能优化浅析及线上案例

京东科技开发者

Enfocus PitStop Pro 2022 for Mac(pdf增强插件)v22.0.1378944激活版

理理

如何构建高效的训练数据集:机器学习模型质量提升的最佳实践

测吧(北京)科技有限公司

测试

VMware Fusion Pro 12 Mac(vm虚拟机永久密钥)v12.2.5激活版

理理

如何配置 GreptimeDB 作为 Prometheus 的长期存储

Greptime 格睿科技

时序数据库 技术分享

一图了解华为开发者空间,领取你的专属云主机

华为云开发者联盟

鸿蒙 云主机 GaussDB 昇腾

由云智慧发起的《数字政府统一运维 第1部分:运维平台建设指南》团标正式发布

云智慧AIOps社区

标准化 运维‘ 智能运维AIOps

从零到一:如何通过自学习机制确保模型的稳定性与数据质量

测吧(北京)科技有限公司

测试

流行的API开发工具 Postman for Mac

理理

鸿蒙网络编程系列14-WebSocket客户端通讯示例

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

鸿蒙网络编程系列15-域名解析示例

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

SD-WAN最低需要多少带宽?带宽计算方法

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商 SDWAN SD-WAN国际专线

鸿蒙网络编程系列11-使用HttpRequest上传文件到服务端示例

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

abbyy finereader ocr mac破解版 ocr文字识别软件

理理

Studio One 7 Pro for mac(音乐创作编辑软件)v7.0.0永久激活版

理理

Tomcat线程池详解,为什么SpringBoot最大支持200并发?

EquatorCoco

Java Spring Boot

Amazon Q Developer 实践:零基础创建贪吃蛇游戏

亚马逊云科技 (Amazon Web Services)

人工智能 生成式人工智能 Amaozn Q

从专家系统到机器学习:人工智能核心概念的历史演进与发展脉络

测吧(北京)科技有限公司

测试

axure汉化版及axure pr10安装教程

理理

数据与特征在AI模型中的作用:如何通过实际问题优化机器学习模型

测吧(北京)科技有限公司

测试

自学习与数据闭环:构建稳定机器学习模型的核心技术

测吧(北京)科技有限公司

测试

2024年,游戏行业的买量机会还有多大?

Geek_2305a8

VS2015 Update 2中如何提升.NET Native 代码_.NET_Jeff Martin_InfoQ精选文章