@lsmn
2016-11-01T13:29:18.000000Z
字数 888
阅读 2158
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列出了如下已知的局限:
- 任何需要升级(从之前的Visual Studio版本)的工程应该在启用FPL之前升级;
- 重要的是,不支持解决方案构建;
- 由于信息是按需加载的,所以在某些情况下,对大型工程的修改可能会导致额外的加载时间;
- 任何需要检查整个解决方案层次结构的插件会抵消FPL所带来的好处。
当前,FPL是独立于轻量级解决方案加载特性的。将来,VS15的一个候选版本会将FPL和轻量级解决方案加载特性合并成一个性能改进特性。在TP5中,现在可以通过Options|C/C++|Experimental将“Enable Faster Project Load”标记为真来启用FPL。