chromatic wrote:
On Friday 26 October 2007 13:05:14 Tom Heady wrote:
The method does require a single file per class, and loading perl
for
each of those files. If you are trying to avoid that it's not
going to
help.
... and if that's the slowest part of 45-minute test runs, color
me surprised.
Well, *my* test suite was 45 minutes. I think Jonathans is just a
couple
minutes. So depending on how many classes this could add several
seconds. It'd
be an interesting thing to benchmark though. Jonathan, are you sure
it's worth
your troubles and that you're really saving any significant amount
of time?
Yes, it was about time to benchmark it.
In a single process:
real 1m4.999s
user 0m14.320s
sys 0m2.290s
In separate processes:
real 2m7.747s
user 0m58.960s
sys 0m8.570s
So I'd say that it makes a noticeable difference for tests run
manually (and awaited upon), but not so much for background automated
smoke tests.
This is for thirty test classes, so there's about 2 seconds of load
overhead per class. I've made my Test::Class subclass fairly rich in
terms of utilities and automatically loaded modules, so that the
individual test classes don't need to worry about use'ing this and that.
Jon