Benchtests: Remove memchr_strnlen

Message ID PAWPR08MB89822CF15B4835C86A377C7883B49@PAWPR08MB8982.eurprd08.prod.outlook.com
State Committed
Commit b0e02d5b6d65cdfc972494484ef9a67b8e55e8f0
Headers
Series Benchtests: Remove memchr_strnlen |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent
dj/TryBot-32bit success Build for i686

Commit Message

Wilco Dijkstra March 8, 2023, 10:50 a.m. UTC
  Remove memchr_strnlen since it is now the same as generic_strnlen. Adjust iteration
count to reduce benchmark time.

(I kept memchr_strlen since the generic strlen does not use memchr).

---
  

Comments

Adhemerval Zanella March 8, 2023, 3:18 p.m. UTC | #1
On 08/03/23 07:50, Wilco Dijkstra via Libc-alpha wrote:
> 
> Remove memchr_strnlen since it is now the same as generic_strnlen. Adjust iteration
> count to reduce benchmark time.
> 
> (I kept memchr_strlen since the generic strlen does not use memchr).


LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

> 
> ---
> 
> diff --git a/benchtests/bench-strlen.c b/benchtests/bench-strlen.c
> index cae88dd6ec1794709fdf36a373896dd2d9d285dd..9b91f8a10ef0621cf2bc8310d8f08bd978b6d898 100644
> --- a/benchtests/bench-strlen.c
> +++ b/benchtests/bench-strlen.c
> @@ -48,7 +48,7 @@ IMPL (STRLEN, 1)
>  static void
>  do_one_test (json_ctx_t *json_ctx, impl_t *impl, const CHAR *s, size_t exp_len)
>  {
> -  size_t len = CALL (impl, s), i, iters = INNER_LOOP_ITERS_LARGE;
> +  size_t len = CALL (impl, s), i, iters = INNER_LOOP_ITERS8;
>    timing_t start, stop, cur;
>  
>    if (len != exp_len)
> diff --git a/benchtests/bench-strnlen.c b/benchtests/bench-strnlen.c
> index c997d7da4c93b08070b718ef22cbd5582feeca09..a1840afa85c52dfecd35b1e4bb36d339b0866483 100644
> --- a/benchtests/bench-strnlen.c
> +++ b/benchtests/bench-strnlen.c
> @@ -22,7 +22,6 @@
>  #else
>  # define TEST_NAME "wcsnlen"
>  # define generic_strnlen generic_wcsnlen
> -# define memchr_strnlen wcschr_wcsnlen
>  #endif /* WIDE */
>  #include "bench-string.h"
>  #include "json-lib.h"
> @@ -38,22 +37,14 @@
>  typedef size_t (*proto_t) (const CHAR *, size_t);
>  size_t generic_strnlen (const CHAR *, size_t);
>  
> -size_t
> -memchr_strnlen (const CHAR *s, size_t maxlen)
> -{
> -  const CHAR *s1 = MEMCHR (s, 0, maxlen);
> -  return (s1 == NULL) ? maxlen : s1 - s;
> -}
> -
>  IMPL (STRNLEN, 1)
> -IMPL (memchr_strnlen, 0)
>  IMPL (generic_strnlen, 0)
>  
>  static void
>  do_one_test (json_ctx_t *json_ctx, impl_t *impl, const CHAR *s, size_t maxlen,
>  	     size_t exp_len)
>  {
> -  size_t len = CALL (impl, s, maxlen), i, iters = INNER_LOOP_ITERS_LARGE;
> +  size_t len = CALL (impl, s, maxlen), i, iters = INNER_LOOP_ITERS;
>    timing_t start, stop, cur;
>  
>    if (len != exp_len)
>
  

Patch

diff --git a/benchtests/bench-strlen.c b/benchtests/bench-strlen.c
index cae88dd6ec1794709fdf36a373896dd2d9d285dd..9b91f8a10ef0621cf2bc8310d8f08bd978b6d898 100644
--- a/benchtests/bench-strlen.c
+++ b/benchtests/bench-strlen.c
@@ -48,7 +48,7 @@  IMPL (STRLEN, 1)
 static void
 do_one_test (json_ctx_t *json_ctx, impl_t *impl, const CHAR *s, size_t exp_len)
 {
-  size_t len = CALL (impl, s), i, iters = INNER_LOOP_ITERS_LARGE;
+  size_t len = CALL (impl, s), i, iters = INNER_LOOP_ITERS8;
   timing_t start, stop, cur;
 
   if (len != exp_len)
diff --git a/benchtests/bench-strnlen.c b/benchtests/bench-strnlen.c
index c997d7da4c93b08070b718ef22cbd5582feeca09..a1840afa85c52dfecd35b1e4bb36d339b0866483 100644
--- a/benchtests/bench-strnlen.c
+++ b/benchtests/bench-strnlen.c
@@ -22,7 +22,6 @@ 
 #else
 # define TEST_NAME "wcsnlen"
 # define generic_strnlen generic_wcsnlen
-# define memchr_strnlen wcschr_wcsnlen
 #endif /* WIDE */
 #include "bench-string.h"
 #include "json-lib.h"
@@ -38,22 +37,14 @@ 
 typedef size_t (*proto_t) (const CHAR *, size_t);
 size_t generic_strnlen (const CHAR *, size_t);
 
-size_t
-memchr_strnlen (const CHAR *s, size_t maxlen)
-{
-  const CHAR *s1 = MEMCHR (s, 0, maxlen);
-  return (s1 == NULL) ? maxlen : s1 - s;
-}
-
 IMPL (STRNLEN, 1)
-IMPL (memchr_strnlen, 0)
 IMPL (generic_strnlen, 0)
 
 static void
 do_one_test (json_ctx_t *json_ctx, impl_t *impl, const CHAR *s, size_t maxlen,
 	     size_t exp_len)
 {
-  size_t len = CALL (impl, s, maxlen), i, iters = INNER_LOOP_ITERS_LARGE;
+  size_t len = CALL (impl, s, maxlen), i, iters = INNER_LOOP_ITERS;
   timing_t start, stop, cur;
 
   if (len != exp_len)