std.d.lexer performance (WAS: std.d.lexer : voting thread)
Dmitry Olshansky
dmitry.olsh at gmail.com
Fri Oct 11 01:56:14 PDT 2013
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/experimental/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.
--
Dmitry Olshansky
More information about the Digitalmars-d
mailing list