Speed up tests by running the biggest ones first

Towards the end of a test run, there's typically a period when only
one or a few cores are busy with the last of the tests---the ones that
take a very long time. By sorting the tests according to their
expected runtime and starting the longest-running ones first, we
minimize this effect.

This patch records the runtime in ~/.gtest-parallel-times once all
tests have finished; on subsequent runs, this data is used to start
the longest-running tests first. Speedup varies depending on which
tests are run, but the usual seems to be about 10%, and I haven't
observed a slowdown for any set of tests (though admittedly, my sample
is very modest).
1 file changed
tree: 65884f2363aad4219070d52525ad87a94211b25b
  1. .gitignore
  2. gtest-parallel
  3. LICENSE