This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[COMMITTED] Reallocate buffers for every run in strlen
- From: Siddhesh Poyarekar <siddhesh at sourceware dot org>
- To: libc-alpha at sourceware dot org
- Date: Thu, 16 Aug 2018 14:13:32 +0530
- Subject: [COMMITTED] Reallocate buffers for every run in strlen
- References: <20180816084332.8469-1-siddhesh@sourceware.org>
Try and avoid influencing performance of neighbouring functions.
---
ChangeLog | 3 +++
benchtests/bench-strlen.c | 17 ++++++++++-------
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index ec444a339e..cd60ef8399 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2018-08-16 Siddhesh Poyarekar <siddhesh@sourceware.org>
+ * benchtests/bench-strlen.c (do_test): Allocate buffers before
+ every strlen call.
+
* benchtests/bench-strlen.c: Print performance numbers in json.
2018-08-16 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>
diff --git a/benchtests/bench-strlen.c b/benchtests/bench-strlen.c
index 6782215e7e..576849400f 100644
--- a/benchtests/bench-strlen.c
+++ b/benchtests/bench-strlen.c
@@ -96,12 +96,6 @@ do_test (json_ctx_t *json_ctx, size_t align, size_t len)
if (align + sizeof(CHAR) * len >= page_size)
return;
- CHAR *buf = (CHAR *) (buf1);
-
- for (i = 0; i < len; ++i)
- buf[align + i] = 1 + 11111 * i % MAX_CHAR;
- buf[align + len] = 0;
-
json_element_object_begin (json_ctx);
json_attr_uint (json_ctx, "length", len);
json_attr_uint (json_ctx, "alignment", align);
@@ -109,7 +103,16 @@ do_test (json_ctx_t *json_ctx, size_t align, size_t len)
FOR_EACH_IMPL (impl, 0)
- do_one_test (json_ctx, impl, (CHAR *) (buf + align), len);
+ {
+ CHAR *buf = (CHAR *) (buf1);
+
+ for (i = 0; i < len; ++i)
+ buf[align + i] = 1 + 11111 * i % MAX_CHAR;
+ buf[align + len] = 0;
+
+ do_one_test (json_ctx, impl, (CHAR *) (buf + align), len);
+ alloc_bufs ();
+ }
json_array_end (json_ctx);
json_element_object_end (json_ctx);
--
2.17.1