From patchwork Fri Feb 2 04:48:09 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siddhesh Poyarekar X-Patchwork-Id: 25760 Received: (qmail 44222 invoked by alias); 2 Feb 2018 04:48:32 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 44180 invoked by uid 89); 2 Feb 2018 04:48:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.1 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_NEUTRAL, URIBL_RED autolearn=ham version=3.3.2 spammy= X-HELO: homiemail-a52.g.dreamhost.com From: Siddhesh Poyarekar To: libc-alpha@sourceware.org Subject: [COMMITTED] benchtests: Reallocate buffers for every test run Date: Fri, 2 Feb 2018 10:18:09 +0530 Message-Id: <20180202044809.2797-3-siddhesh@sourceware.org> In-Reply-To: <20180202044809.2797-1-siddhesh@sourceware.org> References: <20180202044809.2797-1-siddhesh@sourceware.org> 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 | 5 +++++ benchtests/bench-memcmp.c | 25 ++++++++++++++----------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 480090e720..4362a79893 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 38cbdf8d5a..c7255a5b0e 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); - - for (i = 0; i < len; i++) - s1[i] = s2[i] = 1 + (23 << ((CHARBYTES - 1) * 8)) * i % CHAR__MAX; - - s1[len] = align1; - s2[len] = align2; - s2[len - 1] -= exp_result; - printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2); FOR_EACH_IMPL (impl, 0) - do_one_test (impl, s1, s2, len, exp_result); + { + s1 = (CHAR *) (buf1 + align1); + s2 = (CHAR *) (buf2 + align2); + + for (i = 0; i < len; i++) + s1[i] = s2[i] = 1 + (23 << ((CHARBYTES - 1) * 8)) * i % CHAR__MAX; + + s1[len] = align1; + s2[len] = align2; + s2[len - 1] -= exp_result; + + do_one_test (impl, s1, s2, len, exp_result); + realloc_bufs (); + } putchar ('\n'); }