docs: function() {
        let sample = clock(start)
  
        if (test.after) test.after()
        bench.after.forEach(call)
  
        if (warmups == -1) {
          warmups = Math.max(minWarmups, sample > 100 ? 1 : sample > 10 ? 5 : 50)
        }
        if (warmups > 0) {
          warmups--
        } else {
          samples[n++] = sample
          onSample(samples[n - 1], cycle)
  
          if (minTime <= clock(t) && minSamples <= n) {
            return cycle.done() // all done!
          }
        }
  
        // wait then repeat
        wait(delay).then(next)
      }