On Monday, 8 June 2015 at 10:59:45 UTC, Daniel Kozák wrote:
import std.conv; import std.utf; import std.datetime; import std.stdio;void f0() {string somestr = "some not so long utf8 string forbenchmarking";dstring str = to!dstring(somestr); } void f1() {string somestr = "some not so long utf8 string forbenchmarking";dstring str = toUTF32(somestr); } void main() { auto r = benchmark!(f0,f1)(1_000_000); auto f0Result = to!Duration(r[0]); auto f1Result = to!Duration(r[1]); writeln("f0 time: ",f0Result); writeln("f1 time: ",f1Result); } /// output /// f0 time: 2 secs, 281 ms, 933 μs, and 8 hnsecs f1 time: 600 ms, 979 μs, and 8 hnsecs
Chances are you're benchmarking the GC. Try benchmark!(f0,f1,f0,f1,f0,f1);
