Johannes Schindelin wrote: > On Thu, 19 Feb 2009, Thomas Rast wrote: > > I noticed two small things that I'd like to fix before this goes > > 'next', so here they are: > > > > * [1/8] Support coverage testing with GCC/gcov > > > > Changed it so the compilation (but not the testing) uses the same -j > > flags as the caller, so that compilation can be done in parallel. > > (It's rather minor compared to the slow testing with optimizations > > turned off, but still.) > > I strongly disagree that it is minor. _Especially_ since the tests are > slow, -j makes a huge difference. > > And also without making the tests slower, -j makes a dramatic difference > here: > > $ /usr/bin/time make -j50 test That's not the point. I agree that for the test suite, -j makes a huge impact, since it takes so long. But even though the docs claim it should be possible, I've been getting "random" test failures when compiled with coverage support, that went away with -j1. So the tests still run with -j1, as with the first version of the series. However, the first version used a single make invocation for the'all' and 'test' targets, which of course also means that the _compilation_ ('all') happens with -j1. That's not necessary as far as I can see, and I split them into separate commands in v2, where 'all' doesn't pass a -j option any more (so that the caller's choice remains in effect). What I meant by the above remark is that the maybe 30 seconds you gain by compiling in parallel are a very minor gain when compared to the enormous running time of the _sequential_ test suite _without optimizations_, which feels like 15-20min here, I haven't even timed it. (I always mount t/ on a tmpfs which does away with the fsync() bottleneck and lets me do ordinary test runs, with NO_SVN_TESTS, in under 3min.) -- Thomas Rast trast@{inf,student}.ethz.ch
Attachment:
signature.asc
Description: This is a digitally signed message part.