measure method

({int iter, int ticks}) measure(
  1. void f(),
  2. int ticks
)

Measures the runtime of f for ticks clock ticks and reports the average runtime expressed as clock ticks.

Implementation

({int ticks, int iter}) measure(void Function() f, int ticks) {
  var iter = 0;
  reset();
  start();
  do {
    f();
    iter++;
  } while (elapsedTicks < ticks);
  return (ticks: elapsedTicks ~/ iter, iter: iter);
}