On Friday, October 11, 2013 13:53:29 Dmitry Olshansky wrote: > 11-Oct-2013 13:07, Jonathan M Davis пишет: > > On Friday, October 11, 2013 12:56:14 Dmitry Olshansky wrote: > >> 04-Oct-2013 15:28, Brian Schott пишет: > >>> On Thursday, 3 October 2013 at 20:11:02 UTC, Andrei Alexandrescu wrote: > >>>> I see we're considerably behind dmd. If improving performance would > >>>> come at the price of changing the API, it may be sensible to hold off > >>>> adoption for a bit. > >>>> > >>>> Andrei > >>> > >>> The old benchmarks measured total program run time. I ran a new set of > >>> benchmarks, placing stopwatch calls around just the lexing code to > >>> bypass any slowness caused by druntime startup. I also made a similar > >>> modification to DMD. > >>> > >>> Here's the result: > >>> > >>> https://raw.github.com/Hackerpilot/hackerpilot.github.com/master/experim > >>> en > >>> tal/std_lexer/images/times5.png > >>> > >>> > >>> I suspect that I've made an error in the benchmarking due to how much > >>> faster std.d.lexer is than DMD now, so I've uploaded what I have to > >>> Github. > >>> > >>> https://github.com/Hackerpilot/lexerbenchmark > >> > >> I'm suspicious of: > >> printf("%s\t%f\n", srcname, (total / 200.0) / (1000 * 100)); > >> > >> Plus I think clock_gettime often has too coarse resolution (I'd use > >> gettimeofday as more reliable). > >> Also check core\time.d TickDuration.currSystemTick as it uses > >> CLOCK_MONOTONIC on *nix. You should do the same to make timings > >> meaningful. > > > > Why not just use use std.datetime's benchmark or StopWatch? Though looking > > at lexerbenchmark.d it looks like he's using StopWatch rather than > > clock_gettime directly, and there are no printfs, so I don't know what > > code you're referring to here. From the looks of it though, he's > > basically reimplemented std.datetime.benchmark in benchmarklexer.d and > > probably should have just used benchmark instead. > > Cause it's C++ damn it! ;)
Your comments would make perfect sense for C++, but lexerbenchmark.d is in D. And I don't know what else you could be talking about, because that's all I see referenced here. - Jonathan M Davis