aliases of callable objects (e.g. function names). Each callable object should take no arguments.
The number of times each function is to be executed.
The amount of time (as a core.time.Duration) that it took to call each function n times. The first value is the length of time that it took to call fun[0] n times. The second value is the length of time it took to call fun[1] n times. Etc.
import std.conv : to; int a; void f0() {} void f1() { auto b = a; } void f2() { auto b = to!string(a); } auto r = benchmark!(f0, f1, f2)(10_000); Duration f0Result = r[0]; // time f0 took to run 10,000 times Duration f1Result = r[1]; // time f1 took to run 10,000 times Duration f2Result = r[2]; // time f2 took to run 10,000 times
Benchmarks code for speed assessment and comparison.