写点什么

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

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

关注

评论

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

利用ChatGPT提升工作效率的技巧与方法

霍格沃兹测试开发学社

item_get-根据ID取商品详情(shopee.item_get):提高跨境电商交易效率的关键

技术冰糖葫芦

API 文档

精细管理,智慧决策:商品企划系统如何提升鞋服品牌运营效率?

第七在线

AIGC下一步:如何用AI再度重构或优化媒体处理?

阿里云CloudImagine

云计算 视频云 AIGC

AI PPT软件有哪些?这5款堪称神器,职场白领必备!

彭宏豪95

职场 PPT 在线白板 办公软件 AIGC

Spark在分布式造数工具中的应用探索

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

测试

Spark技巧大揭秘:构建分布式造数工具加速工作效率

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

测试

白话大模型③ | 我们为何需要机器学习运营平台?

星环科技

Apache Calcite 一条 SQL 的查询计划生成之旅【上】

LakeShen

开源 sql 优化器 apache 社区 Apche Calcite

自学习概念探析:构建稳定模型的核心思想

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

测试

新一代湖仓集存储,多模型统一架构,高效挖掘数据价值

星环科技

坐标 DISTRIBUTECH,TDengine 发力海外电力行业

TDengine

tdengine 时序数据库

白话大模型① :AI分析能做什么?在实际落地中会碰到什么问题?

星环科技

关于 yarn 的中央仓库 registry.yarnpkg.com

伤感汤姆布利柏

从历史视角看人工智能:专家系统、机器学习与深度学习

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

测试

自学习的现实应用:构建智能系统的新思路

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

测试

Pygame:实现Python游戏开发的跨平台梦想

技术冰糖葫芦

API 文档

低代码与国产化部署:软件开发的未来趋势与应用实践

不在线第一只蜗牛

低代码 软件咖啡 国产化部署

数据闭环构建技巧:确保模型稳定性与数据质量

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

测试

如何选择合适的数据提升模型性能

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

测试

智达方通总经理蔡志宏先生受邀参与哈工大京津冀校友发展研讨会,共话科技创新与发展新篇章

智达方通

智达方通 企业绩效管理 预算管理 哈工大 校友会

关于Python中math 和 decimal 模块的解析与实践

不在线第一只蜗牛

Python 开发语言 模块开发

深入理解训练集、验证集和测试集在模型训练中的作用

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

测试

软件测试学习笔记丨docker 搭建常用服务器与平台命令

测试人

Docker 软件测试 自动化测试 测试开发

数据闭环的建立:确保模型发展的可持续性

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

测试

TikTok直播专线,全程稳定的专属网络

Ogcloud

Tik Tok直播 Tik Tok直播网络 Tik Tok 海外直播 直播专线

基于图数据库构建知识图谱平台应用实践

星环科技

白话大模型② | 如何提升AI分析的准确性?

星环科技

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