[Bug libc/18441] Performance regression due to strcoll_l changes
daniel.lichtenberger at gmail dot com
sourceware-bugzilla@sourceware.org
Sun Jun 7 16:40:00 GMT 2015
https://sourceware.org/bugzilla/show_bug.cgi?id=18441
--- Comment #5 from Daniel Lichtenberger <daniel.lichtenberger at gmail dot com> ---
Created attachment 8347
--> https://sourceware.org/bugzilla/attachment.cgi?id=8347&action=edit
Small strcoll benchmark with thai strings
Attached a small benchmark that does the simplest collation test possible -
calling strcoll on two medium-sized TH (thai) strings in a loop. I hope the
upload doesn't mangle the UTF-8 encoding string literals.
On my desktop machine (a Core i5-3570K) and with glibc 2.19, 2000 calls
complete in 0.4s. With the current git master (commit
711f67a789ba3505ae7b071453763e06590aa245), this takes an astonishing 40 seconds
- or 20 ms per strcoll call.
I also used other (Western) strings for testing to make sure it wasn't my local
glibc build - they showed better performance in the current version, as
expected.
It's hard to follow the implementation in strcoll_l.c without a deeper
understanding of Unicode string collation rules - I don't know if the removal
of rule caching caused this issue, or a change in the locale tables that are
used in the algorithm.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Glibc-bugs
mailing list