about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2017-03-23 19:00:02 +0000
committerWilco Dijkstra <wdijkstr@arm.com>2017-03-23 19:00:02 +0000
commit8d2030d659791184ecac8de9d6e1403b316a94c2 (patch)
treea4156bc46452fdd750fa3dde54f8cca8a81d97e1
parentca4dc7465917beeb37af32891d4c867b5ac16883 (diff)
downloadglibc-8d2030d659791184ecac8de9d6e1403b316a94c2.tar.gz
glibc-8d2030d659791184ecac8de9d6e1403b316a94c2.tar.xz
glibc-8d2030d659791184ecac8de9d6e1403b316a94c2.zip
Add a new randomized memcpy test for copies up to 256 bytes. The distribution
of the size and alignment is based on a trace of SPEC2006.  Instead of
repeating the same copy over and over again like the existing tests, it times
several thousand different copies to more accurately estimate the overhead of
branch prediction.

	* benchtests/Makefile (string-benchset): Add memcpy-random.
	* benchtests/bench-memcpy-random.c: New file.
-rw-r--r--ChangeLog5
-rw-r--r--benchtests/Makefile2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 86599d7b38..4ec8d83aec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-03-23  Wilco Dijkstra  <wdijkstr@arm.com>
+
+	* benchtests/Makefile (string-benchset): Add memcpy-random.
+	* benchtests/bench-memcpy-random.c: New file.
+
 2017-03-23  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>
 
 	* stdio-common/printf.h (register_printf_modifier): Change the
diff --git a/benchtests/Makefile b/benchtests/Makefile
index 81edf8a933..a96e9533b3 100644
--- a/benchtests/Makefile
+++ b/benchtests/Makefile
@@ -37,7 +37,7 @@ string-benchset := bcopy bzero memccpy memchr memcmp memcpy memmem memmove \
 		   strcat strchr strchrnul strcmp strcpy strcspn strlen \
 		   strncasecmp strncat strncmp strncpy strnlen strpbrk strrchr \
 		   strspn strstr strcpy_chk stpcpy_chk memrchr strsep strtok \
-		   strcoll memcpy-large memmove-large memset-large
+		   strcoll memcpy-large memcpy-random memmove-large memset-large
 
 # Build and run locale-dependent benchmarks only if we're building natively.
 ifeq (no,$(cross-compiling))