You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Till Toenshoff (JIRA)" <ji...@apache.org> on 2016/02/04 20:25:39 UTC

[jira] [Commented] (MESOS-4271) Consider replacing libtool with dolt to speed up build

    [ https://issues.apache.org/jira/browse/MESOS-4271?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15132837#comment-15132837 ] 

Till Toenshoff commented on MESOS-4271:
---------------------------------------

These are my results on OSX.

I was running a {{make check -j6}} after priming the ccache and a {{make mostlyclean}}.

libtool
------------------------
real    4m9.985s
user    17m34.419s
sys    2m40.675s
==============

dolt
------------------------
real    3m57.768s
user    16m53.857s
sys    1m23.916s
==============

So it seems to me that I am doing something wrong as I got far too many ccache misses (seeing clang still being active after priming).

Turned out my CCACHE cache-size was far too small for mesos - the default on my brew installation of CCACHE is 1gb.

Checking the size: {{ccache -s}}
Setting the size: {{ccache -M 20G}}

libtool
------------------------
real    0m38.956s
user    0m52.404s
sys    0m23.206s
==============

dolt
------------------------
real    0m38.485s
user    0m53.128s
sys    0m23.759s
==============

So now I can see, that I don't see a significant improvement - but actually a tiny increase in build time - but that is within the measurement variance. 

[~bbannier]r what am I missing?

> 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
>              Labels: build, mesosphere
>
> 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)