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
!