From 1af2c6048922a9517c9294e707265ee6ec3a5926 Mon Sep 17 00:00:00 2001 From: Maxim Kuvyrkov Date: Thu, 16 Sep 2021 17:28:53 +0000 Subject: tcwg_bmk-build.sh: Add absolute numbers for regressions to email report Change-Id: I8557b35c38518c8c1e69378288a5406f2454aab9 --- tcwg_bmk-build.sh | 29 +++++++++++++++++++++++------ 1 file 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" ;; -- cgit v1.2.3