在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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:003385
用户头像

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

关注

评论

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

HarmonyOS 5.0应用开发——V2装饰器@once的使用

高心星

鸿蒙 装饰器 HarmonyOS5.0 V2装饰器

物流助手系统说明

微擎应用市场

AI教育白皮书解读 | 新工科背景下“人工智能+教育”模式探索与实践

ModelWhale

AI教育 人工智能+ 工科

如何通过YashanDB实现数据一致性与高可用

数据库砖家

MyEMS:开源能源管理的探索与实践

开源能源管理系统

开源 开源能源管理系统

如何通过YashanDB实现数据访问的高可用性?

数据库砖家

从 “数据洞察” 到 “可持续行动”:MyEMS 开源能源管理系统的核心价值与实践意义

开源能源管理系统

开源 开源能源管理系统

这些CAD看图纸小技巧你一定要了解!

在路上

cad cad看图

MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术

得物技术

MySQL 数据库 关系型数据库 MySQL 数据库

如何通过YashanDB实现数据实时同步与复制

数据库砖家

如何通过YashanDB数据库实现业务智能化

数据库砖家

如何通过YashanDB数据库实现智能数据管理

数据库砖家

如何通过YashanDB数据库提升客户体验与服务质量

数据库砖家

无需复杂正则:SLS 新脱敏函数让隐私保护更简单高效

阿里巴巴云原生

阿里云 AI 云原生 日志服务 sls

智能搜索是什么,如何使用?产品设计提效技巧分享

职场工具箱

人工智能 AI 产品设计 AIGC ui设计

函数计算进化之路:AI Sandbox 新基座

阿里巴巴云原生

阿里云 Serverless 云原生

PWA vs 小程序:技术对比及出海应用策略探讨

xuyinyin

洞察先机,规避风险:海外社交媒体监控是现代舆情监测的必选项

沃观Wovision

社交媒体 海外社媒营销 沃观Wovision 舆情监测系统 海外舆情监测

如何通过YashanDB实现数据备份和恢复的最佳实践?

数据库砖家

如何通过YashanDB数据库实现数据实时同步

数据库砖家

儿童无屏幕对讲机 Bunny 融资百万美元;腾讯会议推出 AI 托管:先行听会、代听多会、全程记录丨日报

RTE开发者社区

如何通过YashanDB数据库实现高并发数据访问

数据库砖家

从西贝预制菜事件看企业公关失误与舆情监测的重要性

沃观Wovision

沃观Wovision 舆情监测系统 海外舆情监测 西贝

微活码系统介绍

微擎应用市场

基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v10.0版已发布

JackJiang

网络编程 即时通讯 IM MobileIMSDK RainbowChat

LED灯具行业MES选型与实施全攻略

万界星空科技

mes LED数码管 万界星空科技mes 灯具照明行业 灯具照明MES

MyEMS:赋能每一个组织,成为自己的能源管理专家

开源能源管理系统

开源 开源能源管理系统

北京航空航天大学 鲲鹏昇腾科教创新孵化中心揭牌,推动中国自主计算生态建设

极客天地

对话质变科技CEO离哲:大模型决定上半场,数据和工程能力决定下半场

AI数据云Relyt

AI 数据分析 大模型 AI Agent Agentic AI

如何快速看懂「祖传项目」?Qoder 强势推出新利器

阿里巴巴云原生

阿里云 AI 云原生 Qoder

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