BT

Visual Studio 15 Improves C++ Project Loading

| by Jeff Martin Follow 17 Followers on Oct 27, 2016. Estimated reading time: 1 minute |

As we continue our review of the performance improvements that are part of Visual Studio 15, today we will take a look at some new functionality that should help C++ developers.  This new feature is C++ specific and is called Faster Project Load (FPL).  As we have discussed, VS15 has a new feature called Lightweight Solution Load, but this is of limited benefit to pure C++ solutions.  FPL is designed to make VS15 faster when working with larger C++ projects.

When a solution is opened in Visual Studio, time and memory is spent evaluating all of the projects within it.  Build information for each project is generated and millions of objects are created to describe the solution.  As you can imagine, this leads to memory and performance constraints.  With VS15 Technical Preview 5, a new SQLite database backed layer has been added and allows the program to retrieve information about a solution on-demand, rather than all at once at start-up.

At present, FPL is still very experimental, and its presence in TP5 seems to function more as a proof of concept than something ready for production use.  Microsoft’s Ankit Asthana provides the following list of known limitations found with FPL:

  1. Any projects that need upgrading (from prior versions of Visual Studio) should be upgraded prior to enabling FPL.
  2. Importantly, building a solution is not supported.
  3. Since information is being loaded on-demand in some cases changes to a large project may take an additional time to load.
  4. Any plugins that examine the entire solution hierarchy would effectively negate the benefits brought by FPL.

FPL is currently separate and distinct from Lightweight Solution Load.  A future Release Candidate build of VS15 is intended to combine both FPL and the Lightweight Solution Load into a single performance improvement.  At present, FPL can be enabled on TP5 through Options | C/C++ | Experimental and marking “Enable Faster Project Load” to true.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss
BT