On Tuesday, 31 May 2016 at 18:56:14 UTC, qznc wrote:
The mistake is to split on "," instead of ','. The slow
splitter at the start of this thread searches for "\r\n".
Your lazy-skip algorithm looks great!
./benchmark.ldc
Search in Alice in Wonderland
std: 168 ±6 +29 ( 107) -3 ( 893)
manual: 112 ±3 +28 ( 81) -1 ( 856)
qznc: 149 ±4 +30 ( 79) -1 ( 898)
Chris: 142 ±5 +28 ( 102) -2 ( 898)
Andrei: 153 ±3 +28 ( 79) -1 ( 919)
Andrei2: 101 ±2 +34 ( 31) -1 ( 969)
Search random haystack with random needle
std: 172 ±19 +61 ( 161) -11 ( 825)
manual: 161 ±47 +73 ( 333) -35 ( 666)
qznc: 163 ±21 +33 ( 314) -15 ( 661)
Chris: 190 ±47 +80 ( 302) -33 ( 693)
Andrei: 140 ±37 +60 ( 315) -27 ( 676)
Andrei2: 103 ±6 +57 ( 64) -2 ( 935)
(avg slowdown vs fastest; absolute deviation)
CPU ID: GenuineIntel Intel(R) Core(TM) i7 CPU M 620 @
2.67GHz
The Alice benchmark searches Alice in Wonderland for "find a
pleasure in all their simple joys" and
finds it in the last sentence.
Would it speed things up even more, if we put the function
`computeSkip` into the loop or is this done automatically by the
compiler?