Building contribs in parallel

Bug #1010646 reported by David Lichteblau on 2012-06-08
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Wishlist
Unassigned

Bug Description

We could shave about 15 seconds from the build time by compiling and testing contribs in parallel -- on a quadcore system which usually needs 35 seconds for make-target-contrib.sh, and only 20s afterwards. On a single-core run, performance is worse by around 4s.

Patch attached. Please review and reject or clear for commit. :-)

Output looks like this now:

//entering make-target-contrib.sh
This is SBCL 1.0.57.37-7fccd3e, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
*
*CONTRIBS-TO-BUILD*
*
make: Entering directory `/home/david/src/sbcl/sbcl-base'
  VANILLA sb-sprof
  VANILLA asdf
  VANILLA sb-executable
  TEST sb-executable
  TEST sb-sprof
  LOADOP sb-grovel
  LOADOP sb-rt
  LOADOP sb-rotate-byte
  LOADOP sb-concurrency
  LOADOP sb-introspect
  LOADOP sb-cltl2
  LOADOP sb-aclrepl
  TEST asdf
  TEST sb-rt
  TEST sb-rotate-byte
  LOADOP sb-md5
  TEST sb-cltl2
  LOADOP sb-queue
  TEST sb-concurrency
  LOADOP sb-bsd-sockets
  LOADOP sb-posix
  TEST sb-grovel
  TEST sb-introspect
  TEST sb-queue
  TEST sb-aclrepl
  TEST sb-md5
  LOADOP sb-cover
  TEST sb-cover
  TEST sb-bsd-sockets
  LOADOP sb-simple-streams
  TEST sb-posix
  LOADOP asdf-install
  TEST asdf-install
  TEST sb-simple-streams
make: Leaving directory `/home/david/src/sbcl/sbcl-base'
All contribs built.

Updated patch attached.

Unfortunately, it's not ready for commit, because every now and then, the contrib build fails after what are probably concurrency issues -- fasls are missing.

Stas Boukarev (stassats) on 2012-08-12
Changed in sbcl:
importance: Undecided → Wishlist
Faré (fahree) wrote :

Or you could just use POIU and its fasl-op target... I volunteer to write a patch for that if you're interested.

Faré (fahree) wrote :

Note that with POIU and a proper CROSS-COMPILE-OP, you could also do each of the various build steps in parallel. Or with XCVB, for that matter, but POIU is probably lighter weight.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers