mirror of git://sourceware.org/git/glibc.git
benchtests: Restore the clock_gettime option
commit 7621e38bf3
Author: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
Date: Tue Jan 29 17:43:45 2019 +0000
Add generic hp-timing support
removed the clock_gettime option. Restore the clock_gettime option for
some x86 CPUs on which value from RDTSC may not be incremented at a fixed
rate.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
parent
f607047668
commit
e52434a2e4
|
@ -132,11 +132,17 @@ endif
|
||||||
|
|
||||||
CPPFLAGS-nonlib += -DDURATION=$(BENCH_DURATION) -D_ISOMAC
|
CPPFLAGS-nonlib += -DDURATION=$(BENCH_DURATION) -D_ISOMAC
|
||||||
|
|
||||||
|
# Use clock_gettime to measure performance of functions. The default is
|
||||||
|
# to use the architecture-specific high precision timing instructions.
|
||||||
|
ifdef USE_CLOCK_GETTIME
|
||||||
|
CPPFLAGS-nonlib += -DUSE_CLOCK_GETTIME
|
||||||
|
else
|
||||||
# On x86 processors, use RDTSCP, instead of RDTSC, to measure performance
|
# On x86 processors, use RDTSCP, instead of RDTSC, to measure performance
|
||||||
# of functions. All x86 processors since 2010 support RDTSCP instruction.
|
# of functions. All x86 processors since 2010 support RDTSCP instruction.
|
||||||
ifdef USE_RDTSCP
|
ifdef USE_RDTSCP
|
||||||
CPPFLAGS-nonlib += -DUSE_RDTSCP
|
CPPFLAGS-nonlib += -DUSE_RDTSCP
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
DETAILED_OPT :=
|
DETAILED_OPT :=
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,12 @@ BENCH_DURATION.
|
||||||
|
|
||||||
The benchmark suite does function call measurements using architecture-specific
|
The benchmark suite does function call measurements using architecture-specific
|
||||||
high precision timing instructions whenever available. When such support is
|
high precision timing instructions whenever available. When such support is
|
||||||
not available, it uses clock_gettime (CLOCK_MONOTONIC).
|
not available, it uses clock_gettime (CLOCK_MONOTONIC). One can force the
|
||||||
|
benchmark to use clock_gettime by invoking make as follows:
|
||||||
|
|
||||||
|
$ make USE_CLOCK_GETTIME=1 bench
|
||||||
|
|
||||||
|
Again, one must run `make bench-clean' before changing the measurement method.
|
||||||
|
|
||||||
On x86 processors, RDTSCP instruction provides more precise timing data
|
On x86 processors, RDTSCP instruction provides more precise timing data
|
||||||
than RDTSC instruction. All x86 processors since 2010 support RDTSCP
|
than RDTSC instruction. All x86 processors since 2010 support RDTSCP
|
||||||
|
|
|
@ -18,7 +18,11 @@
|
||||||
|
|
||||||
#undef attribute_hidden
|
#undef attribute_hidden
|
||||||
#define attribute_hidden
|
#define attribute_hidden
|
||||||
#include <hp-timing.h>
|
#ifdef USE_CLOCK_GETTIME
|
||||||
|
# include <sysdeps/generic/hp-timing.h>
|
||||||
|
#else
|
||||||
|
# include <hp-timing.h>
|
||||||
|
#endif
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#define GL(x) _##x
|
#define GL(x) _##x
|
||||||
|
|
Loading…
Reference in New Issue