]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
benchtests: Reallocate buffers for every test run
authorSiddhesh Poyarekar <siddhesh@sourceware.org>
Fri, 2 Feb 2018 04:25:45 +0000 (09:55 +0530)
committerSiddhesh Poyarekar <siddhesh@sourceware.org>
Fri, 2 Feb 2018 04:25:45 +0000 (09:55 +0530)
Keeping the buffers the same across test runs gives later invocations
the advantage since they access cached data.  Reallocate so that all
test runs are on equal grounds.

* benchtests/bench-memcmp.c (do_test): Call realloc_buf for
every test run.

ChangeLog
benchtests/bench-memcmp.c

index 480090e720d6202d2019cf014a469cff55dcc602..4362a79893e3a795a4ad12ecc587a1f87b258b89 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-02-02  Siddhesh Poyarekar  <siddhesh@sourceware.org>
+
+       * benchtests/bench-memcmp.c (do_test): Call realloc_buf for
+       every test run.
+
 2018-02-01  Joseph Myers  <joseph@codesourcery.com>
 
        * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel
index 38cbdf8d5a8242dda5a56d7d877bf55489881824..c7255a5b0eb6b49974a2e0e952c25b9e86cf81fa 100644 (file)
@@ -110,20 +110,23 @@ do_test (size_t align1, size_t align2, size_t len, int exp_result)
   if (align2 + (len + 1) * CHARBYTES >= page_size)
     return;
 
-  s1 = (CHAR *) (buf1 + align1);
-  s2 = (CHAR *) (buf2 + align2);
+  printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
 
-  for (i = 0; i < len; i++)
-    s1[i] = s2[i] = 1 + (23 << ((CHARBYTES - 1) * 8)) * i % CHAR__MAX;
+  FOR_EACH_IMPL (impl, 0)
+    {
+      s1 = (CHAR *) (buf1 + align1);
+      s2 = (CHAR *) (buf2 + align2);
 
-  s1[len] = align1;
-  s2[len] = align2;
-  s2[len - 1] -= exp_result;
+      for (i = 0; i < len; i++)
+       s1[i] = s2[i] = 1 + (23 << ((CHARBYTES - 1) * 8)) * i % CHAR__MAX;
 
-  printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+      s1[len] = align1;
+      s2[len] = align2;
+      s2[len - 1] -= exp_result;
 
-  FOR_EACH_IMPL (impl, 0)
-    do_one_test (impl, s1, s2, len, exp_result);
+      do_one_test (impl, s1, s2, len, exp_result);
+      realloc_bufs ();
+    }
 
   putchar ('\n');
 }