From: Siddhesh Poyarekar Date: Fri, 2 Feb 2018 04:25:45 +0000 (+0530) Subject: benchtests: Reallocate buffers for every test run X-Git-Tag: glibc-2.28~659 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3dfcbfa1a4bfa39344e8d945ed1bd697c4c9fe96;p=thirdparty%2Fglibc.git benchtests: Reallocate buffers for every test run 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. --- diff --git a/ChangeLog b/ChangeLog index 480090e720d..4362a79893e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2018-02-02 Siddhesh Poyarekar + + * benchtests/bench-memcmp.c (do_test): Call realloc_buf for + every test run. + 2018-02-01 Joseph Myers * sysdeps/unix/sysv/linux/syscall-names.list: Update kernel diff --git a/benchtests/bench-memcmp.c b/benchtests/bench-memcmp.c index 38cbdf8d5a8..c7255a5b0eb 100644 --- a/benchtests/bench-memcmp.c +++ b/benchtests/bench-memcmp.c @@ -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'); }