First build-infra push to jdk8 -- try out the new build system!
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Fri Apr 13 02:07:31 PDT 2012
On 2012-04-13 03:10, Weijun Wang wrote:
> I'm trying it on my Linux x64 now. The first feeling is that my
> computer is slowed down a lot more than the old build. The 4 CPUs all
> show a near 100% usage (it's building hotspot now). The guide says I
> can adjust it with --with-num-cores, but it's only available for
> configure time and not make, right?
Let me try to address this...
First, one of the goals of the new build system is in fact to better
utilize all available cores, to speed up build times. So when we're
done, the dream scenario is a blazingly fast build that uses all
available cpu power.
... however, for this first push, we have not yet parallelized the
build, so any build time improvements are of a smaller scale and more
the result of more efficient makefiles.
... and, we have not touched hotspot at all for this time. If you notice
any difference at all when building hotspot, it must just be flukes.
Also, when you say "slowed down", do you mean that the build takes
longer, or just that the build uses more cpu time when building? The
former is not something that would be expected, but the latter is.
As for the --with-num-cores, yes, it is a configure time option. The
underlying assumption is that your hardware doesn't really change, and
if your build system is too weak, it will be too weak at configure time
and at all make times. With that said, it is always possible (and not
very hard) to re-run configure if you need to tweak such a parameter.
> Also, the build output directory name is
> build/linux-x64-normal-server-release/, the executables are in
> build/linux-x64-normal-server-release/jdk/bin, and images in
> build/linux-x64-normal-server-release/images/j2sdk-image. All my
> existing scripts need to be modified.
The output build directory is named differently, yes. If you have local
scripts that depend on the name of output directories, you will have to
modify those. The exact format of the automatically named output
directories is still not cut in stone, though, so the actual names might
change. One of the reasons for the new names is to allow multiple
configurations in parallel, with different options such as debug level
or target platform.
More information about the jdk8-dev