diff options
author | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2021-09-16 17:28:53 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2021-09-16 17:28:53 +0000 |
commit | 1af2c6048922a9517c9294e707265ee6ec3a5926 (patch) | |
tree | d92c9e02b7f1fd245b36baba20b2fd4fed7bf345 /tcwg_bmk-build.sh | |
parent | f96366a48dcda25b8f9c35242ba3ca4b77c82760 (diff) |
tcwg_bmk-build.sh: Add absolute numbers for regressions to email report
Change-Id: I8557b35c38518c8c1e69378288a5406f2454aab9
Diffstat (limited to 'tcwg_bmk-build.sh')
-rwxr-xr-x | tcwg_bmk-build.sh | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/tcwg_bmk-build.sh b/tcwg_bmk-build.sh index a802a594..787d8825 100755 --- a/tcwg_bmk-build.sh +++ b/tcwg_bmk-build.sh @@ -365,22 +365,22 @@ compare_results_perf () esac local -a arr - local bmk symbol metric time2 regression result prev_bmk + local metric bmk symbol rtime rsize time1 time2 size1 size2 regression result prev_bmk echo "bmk,symbol,result" > $run_step_artifacts/results-compare.csv printf "extra_build_params=" > $run_step_artifacts/extra-bisect-params assert_with_msg "Found stale regression files" \ [ x"$(find $run_step_artifacts/ -name "*.regression" | wc -l)" = x"0" ] - local regressed_by metric_field + local metric_id regressed_by case "${cflags[0]}" in "-Os"*|"-Oz"*) + metric_id="size" regressed_by="grew in size by" - metric_field=3 ;; *) + metric_id="time" regressed_by="slowed down by" - metric_field=2 ;; esac @@ -390,13 +390,22 @@ compare_results_perf () while IFS=, read -a arr; do bmk=${arr[0]} symbol=${arr[1]} - metric=${arr[$metric_field]} + rtime=${arr[2]} + rsize=${arr[3]} + time1=${arr[4]} time2=${arr[5]} + size1=${arr[6]} + size2=${arr[7]} + + case $metric_id in + size) metric=$rsize ;; + time) metric=$rtime ;; + *) assert false ;; + esac # Skip case where we have no info ("n/a") if [ "$metric" != "n/a" ]; then metric=$(($metric - 100)) - regression="$regressed_by ${metric}%" # Remove padding from the tail of $symbol (padding is added by # csvs2table.py for better formatting). local short_symbol @@ -418,7 +427,15 @@ compare_results_perf () if ! [ "$metric" -le "$threshold" ]; then result=100 + + case $metric_id in + size) regression="$regressed_by ${metric}% from $size1 to $size2 bytes" ;; + time) regression="$regressed_by ${metric}% from $time1 to $time2 perf samples" ;; + *) assert false ;; + esac if $bmk_exe; then + # Detect magic sample counts that indicate failure to build + # and failure to run case "$time2" in 888888888) regression="failed to run correctly" ;; 999999999) regression="failed to build" ;; |