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