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

Reply via email to