aboutsummaryrefslogtreecommitdiff
path: root/benchtests/Makefile
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@redhat.com>2013-05-13 13:44:32 +0530
committerSiddhesh Poyarekar <siddhesh@redhat.com>2013-05-13 13:44:32 +0530
commit43fe811b73d8f585a4ae837d4a9d4c0f5d46b779 (patch)
tree7280e44dba0f9839d1a5fbfcd890446e0c220953 /benchtests/Makefile
parent0f7d347bd0530562257d7c03c62b8c50d810b655 (diff)
downloadglibc-43fe811b73d8f585a4ae837d4a9d4c0f5d46b779.zip
glibc-43fe811b73d8f585a4ae837d4a9d4c0f5d46b779.tar.gz
glibc-43fe811b73d8f585a4ae837d4a9d4c0f5d46b779.tar.bz2
Use HP_TIMING for benchmarks if available
HP_TIMING uses native timestamping instructions if available, thus greatly reducing the overhead of recording start and end times for function calls. For architectures that don't have HP_TIMING available, we fall back to the clock_gettime bits. One may also override this by invoking the benchmark as follows: make USE_CLOCK_GETTIME=1 bench and get the benchmark results using clock_gettime. One has to do `make bench-clean` to ensure that the benchmark programs are rebuilt.
Diffstat (limited to 'benchtests/Makefile')
-rw-r--r--benchtests/Makefile8
1 files changed, 7 insertions, 1 deletions
diff --git a/benchtests/Makefile b/benchtests/Makefile
index 19e1be6..8618390 100644
--- a/benchtests/Makefile
+++ b/benchtests/Makefile
@@ -86,13 +86,19 @@ endif
CPPFLAGS-nonlib = -DDURATION=$(BENCH_DURATION)
+# Use clock_gettime to measure performance of functions. The default is to use
+# HP_TIMING if it is available.
+ifdef USE_CLOCK_GETTIME
+CPPFLAGS-nonlib += -DUSE_CLOCK_GETTIME
+endif
+
# This makes sure CPPFLAGS-nonlib and CFLAGS-nonlib are passed
# for all these modules.
cpp-srcs-left := $(binaries-bench:=.c)
lib := nonlib
include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
-bench-deps := bench-skeleton.c Makefile
+bench-deps := bench-skeleton.c bench-timing.h Makefile
run-bench = $(test-wrapper-env) \
GCONV_PATH=$(common-objpfx)iconvdata LC_ALL=C \