2013/3/21 Miller Henry <millerhe...@johndeere.com>:
> Our build it taking a long time, (15+ minutes even when with a massive build
> farm to distribute compiles across), and the question keeps coming up: what
> is actually taking so long.  Is there an easy way to measure?

Your build certainly have a lot of different targets.
1) first you can have a broad look at the overall target dependencies
    cd <builddir>
    cmake --graphiz=yourproject.dot .
    then render/display the dot file with graphviz dot tool.

2) Try to measure the time of the build of the leaf node of the preceding graph
    in order to see if any target takes a big part of the build.

With this rough target by target analysis you should begin to have some idea
on where is the problem.

Some complementary questions:

1) Where do your source tree and build tree reside?
    Are they on a local disk or a network share?
    If they are on a network share could try a pure "local disk" build
    and compare the timings.

2) Which generator/build tool do you use?
    Ninja, Make, on the command line? from within eclipse/codeblocks?

> If there are some top 10 files we might be able to split them (reducing some
> includes).  If it is a link step we might be able to reduce dependencies.
> Maybe a couple unit tests (some frameworks give this information but not
> all)? I don’t know how to get data so it is difficult to attack the problem.
>
> We are using cmake 2.8.10.1  (a few random people have 2.8.11-rc1, results
> are encouraging: we intend to update everyone when it is released) on ubuntu
> lucid.

Does the "build/make" take 15+ minutes or the "configuration/CMake" part?
How does a no-op build behave? i.e. when you've just build your project
how much time takes a second (normally no-op) build in the same build tree?


-- 
Erk
Le gouvernement représentatif n'est pas la démocratie --
http://www.le-message.org
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to