Building contribs in parallel

Bug #1010646 reported by David Lichteblau
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
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.

Revision history for this message
David Lichteblau (david-lichteblau) wrote :
Revision history for this message
David Lichteblau (david-lichteblau) wrote :

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)
Changed in sbcl:
importance: Undecided → Wishlist
Revision history for this message
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.

Revision history for this message
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.

Revision history for this message
Douglas Katzman (dougk) wrote :
Changed in sbcl:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.