Parallel thoughts
Andy Armstrong
n at rciss.us
Tue Oct 2 00:29:32 BST 2007
On 1 Oct 2007, at 22:41, Andy Armstrong wrote:
> So we could do something like this:
>
> * The default is single process
>
> * There's a safe parallel option which is handy for I/O bounds tests
>
> * There's a speedy forking option which doesn't capture test output
> line by line - but it still
> gets the summaries right (and correctly lists which test numbers
> failed) and it scales well to
> any number of cores.
r657 is approximately the above. It adds a --fork option to prove
which selects a forking, no output of individual tests behaviour.
Some random data for Regexp::Common (which probably isn't typical of
anything):
$ prove -rbQ
All tests successful.
Files=56, Tests=222860, 28 wallclock secs (19.98 usr 1.46 sys +
18.94 cusr 0.77 csys = 41.15 CPU)
Result: PASS
$ prove -rbQ -j 9
All tests successful.
Files=56, Tests=223059, 33 wallclock secs (27.09 usr 1.82 sys +
18.89 cusr 0.71 csys = 48.51 CPU)
Result: PASS
$ prove -rbQ -j 9 --fork
All tests successful.
Files=56, Tests=222840, 22 wallclock secs ( 0.19 usr 0.07 sys +
39.24 cusr 2.21 csys = 41.71 CPU)
Result: PASS
$ prove -rbQ -j 4 --fork
All tests successful.
Files=56, Tests=223118, 21 wallclock secs ( 0.19 usr 0.05 sys +
39.01 cusr 2.12 csys = 41.37 CPU)
Result: PASS
I don't intend the dependency on Parallel::Iterator to remain -
that's just an easy way to get the forking behaviour so we can play
around with it.
I'd be interested to see what sort of comparisons people get on
different hardware with different flavours of test.
--
Andy Armstrong, Hexten
More information about the tapx-dev
mailing list