Benjamin Bannier created MESOS-4271:
---------------------------------------

             Summary: Consider replacing libtool with dolt to speed up build
                 Key: MESOS-4271
                 URL: https://issues.apache.org/jira/browse/MESOS-4271
             Project: Mesos
          Issue Type: Improvement
            Reporter: Benjamin Bannier
            Assignee: Benjamin Bannier
            Priority: Minor


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,
{code}
./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
{code}

||                    |  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 |




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to