Benchmark block

Jonathan via Digitalmars-d digitalmars-d at puremagic.com
Mon Mar 30 16:29:39 PDT 2015


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?


More information about the Digitalmars-d mailing list