diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 15:49:30 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 15:49:30 +0000 |
commit | e14d51045326808a48d43d7e0b45860cd33e2b17 (patch) | |
tree | 90b47e500bf7b1ccffae92fc2105cea5b8b7b61f /benchtests/README | |
parent | c949e9c224c0fc890982cc42797ae868b04faa00 (diff) | |
parent | 963c37d5c0eb62b38f8764b23931c0dcdd497a13 (diff) |
Merge commit 'refs/top-bases/t/context_functions' into t/context_functions
Diffstat (limited to 'benchtests/README')
-rw-r--r-- | benchtests/README | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/benchtests/README b/benchtests/README index 999d268cf8..4ddff794d1 100644 --- a/benchtests/README +++ b/benchtests/README @@ -34,6 +34,44 @@ the benchmark to use clock_gettime by invoking make as follows: Again, one must run `make bench-clean' before changing the measurement method. +Running benchmarks on another target: +==================================== + +If the target where you want to run benchmarks is not capable of building the +code or you're cross-building, you could build and execute the benchmark in +separate steps. On the build system run: + + $ make bench-build + +and then copy the source and build directories to the target and run the +benchmarks from the build directory as usual: + + $ make bench + +make sure the copy preserves timestamps by using either rsync or scp -p +otherwise the above command may try to build the benchmark again. Benchmarks +that require generated code to be executed during the build are skipped when +cross-building. + +Running subsets of benchmarks: +============================== + +To run only a subset of benchmarks, one may invoke make as follows + + $ make bench BENCHSET="bench-pthread bench-math malloc-thread" + +where BENCHSET may be a space-separated list of the following values: + + bench-math + bench-pthread + bench-string + string-benchset + wcsmbs-benchset + stdlib-benchset + stdio-common-benchset + math-benchset + malloc-thread + Adding a function to benchtests: =============================== @@ -83,6 +121,12 @@ the same file by using the `name' directive that looks something like this: See the pow-inputs file for an example of what such a partitioned input file would look like. +It is also possible to measure throughput of a (partial) trace extracted from +a real workload. In this case the whole trace is iterated over multiple times +rather than repeating every input multiple times. This can be done via: + + ##name: workload-<name> + Benchmark Sets: ============== @@ -97,3 +141,14 @@ To add a benchset for `foo': - Write your bench-foo.c that prints out the measurements to stdout. - On execution, a bench-foo.out is created in $(objpfx) with the contents of stdout. + +Reading String Benchmark Results: +================================ + +Some of the string benchmark results are now in JSON to make it easier to read +in scripts. Use the benchtests/compare_strings.py script to show the results +in a tabular format, generate graphs and more. Run + + benchtests/scripts/compare_strings.py -h + +for usage information. |