I've putback to the master Nevada X gate now the changes to make the
X gate builds run multiple commands in parallel.   This is used by default
whenever you start a build via either the "buildit" script at the top-level
or the "open-src/util/build-tools/xmake" script to run a make at a lower
level of the build tree.   (The parallel build logic is all in xmake,
buildit just calls xmake to do the builds.)

The default number of jobs allowed to run in parallel will be the number of
virtual cpus reported as "on-line" by /usr/sbin/psrinfo.

You can override this with the DMAKE_MAX_JOBS environment variable, or by
putting an entry for the machine name in $HOME/.make.machines (file name
& format borrowed from ON build system).   Entries there look like:
x11x max=2
x11s max=1

It also honors the MAKE environment variable - if this is set to "make", the
old normal make is used, if unset, or set to "dmake" then the parallel make
command is used.

On the systems I tested on:
                                                Before     After
Ultra 27 (4 cores x 2 threads => 8 jobs)         1:34       0:18
Sun Fire X4100 (2 CPUs => 2 jobs)                2:12       1:15
Sun Fire V240 (2 CPUS => 2 jobs)                 5:00       2:03

These were not rigorously done - especially the ones on the public
build machines which may have had other builds being run by other
people, but clearly show large improvement.

If you see any problems, or have any questions, please speak up here.
(Once they make it to an externally available build that is - should
 be in the nv_127 code dump.)

-- 
        -Alan Coopersmith-           alan.coopersmith at sun.com
         Sun Microsystems, Inc. - X Window System Engineering

Reply via email to