Utf8 to Utf32 cast cost

Kagamin via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Jun 8 04:32:07 PDT 2015


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);


More information about the Digitalmars-d-learn mailing list