005a7f77

Created Started Cancelled

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Start the most expensive mutation groups first

A group waits for a slot, so the order the groups are handed to the runner in
is the order they get one, and that order is the manifest's. The groups of a
run differ by orders of magnitude, because a group costs whatever the covering
tests it runs cost: most are about a second and a few are minutes. One of those
few, handed over last, holds a slot while every other slot stands idle, so a
run that is finished in all but name ends with a single child and a quiet
machine.

Handing them over most expensive first leaves that child in the middle of the
run, where the others still have work to do beside it. The cost it sorts by is
what the covering tests cost on their own, which is what the per-mutation
budgets are derived from as well, and it is an estimate either way: a mutation
stops at the test that kills it, and which test that is is not known until it
has run. Nothing but the order children start in depends on it, so an estimate
is enough, and the index each group is reported under travels with it.