Reducing the cost of autodecoding

Ilya Yaroshenko via Digitalmars-d digitalmars-d at puremagic.com
Wed Oct 12 09:07:39 PDT 2016


On Wednesday, 12 October 2016 at 13:53:03 UTC, Andrei 
Alexandrescu wrote:
> So we've had a good run with making popFront smaller. In ASCII 
> microbenchmarks with ldc, the speed is indistinguishable from s 
> = s[1 .. $]. Smaller functions make sure that the impact on 
> instruction cache in larger applications is not high.
>
> Now it's time to look at the end-to-end cost of autodecoding. I 
> wrote this simple microbenchmark:
>
> =====
> import std.range;
>
> alias myPopFront = std.range.popFront;
> alias myFront = std.range.front;
>
> void main(string[] args) {
>     import std.algorithm, std.array, std.stdio;
>     char[] line = "0123456789".dup.repeat(50_000_000).join;

For fair test line should be feet into L1 cache. --Ilya


More information about the Digitalmars-d mailing list