Visual Studio“15”启动速度提升

在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”即可生效。该功能位于选项 | 项目和解决方案对话框中,可通过“轻型解决方案加载(实验)”选项开启。

原文地址:http://www.infoq.com/cn/news/2016/10/vs15-startup


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

介绍Java中的内存泄漏

转载自 介绍Java中的内存泄漏Java语言的一个关键的优势就是它的内存管理机制。你只管创建对象,Java的垃圾回收器帮你分配以及回收内存。然而,实际的情况并没有那么简单,因为内存泄漏在Java应用程序中还是时有发生的。 下面就解释下什么是内存…

2-6 基于SpringBoot的SpringSecurity环境快速搭建与验证

springboot是基于spring的一套全新的框架,其目的是为了简化spring的初始搭建和开发过程,不需要再做样板话的配置了 https://start.spring.io/ 上面这些都不想做权限拦截

DotLiquid模板引擎简介

DotLiquid是一个在.Net Framework上运行的模板引擎,采用Ruby的Liquid语法,这个语法广泛的用在Ruby on rails和Django等网页框架中。DotLiquid相比于Mvc默认模板引擎Razor的好处有: 因为不需要编译到程序集再载入首次渲染速度很快不会导致内存…

Hibernate基本概念 (5)

-----模板1.一对多(set)<set name"属性"><key column"关系外键"/><one-to-many class"实体类全名称"/></set>2.多对一<many-to-one name"" class"" column"关系外键"/>3.多对多(s…

Vue 阻止事件冒泡

转载自 Vue2学习笔记:事件对象、事件冒泡、默认行为1.事情对象<!DOCTYPE html> <html> <head><title></title><meta charset"utf-8"><script src"http://unpkg.com/vue/dist/vue.js"></script><scrip…

Windows Server 2016及System Center 2016正式商用

Windows Server 2016 及 System Center 2016 现已正式商用。作为微软全新一代的服务器操作系统和数据中心管理平台&#xff0c;它们将为企业 IT 带来全面的性能与安全性提升&#xff1b;为数据中心、私有云及公有云环境提供一致的混合云管理平台&#xff1b;并为在本地和云端开…

2-7 SpringBoot常用注解讲解

首先&#xff0c;讲解一下RestController RestController RestController是Controller和ResponseBody的结合。 RnableAutoConfiguration EnableAutoConfiguration springboot建议只能有一个有该注解的类 这个注解的作用是 根据你配置的依赖自动配置 根据jar包的配置…

vue-beauty UI库

vue-beauty UI库文档地址 一、全局配置全局CSS样式Polyfill二、组件&#xff08;1&#xff09;普通Button 按钮Icon 图标&#xff08;2&#xff09;布局Grid 栅格Layout 布局MorePanel 更多条件&#xff08;3&#xff09;导航Affix 固钉Breadcrumb …

ArrayList整理

ArrayList整理1&#xff0c;ArrayList特性2,ArrayList底层实现的特征1)&#xff0c;ArrayList初始化2)&#xff0c;初始容量3)&#xff0c;ArrayList的添加元素的add()方法4&#xff09;&#xff0c;ArrayList的删除方法remove(int index)其他的一些方法的操作其实都差不多&…

ASP.NET Core CORS 简单使用

CORS 全称"跨域资源共享"&#xff08;Cross-origin resource sharing&#xff09;。 跨域就是不同域之间进行数据访问&#xff0c;比如 a.sample.com 访问 b.sample.com 中的数据&#xff0c;我们如果不做任何处理的话&#xff0c;就会出现下面的错误&#xff1a; XM…

3-1 Apache Shiro权限管理框架介绍

Apache Shiro 这是一个功能强大的 shiro相对于security 更简单 易懂的授权方式

mybatis配置步骤

一&#xff0c;mybatis配置步骤 ​ 1&#xff0c;创建一个maven项目 ​ 2&#xff0c;在pom.xml文件中导入相关的jar包依赖 <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven…

vue的Prop属性

转载自 PropProp 的大小写 (camelCase vs kebab-case) HTML 中的特性名是大小写不敏感的&#xff0c;所以浏览器会把所有大写字符解释为小写字符。这意味着当你使用 DOM 中的模板时&#xff0c;camelCase (驼峰命名法) 的 prop 名需要使用其等价的 kebab-case (短横线分隔命名…

.NET Core 1.1 Preview 1上线:支持macOS 10.12/Linux Mint 18

自2014年以来微软陆续对.NET Framework的核心组件进行开源&#xff0c;去年2月公司完成进度并向开源社区发布.NET CoreCLR。经过一年多的发展&#xff0c;开发者于今年6月获得.NET Core 1.0&#xff1b;而现在公司再次推出了1.1 Preview 1版本。 本次版本更新包括添加了多款Lin…

3-7 基于SpringBoot的Apache Shiro环境快速搭建与配置实操

去网站上 spring.io https://start.spring.io/ 去网站拉一个模板下拉 下载一个模板 打开后看一下 使用的pom.xml 我们要用到数据库 使用一个数据库的管理 阿里巴巴的druid 这个是sping非常常用的工具包经常使用的 字符串日期操作都使用这个 springframwork是…

反射、HashMap、ArrayList与LinkedList区别

1&#xff0c;反射机制答&#xff1a;JAVA反射机制是在运行状态中&#xff0c;对于任意一个类&#xff0c;都能够知道这个类的所有属性和方法&#xff1b;对于任意一个对象&#xff0c;都能够调用它的任意方法和属性&#xff1b;这种动态获取信息以及动态调用对象方法的功能称为…

vue非编译的模块化写法

项目目录 ●/ ●index.html ●js/ ●main.js ●myComponent.js ●routes.js ●textComponent.js ●lib/ ●vue.js ●vue-router.js ●require.min.js 一、构建require.js环境 &#xff08;1&#x…

3-8 基于SpringBoot连接数据库与配置MyBatis实操 创建表sql

11 13-8 基于SpringBoot连接数据库与配置MyBatis实操 springSecurity提供了 现成的基于内存管理的类 shiro则必须自己设计这样的类 需要自己设计用户权限这样的体系 这里基于RBAC简单的设计一套 -- 权限表 -- CREATE TABLE permission (pi…

struts基本概念(1)

model1:1,纯jsp2.jspjavabeanmodel2&#xff1a;MVC: jspservletjavabean m:model (模型)封装数据&#xff0c;业务处理类 &#xff0c;返回处理结果v:view(视图)展示数据c&#xff1a;cotroller&#xff08;控制器&#xff09;处理请求&#xff0c;模型和视图之间进行转换DTD…

使用 RxJS 实现 JavaScript 的 Reactive 编程

简介 作为有经验的JavaScript开发者&#xff0c;我们会在代码中采用一定程度的异步代码。我们不断地处理用户的输入请求&#xff0c;也从远程获取数据&#xff0c;或者同时运行耗时的计算任务&#xff0c;所有这些都不能让浏览器崩溃。可以说&#xff0c;这些都不是琐碎的任务&…