This is a bit subtle, but: putting addMeasurement() _after_ response.resolve() -- instead of before like it is on master -- means the measured time will include everything in the caller's done() handler as well, which in this case includes all the table-generating code in run().  Could you switch the order back so this matches master?