diff options
author | Wilco Dijkstra <wdijkstr@arm.com> | 2015-09-18 16:02:38 +0100 |
---|---|---|
committer | Wilco Dijkstra <wdijkstr@arm.com> | 2015-09-18 16:02:38 +0100 |
commit | cb2f668d4692df8d31b2ccf9b18b86bebe2d9174 (patch) | |
tree | a573cb40e143d907c480181e8edfb62951258816 /benchtests/bench-skeleton.c | |
parent | e2b918d05db58248d5a61427e9f1416ccce782c9 (diff) | |
download | glibc-cb2f668d4692df8d31b2ccf9b18b86bebe2d9174.tar.gz glibc-cb2f668d4692df8d31b2ccf9b18b86bebe2d9174.tar.xz glibc-cb2f668d4692df8d31b2ccf9b18b86bebe2d9174.zip |
Add a new benchmark for isinf/isnan/isnormal/isfinite/fpclassify. The test uses 2 arrays with 1024 doubles, one with 99% finite FP numbers (10% zeroes, 10% negative) and 1% inf/NaN, the other with 50% inf, and 50% Nan.
ChangeLog: 2015-09-18 Wilco Dijkstra <wdijkstr@arm.com> * benchtests/Makefile: Add bench-math-inlines, link with libm. * benchtests/bench-math-inlines.c: New benchmark. * benchtests/bench-util.h: New file. * benchtests/bench-util.c: New file. * benchtests/bench-skeleton.c: Add include of bench-util.c/h.
Diffstat (limited to 'benchtests/bench-skeleton.c')
-rw-r--r-- | benchtests/bench-skeleton.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/benchtests/bench-skeleton.c b/benchtests/bench-skeleton.c index e357f0cf52..bc820dff7e 100644 --- a/benchtests/bench-skeleton.c +++ b/benchtests/bench-skeleton.c @@ -24,21 +24,9 @@ #include <inttypes.h> #include "bench-timing.h" #include "json-lib.h" +#include "bench-util.h" -volatile unsigned int dontoptimize = 0; - -void -startup (void) -{ - /* This loop should cause CPU to switch to maximal freqency. - This makes subsequent measurement more accurate. We need a side effect - to prevent the loop being deleted by compiler. - This should be enough to cause CPU to speed up and it is simpler than - running loop for constant time. This is used when user does not have root - access to set a constant freqency. */ - for (int k = 0; k < 10000000; k++) - dontoptimize += 23 * dontoptimize + 2; -} +#include "bench-util.c" #define TIMESPEC_AFTER(a, b) \ (((a).tv_sec == (b).tv_sec) ? \ @@ -56,7 +44,7 @@ main (int argc, char **argv) if (argc == 2 && !strcmp (argv[1], "-d")) detailed = true; - startup(); + bench_start (); memset (&runtime, 0, sizeof (runtime)); |