Reading documentation does pay off. Browsing through the Rakefile format documentation for Rake, just now, I found mention of the multitask method – which declares that all of that task’s prerequisites can be executed in parallel.

A comparison run:

$ rake clean; time rake build
real    0m7.116s
user    0m6.788s
sys     0m0.260s

$rake clean; time rake multibuild
real    0m3.820s
user    0m8.809s
sys     0m0.288s

This is a trivially small build I’m doing, I must admit, but halving the build time (in this case at least) pays huge dividends in my perceived productivity. It really blows the dust out of my CPU cores, too, which tend to be woefully underutilised (being this is a quad-core laptop and all).

So I say unto you all: go forth and multitask!