Message ID | PAWPR08MB8982FBBAA85A14DB1430779883B49@PAWPR08MB8982.eurprd08.prod.outlook.com |
---|---|
State | New |
Headers | show |
Series | Benchtests: Remove simple_str(n)casecmp | expand |
On 08/03/23 08:04, Wilco Dijkstra via Libc-alpha wrote: > > Remove the slow byte oriented loops. Adjust iteration count to reduce benchmark time. LGTM, thanks. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> > > --- > > diff --git a/benchtests/bench-strcasecmp.c b/benchtests/bench-strcasecmp.c > index fcfffdea42d72364d915f65cad98eaf9e11b585e..abc6a216e37b49c352fb84f723f88986c5364fb9 100644 > --- a/benchtests/bench-strcasecmp.c > +++ b/benchtests/bench-strcasecmp.c > @@ -23,28 +23,14 @@ > #include "json-lib.h" > > typedef int (*proto_t) (const char *, const char *); > -static int simple_strcasecmp (const char *, const char *); > > -IMPL (simple_strcasecmp, 0) > IMPL (strcasecmp, 1) > > -static int > -simple_strcasecmp (const char *s1, const char *s2) > -{ > - int ret; > - > - while ((ret = ((unsigned char) tolower (*s1) > - - (unsigned char) tolower (*s2))) == 0 > - && *s1++) > - ++s2; > - return ret; > -} > - > static void > do_one_test (json_ctx_t *json_ctx, impl_t *impl, const char *s1, > const char *s2, int exp_result) > { > - size_t i, iters = INNER_LOOP_ITERS; > + size_t i, iters = INNER_LOOP_ITERS8; > timing_t start, stop, cur; > int result = CALL (impl, s1, s2); > if ((exp_result == 0 && result != 0) > diff --git a/benchtests/bench-strncasecmp.c b/benchtests/bench-strncasecmp.c > index 5689a22901b918cf20bc58dc5175f552604bb878..051c17d9f78b62d22b4258e7ea04cc15759e2060 100644 > --- a/benchtests/bench-strncasecmp.c > +++ b/benchtests/bench-strncasecmp.c > @@ -23,35 +23,14 @@ > #include "json-lib.h" > > typedef int (*proto_t) (const char *, const char *, size_t); > -static int simple_strncasecmp (const char *, const char *, size_t); > > -IMPL (simple_strncasecmp, 0) > IMPL (strncasecmp, 1) > > -static int > -simple_strncasecmp (const char *s1, const char *s2, size_t n) > -{ > - int ret; > - > - if (n == 0) > - return 0; > - > - while ((ret = ((unsigned char) tolower (*s1) > - - (unsigned char) tolower (*s2))) == 0 > - && *s1++) > - { > - if (--n == 0) > - return 0; > - ++s2; > - } > - return ret; > -} > - > static void > do_one_test (json_ctx_t *json_ctx, impl_t *impl, const char *s1, > const char *s2, size_t n, int exp_result) > { > - size_t i, iters = INNER_LOOP_ITERS; > + size_t i, iters = INNER_LOOP_ITERS8; > timing_t start, stop, cur; > > TIMING_NOW (start); > >
diff --git a/benchtests/bench-strcasecmp.c b/benchtests/bench-strcasecmp.c index fcfffdea42d72364d915f65cad98eaf9e11b585e..abc6a216e37b49c352fb84f723f88986c5364fb9 100644 --- a/benchtests/bench-strcasecmp.c +++ b/benchtests/bench-strcasecmp.c @@ -23,28 +23,14 @@ #include "json-lib.h" typedef int (*proto_t) (const char *, const char *); -static int simple_strcasecmp (const char *, const char *); -IMPL (simple_strcasecmp, 0) IMPL (strcasecmp, 1) -static int -simple_strcasecmp (const char *s1, const char *s2) -{ - int ret; - - while ((ret = ((unsigned char) tolower (*s1) - - (unsigned char) tolower (*s2))) == 0 - && *s1++) - ++s2; - return ret; -} - static void do_one_test (json_ctx_t *json_ctx, impl_t *impl, const char *s1, const char *s2, int exp_result) { - size_t i, iters = INNER_LOOP_ITERS; + size_t i, iters = INNER_LOOP_ITERS8; timing_t start, stop, cur; int result = CALL (impl, s1, s2); if ((exp_result == 0 && result != 0) diff --git a/benchtests/bench-strncasecmp.c b/benchtests/bench-strncasecmp.c index 5689a22901b918cf20bc58dc5175f552604bb878..051c17d9f78b62d22b4258e7ea04cc15759e2060 100644 --- a/benchtests/bench-strncasecmp.c +++ b/benchtests/bench-strncasecmp.c @@ -23,35 +23,14 @@ #include "json-lib.h" typedef int (*proto_t) (const char *, const char *, size_t); -static int simple_strncasecmp (const char *, const char *, size_t); -IMPL (simple_strncasecmp, 0) IMPL (strncasecmp, 1) -static int -simple_strncasecmp (const char *s1, const char *s2, size_t n) -{ - int ret; - - if (n == 0) - return 0; - - while ((ret = ((unsigned char) tolower (*s1) - - (unsigned char) tolower (*s2))) == 0 - && *s1++) - { - if (--n == 0) - return 0; - ++s2; - } - return ret; -} - static void do_one_test (json_ctx_t *json_ctx, impl_t *impl, const char *s1, const char *s2, size_t n, int exp_result) { - size_t i, iters = INNER_LOOP_ITERS; + size_t i, iters = INNER_LOOP_ITERS8; timing_t start, stop, cur; TIMING_NOW (start);