faster splitter
qznc via Digitalmars-d
digitalmars-d at puremagic.com
Thu Jun 2 13:04:10 PDT 2016
On Tuesday, 31 May 2016 at 22:50:37 UTC, David Nadlinger wrote:
> Another thing that might be interesting to do (now that you
> have a "clever" baseline) is to start counting cycles and make
> some comparisons against manual asm/intrinsics implementations.
> For short(-ish) needles, PCMPESTRI is probably the most
> promising candidate, although I suspect that for \r\n scanning
> in long strings in particular, an optimised AVX2 solution might
> have higher throughput.
>
> Of course these observations are not very valuable without
> backing them up with measurements, but it seems like before
> optimising a generic search algorithm for short-needle test
> cases, having one's eyes on a solid SIMD baseline would be a
> prudent thing to do.
The current algorithm is generic with respect to the predicate.
Once we use SSE/AVX tricks, it is a special case for equality.
As a next step in Phobos, this is probably worth it for strings.
We could probably steal some well-optimized strcmp from somewhere.
More information about the Digitalmars-d
mailing list