Boost logo

Boost Users :

Subject: Re: [Boost-users] Boost & Continuous Integration
From: Noah Roberts (roberts.noah_at_[hidden])
Date: 2009-04-27 11:57:17


Robert Dailey wrote:
> Hey guys,
>
> One of the requirements for a continuous integration process is that the
> build for a specific target be quick. Something under 10 minutes is
> ideal. I find that when not using precompiled headers, boost can
> significantly impact the compilation time of the project. I've
> experienced 20 minute compiles when using boost fairly extensively
> throughout the code base.

You have to remember that CI comes from an area of research in project
development that also tells us to split our project into numerous small
libraries. Check out RCM's article on "Granularity" and "Stability".
If you have extraordinarily long build times you may be breaking one or
more of the packaging principles.

>
> So far I only see two obvious solutions to this problem. First, use
> precompiled headers. I really don't want to do this because it causes
> issues with include dependencies and makes the code not reusable as a
> result. The second option is to beef up the machines doing the compiles,
> however this can have diminishing returns.

You forgot a third option, split your project into numerous small
libraries so that any changes require the smallest amount of rebuilding
that is possible.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net