diff options
Diffstat (limited to 'benchtests')
-rw-r--r-- | benchtests/Makefile | 6 | ||||
-rw-r--r-- | benchtests/README | 9 |
2 files changed, 15 insertions, 0 deletions
diff --git a/benchtests/Makefile b/benchtests/Makefile index bcd6a9c26d..45aeb5febe 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -131,6 +131,12 @@ CPPFLAGS-nonlib += -DDURATION=$(BENCH_DURATION) -D_ISOMAC # HP_TIMING if it is available. ifdef USE_CLOCK_GETTIME CPPFLAGS-nonlib += -DUSE_CLOCK_GETTIME +else +# On x86 processors, use RDTSCP, instead of RDTSC, to measure performance +# of functions. All x86 processors since 2010 support RDTSCP instruction. +ifdef USE_RDTSCP +CPPFLAGS-nonlib += -DUSE_RDTSCP +endif endif DETAILED_OPT := diff --git a/benchtests/README b/benchtests/README index 4ddff794d1..aaf0b659e2 100644 --- a/benchtests/README +++ b/benchtests/README @@ -34,6 +34,15 @@ the benchmark to use clock_gettime by invoking make as follows: Again, one must run `make bench-clean' before changing the measurement method. +On x86 processors, RDTSCP instruction provides more precise timing data +than RDTSC instruction. All x86 processors since 2010 support RDTSCP +instruction. One can force the benchmark to use RDTSCP by invoking make +as follows: + + $ make USE_RDTSCP=1 bench + +One must run `make bench-clean' before changing the measurement method. + Running benchmarks on another target: ==================================== |