glibc/string
Leonhard Holz 5d178c37a0 Speed up strcoll by inlining
This patch improves the performance of strcoll_l by inlining the two
helper functions get_next_seq and do_compare.

measurement     old             new             diff
glibc files     202,393,000     138,597,000     -31.52%
vi_VN.UTF-8     2,772,150       2,055,920       -25.84%
en_US.UTF-8     2,741,380       1,952,770       -28.77%
ar_SA.UTF-8     3,062,180       2,484,940       -18.85%
zh_CN.UTF-8     917,198         875,756         -4.52%
cs_CZ.UTF-8     3,455,670       2,465,530       -28.65%
en_GB.UTF-8     3,334,790       2,420,540       -27.42%
da_DK.UTF-8     2,805,660       2,023,430       -27.88%
pl_PL.UTF-8     2,640,710       2,014,960       -23.70%
fr_FR.UTF-8     3,504,700       2,642,280       -24.61%
pt_PT.UTF-8     3,542,390       2,599,250       -26.62%
el_GR.UTF-8     4,529,580       3,881,700       -14.30%
ru_RU.UTF-8     3,527,070       2,806,480       -20.43%
iw_IL.UTF-8     3,047,060       2,530,360       -16.96%
es_ES.UTF-8     3,089,990       2,376,410       -23.09%
hi_IN.UTF-8     222,487,000     223,397,000     0.41%
sv_SE.UTF-8     2,724,630       2,019,420       -25.88%
hu_HU.UTF-8     4,446,990       3,658,830       -17.72%
tr_TR.UTF-8     2,966,180       2,200,790       -25.80%
is_IS.UTF-8     2,559,480       2,012,190       -21.38%
it_IT.UTF-8     3,301,190       2,527,230       -23.44%
sr_RS.UTF-8     2,973,150       2,322,010       -21.90%
ja_JP.UTF-8     985,042         1,044,980       6.08%
2014-11-24 17:18:51 +05:30
..
bits Update feature guard for strdup/strndup in <bits/string2.h> 2014-06-16 10:21:31 +02:00
_strerror.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
argz-addsep.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
argz-append.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
argz-count.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
argz-create.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
argz-ctsep.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
argz-delete.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
argz-extract.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
argz-insert.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
argz-next.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
argz-replace.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
argz-stringify.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
argz.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
basename.c string: Cosmetic cleanup of string functions 2014-04-07 09:44:02 +01:00
bcopy.c PowerPC: optimized memmove for POWER7/PPC64 2014-07-07 15:41:21 -05:00
bug-envz1.c * string/Makefile (tests): Add bug-envz1. 2006-06-04 16:36:04 +00:00
bug-strcoll1.c Update. 2001-04-26 20:45:18 +00:00
bug-strncat1.c * malloc/memusagestat.c (main): Use return instead of exit to 2000-12-31 10:52:32 +00:00
bug-strpbrk1.c * malloc/memusagestat.c (main): Use return instead of exit to 2000-12-31 10:52:32 +00:00
bug-strspn1.c * malloc/memusagestat.c (main): Use return instead of exit to 2000-12-31 10:52:32 +00:00
bug-strtok1.c [BZ #2126] 2006-01-10 00:25:07 +00:00
byteswap.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
bzero.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Depend Update. 2001-03-19 21:40:15 +00:00
endian.h Combine __USE_BSD and __USE_SVID into __USE_MISC. 2014-02-12 23:41:01 +00:00
envz.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
envz.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
ffs.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
ffsll.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
inl-tester.c
Makefile Remove redundant C locale settings. 2014-06-07 19:58:36 +00:00
memccpy.c string: Cosmetic cleanup of string functions 2014-04-07 09:44:02 +01:00
memchr.c string/memchr.c: Merge from gnulib 2014-07-04 09:23:21 +01:00
memcmp.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memcpy.c Fix -Wundef warning on PAGE_COPY_THRESHOLD 2014-07-03 01:49:43 +05:30
memfrob.c string: Cosmetic cleanup of string functions 2014-04-07 09:44:02 +01:00
memmem.c Fix locale memmem namespace (bug 17585). 2014-11-12 22:41:03 +00:00
memmove.c Fix -Wundef warning on PAGE_COPY_THRESHOLD 2014-07-03 01:49:43 +05:30
memory.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mempcpy.c Fix build of C mempcpy and stpcpy. 2014-11-14 13:48:39 +00:00
memrchr.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memset.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
noinl-tester.c
rawmemchr.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
stpcpy.c Fix build of C mempcpy and stpcpy. 2014-11-14 13:48:39 +00:00
stpncpy.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
str-two-way.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
stratcliff.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcasecmp_l.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcasecmp.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcasestr.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcat.c This patch improves strcat performance by using strlen and strcpy. Strlen has a fast C 2014-10-24 16:08:42 +00:00
strchr.c string: Cosmetic cleanup of string functions 2014-04-07 09:44:02 +01:00
strchrnul.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcmp.c string: Cosmetic cleanup of string functions 2014-04-07 09:44:02 +01:00
strcoll_l.c Speed up strcoll by inlining 2014-11-24 17:18:51 +05:30
strcoll.c string: Cosmetic cleanup of string functions 2014-04-07 09:44:02 +01:00
strcpy.c string: Cosmetic cleanup of string functions 2014-04-07 09:44:02 +01:00
strcspn.c PowerPC: optimized strcspn for PPC64/POWER7 2014-03-20 11:24:52 -05:00
strdup.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strerror_l.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strerror.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
strfry.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
string-inlines.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
string.h Complete _BSD_SOURCE / _SVID_source followup cleanup. 2014-02-21 21:45:26 +00:00
strings.h Combine __USE_BSD and __USE_SVID into __USE_MISC. 2014-02-12 23:41:01 +00:00
strlen.c string: Cosmetic cleanup of string functions 2014-04-07 09:44:02 +01:00
strncase_l.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strncase.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strncat.c This patch improves strncat performance by using strlen. Strlen has a fast C implementation, so 2014-10-24 16:12:12 +00:00
strncmp.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strncpy.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strndup.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strnlen.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
strpbrk.c PowerPC: optimized strpbrk for POWER7 2014-03-20 19:46:13 -05:00
strrchr.c PowerPC: strrchr optimization for POWER7/PPC64 2014-03-03 08:06:41 -06:00
strsep.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strsignal.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strspn.c PowerPC: strspn optimization for PPC64/POWER7 2014-03-11 08:54:33 -05:00
strstr.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtok_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strtok.c string: Cosmetic cleanup of string functions 2014-04-07 09:44:02 +01:00
strverscmp.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strxfrm_l.c Move findidx nested functions to top-level. 2014-09-11 16:02:17 -07:00
strxfrm.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
swab.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-bcopy.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-bzero.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-ffs.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
test-memccpy.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-memchr.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-memcmp.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-memcpy.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-memmem.c Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
test-memmove.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-mempcpy.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-memrchr.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-memset.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-rawmemchr.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-stpcpy.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-stpncpy.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strcasecmp.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strcasestr.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strcat.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strchr.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strchrnul.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strcmp.c Fix v9/64-bit strcmp when string ends in multiple zero bytes. 2014-05-01 12:15:06 -07:00
test-strcpy.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strcspn.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-string.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strlen.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strncasecmp.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strncat.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strncmp.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strncpy.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strnlen.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strpbrk.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strrchr.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strspn.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
test-strstr.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
testcopy.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tester.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-bswap.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-endian.c Add #include <stdint.h> for uint[32|64]_t usage (except installed headers). 2013-05-16 11:32:54 -05:00
tst-inlcall.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-strcoll-overflow.c Fix tst-strcoll-overflow returning before timeout (BZ #17506) 2014-11-12 17:10:21 +05:30
tst-strfry.c * stdlib/random_r.c (__initstate_r): Don't use non-existing state. 2005-04-12 15:29:07 +00:00
tst-strlen.c Add optimized x86-64 implementation of strnlen. 2010-07-26 08:37:08 -07:00
tst-strtok_r.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tst-strtok.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-strxfrm2.c * string/strxfrm_l.c (STRXFRM): Fix trailing \1 optimization 2006-11-10 15:20:59 +00:00
tst-strxfrm.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-svc2.c [BZ #9893] 2009-03-14 23:57:33 +00:00
tst-svc.c * malloc/memusagestat.c (main): Use return instead of exit to 2000-12-31 10:52:32 +00:00
tst-svc.expect * string/strverscmp.c (__strverscmp): Fix last cleanups. 2009-04-07 06:51:59 +00:00
tst-svc.input * string/strverscmp.c (__strverscmp): Fix last cleanups. 2009-04-07 06:51:59 +00:00
Versions Sort Versions files 2013-02-17 16:34:04 +01:00
wordcopy.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
xpg-strerror.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00