Reapply "Performance tests: recover a baseline from ancestor commits and CI results."
This includes a bug regarding an incorrectly captured local variable metric
.
In python closures capture variables by reference not by value. This can cause
problems when capturing variables that are modified in a loop. To capture by
value, the closure is given an extra parameter with the desired default value.