[PATCH] Optimize strstr, strcasestr and memmem

Carlos O'Donell carlos@systemhalted.org
Sun May 20 14:22:00 GMT 2012


On Sat, May 19, 2012 at 9:32 PM, Ondřej Bílka <neleai@seznam.cz> wrote:
>> > As a community we have no baseline benchmark numbers.
>>
>> Precisely - the very reason that I have not tried to further optimize
>> anything in glibc beyond my twoway string, and the reason the SSE4
>> quadratic pessimization even got in to glibc in the first place, is
>> because we don't have a good benchmark.
>
> I wrote benchmark that measures mean instructions per character+-standard deviation for
> random strings and matching aaaaaa with aaaab. I included strlen as lower bound on
> speed.
>
> Instead two-way I try universal hashing. For needle<16 bruteforce is
> sufficient, for larger I could improve it by computing hash qwordwise.

Ondrej,

Thank you for posting your benchmark.

It is one piece of the larger requirements for glibc.

Would you be willing to work with the community to integrate such a
test into glibc?

Would you be able to help maintain the micro-benchmarks?

Cheers,
Carlos.



More information about the Libc-alpha mailing list