Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Not A Problem
-
None
-
None
-
None
Description
Mesos uses a pretty standard autotools setup for the build so that libtool is used extensively to abstract away the aspects of library creation (both compiling source files, and creating the libraries). For some versions of libtool its invocation can add considerably to the overall build time.
Dolt provides a much more condensed implementation of libtool's functionality for modern platforms (<100 locs vs ~10 klocs), so that it can run much faster. We should investigate whether activating dolt makes sense.
I tested dolt under OS X 10.10.5. I first primed ccache and then rebuilt mesos-related objects,
./configure --disable-python --disable-java # benchmark mostly C & C++ file compile and link make check GTEST_FILTER='' # prime ccache make mostlyclean # remove most mesos objects and libs make -jN check GTEST_FILTER='' # rebuild
user [s] | real [s] | sys [s] | |
make -j10 (dolt) | 42.8±0.1 | 54.3±0.2 | 34.1±0.2 |
make -j10 (libtool) | 65.6±0.3 | 148.7±1.1 | 108.5±1.0 |
make -j1 (dolt) | 76.9±0.3 | 45.5±0.1 | 27.1±0.1 |
make -j1 (libtool) | 168.2±2.3 | 97.5±1.5 | 75.8±1.3 |