All timings are in milliseconds - lower is better