I have no idea if this has been discussed yet, but I was thinking
it would be neat to have benchmark blocks that only run when
specified, like how unittest works.
Code:
benchmarks
{
import std.conv : to;
int a;
void f() {auto b = to!string(a);}
auto r = benchmark!(f)(10_000);
auto f0Result = to!Duration(r[0]);
writeln(f0Result)
}
Example:
rdmd -benchmarks -main myapp.d
Alternatively, the writeln could be replaced with some kind of
standard benchmark output utility (similar to the idea of assert
when used for unit tests).
Thoughts?