diff options
author | Andres Erbsen <andreser@mit.edu> | 2017-07-05 12:10:43 -0400 |
---|---|---|
committer | Andres Erbsen <andreser@mit.edu> | 2017-07-05 12:11:37 -0400 |
commit | 0a0a7db3bd132eab9a36c1f8fa901dc7ea20b8e7 (patch) | |
tree | c61be242b33278f640c84360def3e8c092042d83 /capture.sh | |
parent | d950635488d888960d876cd50d3b92ee1d48a6da (diff) |
benchmarking: correct for differences in CPU and TSC frequency
Diffstat (limited to 'capture.sh')
-rwxr-xr-x | capture.sh | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/capture.sh b/capture.sh index 868cc4384..1ef90ba9b 100755 --- a/capture.sh +++ b/capture.sh @@ -2,14 +2,18 @@ set -eu machine=$(etc/machine.sh) -freq=$(etc/freq.sh) +cpufreq=$(etc/cpufreq) +tscfreq=$(etc/tscfreq) compiler=$($1/compiler.sh -dumpversion) -measurement=$($1/measure $2 | (LC_ALL=C sort -n || true) | head "-$(($2/2))" | tail -1) revision=$(git rev-parse --short HEAD) +status=$(git status -u no --porcelain >/dev/null && echo '+') +tsccycles=$($1/measure $2 | (LC_ALL=C sort -n || true) | head "-$(($2/2))" | tail -1) +cpucycles_expr="$tsccycles*$cpufreq/$tscfreq" +cpucycles=$(echo "$cpucycles_expr" | bc) ( grep -v "$machine" "$1/measurements.txt" 2>/dev/null || true; - echo "$measurement $machine $freq $compiler $revision" + echo "$cpucycles =$cpucycles_expr $machine $compiler $revision$status" ) | (LC_ALL=C sort -n || true) > "$1/measurements.txt.tmp" mv "$1/measurements.txt.tmp" "$1/measurements.txt" |