写点什么

Visual Studio“15”启动速度提升

  • 2016-10-23
  • 本文字数:1034 字

    阅读完需:约 3 分钟

在 Visual Studio“15”开发工作的技术预览阶段,微软称自己的主要目标之一是改善性能。他们已经对这些改进进行过一定程度的介绍,最近又通过更全面的信息进一步介绍了这些变化。本文将介绍这些让 VS“15”启动速度更快的改进。

更快速地启动 VS“15”

微软项目经理 Selma Ikiz提供了这一领域的细节,她的团队认为这些改进有助于加快VS“15”IDE 本身的启动速度:全新安装后首次启动VS“15”,典型的启动过程,以及配置变更后启动VS“15”的速度都有显著提升。

针对第一种情况,IDE 组件将尽可能延迟加载。诸如扩展管理器和Managed Extensibility Framework(MEF)等组件会在IDE 加载的同时并行加载,借此开发者将能尽快开始使用该程序。根据微软的性能评测,该团队估计相比VS2015,VS“15”的启动速度大约可以加快三倍。

例行启动速度的改进解决了VS“15”大部分常见使用场景中的性能问题:在用户启动该程序完成日常工作时,Ikiz 的团队注意到各种扩展是拖累Visual Studio 启动速度的主要原因。在VS“15”中,扩展可以用异步的方式加载。类似的,Visual Studio 的某些核心服务也可以异步加载。

当VS“15”检测到有加载速度太慢的扩展,会在IDE 中显示一个只出现一次的通知。随后会通过一个专门的“管理Visual Studio 性能”对话框列出影响启动速度的所有内容,包括扩展和编辑器窗口。扩展和工具窗口均可禁用,或维持原状不做更改,或也可在启动时自动隐藏。自动隐藏的工具窗口可由用户在程序启动后重新打开。

轻型解决方案加载

在Technical Preview 4 中首次引入的有限形式的轻型解决方案加载(Lightweight Solution Load)在TP5 中有了进一步完善。这一可选功能的目标在于让用户尽可能快速地获得可供使用的VS“15”。为此在打开一个解决方案后,程序并不会立刻加载该解决方案中包含的全部项目。每个项目将按需加载,此外很多例行任务(代码导航和编辑,以及项目构建)也不再要求必须完整加载项目。

目前该功能最大的受益者是大中型托管代码库。虽然也可用于C++ 等非托管语言,但这种情况下无法发挥该功能的全部收益。当所执行的操作需要加载某个被延迟加载的项目后,解决方案浏览器会通过文字信息和加载图标提醒用户该项目正在加载。

轻型解决方案加载在VS“15”中依然是一个可以随时启用的可选功能。启用/ 禁用该功能后无需重启动VS“15”即可生效。该功能位于选项 | 项目和解决方案对话框中,可通过“轻型解决方案加载(实验)”选项开启。

查看**** 英文原文: Improvements to Visual Studio “15” Startup

2016-10-23 19:002871
用户头像

发布了 283 篇内容, 共 124.1 次阅读, 收获喜欢 63 次。

关注

评论

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

【等保要求】等保要求堡垒机审计日志保留多久?

行云管家

等保 堡垒机 等级保护

喜讯:行云绽放荣获国家高新技术企业证书

行云管家

高新企业 高新技术 高新

企业级数据平台为什么要“可观测”? | StartDT Hackathon

奇点云

数据平台 可观测 云数据 黑客马拉松 奇点云

设计模式第五讲-装饰器模式和代理模式详解

C++后台开发

数据结构 设计模式 后端开发 Linux服务器开发 C++开发

云小课|使用SpringBoot快速构建FunctionGraph HTTP函数

华为云开发者联盟

开发 HTTP 华为云 企业号 2 月 PK 榜 华为云开发者联盟

深入react源码看setState究竟做了什么?

flyzz177

React

PMR 提取视频特征,理解上下文

Zilliz

GaussDB(DWS)性能调优:indexscan导致的性能问题识别与优化

华为云开发者联盟

数据库 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

前端工程师leetcode算法面试必备-二叉树深度广度遍历

js2030code

JavaScript LeetCode

镜舟城市行|镜舟联手永洪科技共话数智运营

镜舟科技

数据库

StarRocks 企业行|走进 58 同城,探索极速统一 3.0 时代的企业实践

StarRocks

数据库

React源码分析(一)Fiber

goClient1992

React

为什么西门子、美的等企业这样进行架构升级,看看改造效果就知道了

TDengine

数据库 tdengine 开源 时序数据库

IM通讯协议专题学习(九):手把手教你如何在iOS上从零使用Protobuf

JackJiang

三十分钟入门基础Go(Java小子版)

京东科技开发者

Java php Go nil 企业号 2 月 PK 榜

用javascript分类刷leetcode22.字典树(图文视频讲解)

js2030code

JavaScript LeetCode

看透react源码之感受react的进化

goClient1992

React

从源码角度看React-Hydrate原理

flyzz177

React

StarRocks获评「2022 中国开源社区健康案例」!

StarRocks

数据库 开源

为实现跨境文件高速传输,镭速传输都用了哪些技术

镭速

转角遇到爱,资源中心系统和图数据库

鲸品堂

技术 图数据库 企业号 2 月 PK 榜

倒带ChunJun,同心前行|2022年度回顾&2023年共建规划

袋鼠云数栈

开源

熊猫小说家功能升级:支持阅读原文+更多功能等你解锁

澜舟孟子开源社区

NLP 大模型 AIGC 澜舟科技

Flink X Hologres构建企业级Streaming Warehouse

阿里云大数据AI技术

大数据 数仓 企业号 2 月 PK 榜 分层技术

阿里IM技术分享(十):深度揭密钉钉后端架构的单元化演进之路

JackJiang

2023最新Java面试手册(性能优化+微服务架构+并发编程+开源框架)

小小怪下士

Java 程序员 面试 金三银四

React-Hooks源码深度解读

goClient1992

React

细说react源码中的合成事件

flyzz177

React

前端工程师leetcode算法面试必备-二叉树的构造和遍历

js2030code

JavaScript LeetCode

Visual Studio“15”启动速度提升_.NET_Jeff Martin_InfoQ精选文章