diff options
author | Wilco Dijkstra <wdijkstr@arm.com> | 2019-02-12 17:19:51 +0000 |
---|---|---|
committer | Wilco Dijkstra <wdijkstr@arm.com> | 2019-02-12 17:19:51 +0000 |
commit | 16f87cfd630522afe745a0cf665287b8fe206cf4 (patch) | |
tree | 9f33bc5ad9ad0bbf3f1975ce25019e6acdd1f183 /benchtests/bench-strcmp.c | |
parent | 0c6d82e979d562147c9cfe0e6f65b42a904288bc (diff) | |
download | glibc-16f87cfd630522afe745a0cf665287b8fe206cf4.tar.gz |
String benchtest cleanup
Continue cleanup of the string benchtests. Remove simplistic
byte-oriented versions with faster generic implementations.
Remove bcopy/bzero benchmarks (bcopy/bzero are obsolete and never
emitted by compilers). Remove builtin versions of memcpy, memset
and strlen. Remove all remaining "stupid" implementations given
they are always slower than the "simple" variants and thus don't
add anything useful.
* benchtests/bench-strcasecmp.c (stupid_strcasecmp): Remove.
* benchtests/bench-strcasestr.c (stupid_strcasestr): Remove.
* benchtests/bench-strchr.c (stupid_strchr): Remove.
* benchtests/bench-strcmp.c (stupid_strcmp): Remove.
* benchtests/bench-strcspn.c (stupid_strcspn): Remove.
* benchtests/bench-strlen.c (builtin_strlen): Remove.
* benchtests/bench-strncasecmp.c (stupid_strncasecmp): Remove.
* benchtests/bench-strncmp.c (stupid_strncmp): Remove.
* benchtests/bench-strpbrk.c (stupid_strpbrk): Remove.
* benchtests/bench-strspn.c (stupid_strspn): Remove.
* benchtests/Makefile: Remove bench-bcopy.c and bench-bzero.c.
* benchtests/bench-bcopy.c: Delete file.
* benchtests/bench-bzero.c: Likewise.
* benchtests/bench-memccpy.c (stupid_memccpy): Remove.
(simple_memccpy): Remove.
(generic_memccpy): Add function.
* benchtests/bench-memcpy.c: (builtin_memcpy): Remove.
* benchtests/bench-memmove.c (simple_bcopy): Remove.
* benchtests/bench-mempcpy.c (simple_mempcpy): Remove.
(generic_mempcpy): Add new function.
* benchtests/bench-memset.c (simple_bzero): Remove.
(builtin_bzero): Remove.
(builtin_memset): Remove.
* benchtests/bench-rawmemchr.c (simple_rawmemchr): Remove.
(generic_rawmemchr): Add new function.
Diffstat (limited to 'benchtests/bench-strcmp.c')
-rw-r--r-- | benchtests/bench-strcmp.c | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/benchtests/bench-strcmp.c b/benchtests/bench-strcmp.c index 695aa19f92..c87b3ac02b 100644 --- a/benchtests/bench-strcmp.c +++ b/benchtests/bench-strcmp.c @@ -27,7 +27,6 @@ #ifdef WIDE # define L(str) L##str # define SIMPLE_STRCMP simple_wcscmp -# define STUPID_STRCMP stupid_wcscmp # define CHARBYTESLOG 2 # define MIDCHAR 0x7fffffff # define LARGECHAR 0xfffffffe @@ -51,31 +50,11 @@ simple_wcscmp (const wchar_t *s1, const wchar_t *s2) return c1 < c2 ? -1 : 1; } -int -stupid_wcscmp (const wchar_t *s1, const wchar_t *s2) -{ - size_t ns1 = wcslen (s1) + 1; - size_t ns2 = wcslen (s2) + 1; - size_t n = ns1 < ns2 ? ns1 : ns2; - int ret = 0; - - wchar_t c1, c2; - - while (n--) { - c1 = *s1++; - c2 = *s2++; - if ((ret = c1 < c2 ? -1 : c1 == c2 ? 0 : 1) != 0) - break; - } - return ret; -} - #else # include <limits.h> # define L(str) str # define SIMPLE_STRCMP simple_strcmp -# define STUPID_STRCMP stupid_strcmp # define CHARBYTESLOG 0 # define MIDCHAR 0x7f # define LARGECHAR 0xfe @@ -90,26 +69,12 @@ simple_strcmp (const char *s1, const char *s2) return ret; } -int -stupid_strcmp (const char *s1, const char *s2) -{ - size_t ns1 = strlen (s1) + 1; - size_t ns2 = strlen (s2) + 1; - size_t n = ns1 < ns2 ? ns1 : ns2; - int ret = 0; - - while (n--) - if ((ret = *(unsigned char *) s1++ - *(unsigned char *) s2++) != 0) - break; - return ret; -} #endif # include "json-lib.h" typedef int (*proto_t) (const CHAR *, const CHAR *); -IMPL (STUPID_STRCMP, 1) IMPL (SIMPLE_STRCMP, 1) IMPL (STRCMP, 1) |