sS printBenchResult(long repetitions) { ret printBenchResult(lastTiming(), repetitions); } sS printBenchResult(long time, long repetitions) { ret printBenchResult("", time, repetitions); } sS printBenchResult(S msg, long repetitions) { ret printBenchResult(msg, lastTiming(), repetitions); } sS printBenchResult(long repetitions, S msg) { ret printBenchResult(msg, repetitions); } sS printBenchResult(S msg, long time, long repetitions) { double secs = toSeconds(time)/repetitions; S s = (empty(msg) ? "" : msg + ": ") + n2(repetitions, "step") + ". Each step took: "; if (secs >= 1) ret print(s + formatDouble(secs, 3) + " s"); double ms = secs*1000; if (ms >= 1) ret print(s + formatDouble(ms, 3) + " ms"); double us = ms*1000; if (us >= 1) ret print(s + formatDouble(us, 3) + " µs"); double ns = us*1000; ret print(s + formatDouble(ns, 3) + " ns"); }