From 073cba10d1f90b34d24dd501739d48018668464a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Test=C3=A9?= Date: Thu, 30 Oct 2025 09:54:18 +0100 Subject: [PATCH] chore(ci): print stddev divergence in regression report --- ci/perf_regression/perf_regression.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ci/perf_regression/perf_regression.py b/ci/perf_regression/perf_regression.py index 6f3e8d91b..b8d0079d5 100644 --- a/ci/perf_regression/perf_regression.py +++ b/ci/perf_regression/perf_regression.py @@ -544,6 +544,12 @@ class OperationPerformance: return f"{sign}{self.change_percentage}%" + def stddev_divergence_as_str(self): + divergence = ( + abs(self.baseline_mean - self.head_branch_value) / self.baseline_stdev + ) + return f"{divergence:.2f}x" + def convert_value_to_readable_text(value_nanos: float, max_digits=3): """ @@ -645,6 +651,7 @@ OPERATION_HEADER = "Operation" CURRENT_VALUE_HEADER = "Current (ms)" BASELINE_VALUE_HEADER = "Baseline (ms)" BASELINE_STDDEV_HEADER = "Baseline Stddev (ms)" +STDDEV_DIVERGENCE_HEADER = "Stddev Divergence" CHANGE_HEADER = "Change (%)" STATUS_HEADER = "Status" @@ -675,6 +682,7 @@ def generate_regression_report( CURRENT_VALUE_HEADER: convert_value_to_readable_text(op.head_branch_value), BASELINE_VALUE_HEADER: convert_value_to_readable_text(op.baseline_mean), BASELINE_STDDEV_HEADER: convert_value_to_readable_text(op.baseline_stdev), + STDDEV_DIVERGENCE_HEADER: op.stddev_divergence_as_str(), CHANGE_HEADER: op.change_percentage_as_str(), STATUS_HEADER: " ".join((op.change_type.get_emoji(), op.change_type.value)), }