Ways to speed up build time? (C#/Unmanaged C++)
.net-2.0, c#, c++, msbuild, unmanaged
Solution
Focus on the C++ projects - they are almost guaranteed to be the largest time drains for building.
Some tips on getting the C++ build times down:
- Make sure that you're only including headers that you need in the C++ projects!
- Use forward declarations whenever possible in headers instead of including other headers
- Use the /MP switch to build in parallel, when possible
- Use abstraction effectively
- Be sparing in the use of inline functions, since these cost more at compile time
- Get the dependencies correct, so you're not building more often that required
- Use pre-compiled headers appropriately
Aside from that, if you're talking 2 hour build times, often there is a simple, cheap (in a big picture way) solution, as well:
- Upgrade your hardware to help reduce the computation times
Problem
A legacy app I am working on currenty takes ~2hours to build. The project has about 170 projects with 150 or so being unmanaged C++ and the other 30 C#.Net 2.0. What are some suggestions on ways to improve build times for something like this?