Skip to content
README 1.66 KiB
Newer Older
POIU: Parallel Operator on Independent Units
============================================

POIU is an ASDF extension that will parallelize your Common Lisp builds,
for some build speedup, both through parallelization and reduced GC.
Usage
-----

POIU overrides your ASDF 3's asdf::*default-plan-class*,
and thereafter all compilation goes through POIU by default.
Bind this variable back to 'asdf::sequential-plan to restore the default,
and explicitly to 'asdf::parallel-plan* to go parallel again.
You can also explicitly pass a :plan-class parameter to asdf:operate & co,
or you can call the parallel-operate functions defined by POIU.

You can control how many processes POIU may fork at a time my binding
	asdf::*max-forks*
The default is the number of cpus on which the machine POIU was loaded,
which if resuming from a dumped image might not be the same as
the machine on which it is now running.
You can recompute the number of processors on the current machine with:
	(asdf::ncpus)
In case this function fails to find an answer, it returns NIL,
in which case POIU defaults the *max-forks* to 16.


Installation
------------

Just make sure you use ASDF 3.0.2 or later, and include
	(asdf:load-system :poiu)
in your build scripts before you build the rest of your software.
It automatically will hook into asdf::*default-plan-class*,
though you can reset it.
POIU depends on the new plan-making internals of ASDF 3
as well as on ASDF 3's new UIOP library.


Support
-------

The official web pages for POIU are:
    http://common-lisp.net/project/qitab/
    http://cliki.net/poiu

The proper mailing-lists on which to ask questions are
asdf-devel and qitab-devel, both on common-lisp.net.