parallel-tests: optimize global log creation
authorStefano Lattarini <stefano.lattarini@gmail.com>
Sat, 25 Feb 2012 23:30:18 +0000 (00:30 +0100)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Mon, 30 Apr 2012 15:48:30 +0000 (17:48 +0200)
commit5eeb36603d197ed73a031cea70843e9b43d312b9
treefbb54050c073c94ce448e23418381a6d3a6ddf6f
parentf5733aabe7c186a04f288214cb840a423d5b821b
parallel-tests: optimize global log creation

With this change, the time required to execute the test case
'testsuite-summary-speed.sh' has dropped as follows:

  + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM,
    GNU make 3.81:
      - 1 run: 4 minutes => 30/40 seconds

  + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM,
    Solaris CCS make:
     - 2 runs: 6 minutes => 30 seconds

  + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM,
    GNU make 3.82:
     - 5 runs: 7 minutes => 1 minute and 10 seconds

* lib/am/check.am ($(TEST_SUITE_LOG)): Optimize for speed, by avoiding
lots of forks with the help of ...
(am__create_global_log): ... this new internal variable, basically
defining a smart awk program, and ...
(am__global_test_result_rx, am__copy_in_global_log_rx): ... these new
internal variables, used by the one above.
(am__rst_section): Remove as obsolete
* t/rst-formatting.trs: Remove.
* t/list-of-tests.mk: Update.
* t/testsuite-summary-count-many.sh: Improve its stress testing by
using 1 million tests rather than just 5 thousands: we can afford
this with our new optimization, and still have the test completed
in a reasonable time.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
lib/am/check.am
t/list-of-tests.mk
t/rst-formatting.sh [deleted file]
t/testsuite-summary-count-many.sh