[Libreoffice] ccache support

Norbert Thiebaud nthiebaud at gmail.com
Mon Sep 12 11:31:11 PDT 2011


On Mon, Sep 12, 2011 at 10:08 AM, Lubos Lunak <l.lunak at suse.cz> wrote:
> On Saturday 10 of September 2011, Norbert Thiebaud wrote:
>> On Fri, Sep 9, 2011 at 1:22 PM, Lubos Lunak <l.lunak at suse.cz> wrote:
>> >  Since there (AFAIR) haven't been any actual data presented in the
>> > discussion
>>
>> here are some number for my linux buildbot.
>
>  Ccache hit statistics from a buildbot is probably the least realistic example
> possible. Of course the hit ratio is almost 100% when it repeatedly rebuilds
> almost the same source. For normal development builds the hit ratio should be
> much much lower, for many reasons (building noticeably less often and
> building when something does change being the primary two). I consider even
> my 40% hit ratio to be unusually high.
>
>  The only useful numbers I can see is the ~5% ccache overhead, which should

Agreed. that was indeed the most interesing part. the fact that ccache
give good benefit for a completely hot cache is indeed quite expected.

> mean here the break even ratio is <10%, which I guess should be doable for
> LO, but without any real numbers this is still just guesswork.

Well that is real number for overhead... since the difference between
the no ccache run and the empty cache ccache run is purely the ccache
overhead. so it is a very good indicator of the ccache overhead.

>
>> Note: when icecream is enable configure.in does _not_ auto-enable
>> ccache (iow if you want ccache _with_ icecream you need to actively
>> say --enable-ccahe or set up up transparently on your environment
>
>  I have manual setup for either/both icecream and cccache, if this was
> directed at me.

I was wondering if the difference of overhead observed between your
numbers and mine may have been related to ice-cream...


All that being said. I am not overly attached to the default. I mean I
can just as easily add --enable-ccache to my autogen.lastrun as you
can add --disable-ccache to yours.
and as I said earlier, as partial rebuild becomes more reliable it may
very well make sens to have it 'disabled' by default. The problem is
that today, when someone hit a build issue, the first advice we give
is make clean && make... which is typically 4 to 5 time more painful
if you did not use ccache.... That is why I think that --enable-ccache
is a much more causal/new-dev friendly.
and more experience dev can pretty easily chose the setting that fit
best their build pattern....

Norbert


More information about the LibreOffice mailing list