Hi Magnus:

Bug: https://bugs.openjdk.java.net/browse/JDK-8027584

While ccache can be used to speed up recompilations, there are also several issues with ccache. Old versions does not work correctly for the jdk (we try to detect that). It does not work well on other platforms than Linux; on Windows it does not work at all. Nevertheless is ccache enabled on Windows if it is installed, which it apparently tends to be with Cygwin nowadays, requiring the use of --disable-ccache to avoid compilation failure.

In many circumstances ccache also does not provide any performance benefit. For instance, new compilations gets a performance hit. Only recompilations benefits.

We had a case on a Linux system where ccache created a default cache directory under the user's $HOME directory. Unfortunately $HOME was an NFS mount to a home directory server on the other side of the country. Even with the source and build output files on local disk, build performance was (ahem) terrible until we sorted that out. Something to watch out for if you decide to use ccache.

It is better to turn this upside down. This patch makes ccache disabled by default, on all platforms. If you want ccache and are sure you are in a situation that benefits from it, then you can enable it. It also removes the output in configure hinting that ccache should be used.

WebRev: http://cr.openjdk.java.net/~ihse/JDK-8027584-disable-ccache-by-default/webrev.0

Looks good to me.

Tim

Reply via email to