[关闭]
@lsmn 2016-11-01T05:29:18.000000Z 字数 888 阅读 2025

Visual Studio 15改进C++工程加载

Visual Studio C++


摘要

过去,Visual Studio处理大型解决方案时一直有些困难。Visual Studio 15试图通过一项名为“快速工程加载”的特性为C++开发人员改善工程加载时间。

正文

我们将继续回顾Visual Studio 15的性能改进部分,本文将介绍一个应该可以为C++开发人员提供帮助的新功能。该新特性专门针对C++工程,其名称为“快速工程加载(Faster Project Load,缩写为FPL)”。我们已经讨论过,VS15有一项名为“轻量级解决方案加载(Lightweight Solution Load)”的新特性,但那只对纯C++解决方案有一定的好处。按照设计,FPL是为了提升VS15处理较大C++工程时的速度。

在Visual Studio打开一个解决方案时,需要消耗时间和内存来评估其中的所有工程,生成每个工程的构建信息,并创建数以百万计的对象来描述该解决方案。你可以想象,这会导致内存和性能限制。VS15技术预览版5新增了SQLite数据库层,让程序可以根据需求检索与解决方案相关的信息,而不是启动时一次性获取。

目前,FPL尚处于试验阶段,它在TP5中出现更多的似乎是一种概念验证,而不是已经生产就绪。关于FPL,来自微软的Ankit Asthana列出了如下已知的局限:

  1. 任何需要升级(从之前的Visual Studio版本)的工程应该在启用FPL之前升级;
  2. 重要的是,不支持解决方案构建;
  3. 由于信息是按需加载的,所以在某些情况下,对大型工程的修改可能会导致额外的加载时间;
  4. 任何需要检查整个解决方案层次结构的插件会抵消FPL所带来的好处。

当前,FPL是独立于轻量级解决方案加载特性的。将来,VS15的一个候选版本会将FPL和轻量级解决方案加载特性合并成一个性能改进特性。在TP5中,现在可以通过Options|C/C++|Experimental将“Enable Faster Project Load”标记为真来启用FPL。

查看英文原文:Visual Studio 15 Improves C++ Project Loading

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注