Status of ccache

Chris Hegarty chris.hegarty at oracle.com
Mon May 25 08:42:58 UTC 2015


On 25/05/15 09:38, Erik Joelsson wrote:
>
> On 2015-05-22 17:47, Dan Smith wrote:
>> JDK-8027584 disabled ccache by default, I gather because it doesn't
>> work in Cygwin, and secondarily because of vague general problems with
>> it.
>>
>> The documentation (README-builds.html) still unambiguously endorses
>> it, although doesn't say anything about how to turn it on (configure
>> with --enable-ccache).
>>
>> I'm curious about the current state of affairs, and suggest updating
>> the documentation to reflect the answer.
>>
>> —Dan
>  From README-builds.html in jdk9:
>
>                  <h4>Building with ccache</h4>
>
>                  <p>The OpenJDK build supports building with ccache
>                      when using gcc or clang. Using ccache can
>                      radically speed up compilation of native code if
>                      you often rebuild the same sources. Your milage
>                      may vary however so we recommend evaluating it for
>                      yourself. To enable it, make sure it's on the path
>                      and configure with <code>--enable-ccache</code>.</p>
>
> I wouldn't say that's endorsing ccache, but rather reflects the current
> state of things. It can be a great speed improvement, but it certainly
> varies.

Right. For those of us that work in the libraries area, and only build 
hotspot because it is part of the product, and on Linux, ccache is 
invaluable.

-Chris.

 > Especially in hotspot, if you touch a header file, you
> invalidate most of the cache, so it won't help the development usecase
> much. It doesn't play very well with precompiled headers as Magnus says,
> but I did fix the worst of that a while back so it's far from as bad as
> it used to be. I would not discourage trying them both together at this
> point.
>
> In JDK 8, the documentation and defaults are probably still bad.
>
> On a related note, a while back I experimented with modifications to
> ccache to make it work with Solaris Studio. I believe I got it to work,
> but it would certainly need more testing before we could trust it.
>
> /Erik



More information about the build-dev mailing list