diff --git a/site/src/api.rs b/site/src/api.rs index e1c343364..4873d5e6a 100644 --- a/site/src/api.rs +++ b/site/src/api.rs @@ -189,9 +189,8 @@ pub mod comparison { pub benchmark: String, pub profile: String, pub scenario: String, - pub is_significant: bool, + pub is_relevant: bool, pub significance_factor: Option, - pub magnitude: String, pub statistics: (f64, f64), } } diff --git a/site/src/comparison.rs b/site/src/comparison.rs index 2182255a2..39f64961f 100644 --- a/site/src/comparison.rs +++ b/site/src/comparison.rs @@ -117,9 +117,8 @@ pub async fn handle_compare( benchmark: comparison.benchmark.to_string(), profile: comparison.profile.to_string(), scenario: comparison.scenario.to_string(), - is_significant: comparison.is_significant(), + is_relevant: comparison.is_relevant(), significance_factor: comparison.significance_factor(), - magnitude: comparison.magnitude().display().to_owned(), statistics: comparison.results, }) .collect(); @@ -1142,16 +1141,6 @@ impl Magnitude { fn is_medium_or_above(&self) -> bool { *self >= Self::Medium } - - pub fn display(&self) -> &'static str { - match self { - Self::VerySmall => "very small", - Self::Small => "small", - Self::Medium => "moderate", - Self::Large => "large", - Self::VeryLarge => "very large", - } - } } async fn generate_report( diff --git a/site/static/compare.html b/site/static/compare.html index 6540a58eb..069af2a67 100644 --- a/site/static/compare.html +++ b/site/static/compare.html @@ -525,29 +525,17 @@

Comparing {{stat}} between {
-
Show only significant changes +
Show non-relevant results ? - Whether to filter out all benchmarks that do not show significant changes. A significant - change is any change greater than or equal to 0.2% for non-noisy benchmarks and above - 1.0% for noisy ones. + Whether to show test case results that are not relevant (i.e., not significant or + have a large enough magnitude). You can see + + here how relevance is calculated.
- -
-
-
Filter out very small changes - ? - - Whether to filter out test cases that have a very small magnitude. Magnitude is - calculated both on the absolute magnitude (i.e., how large of a percentage change) - as well as the magnitude of the significance (i.e., by how many time the change was - over the significance threshold). - - -
- +
Display raw data @@ -700,8 +688,7 @@

Comparing {{stat}} between { return { filter: { name: null, - showOnlySignificant: true, - filterVerySmall: true, + showNonRelevant: false, profile: { check: true, debug: true, @@ -782,17 +769,14 @@

Comparing {{stat}} between { let nameFilter = filter.name && filter.name.trim(); nameFilter = !nameFilter || name.includes(nameFilter); - const significanceFilter = filter.showOnlySignificant ? testCase.isSignificant : true; - - const magnitudeFilter = filter.filterVerySmall ? testCase.magnitude != "very small" : true; + const relevanceFilter = filter.showNonRelevant ? true : testCase.isRelevant; return ( profileFilter(testCase.profile) && scenarioFilter(testCase.scenario) && categoryFilter(testCase.category) && - significanceFilter && - nameFilter && - magnitudeFilter + relevanceFilter && + nameFilter ); } @@ -807,8 +791,7 @@

Comparing {{stat}} between { profile: c.profile, scenario: c.scenario, category: (benchmarkMap[c.benchmark] || {}).category || "secondary", - magnitude: c.magnitude, - isSignificant: c.is_significant, + isRelevant: c.is_relevant, significanceFactor: c.significance_factor, datumA, datumB, @@ -909,10 +892,10 @@

Comparing {{stat}} between { }; const addDatum = (result, datum, percent) => { - if (percent > 0 && datum.is_significant) { + if (percent > 0 && datum.is_relevant) { result.regressions += 1; result.regressions_avg += percent; - } else if (percent < 0 && datum.is_significant) { + } else if (percent < 0 && datum.is_relevant) { result.improvements += 1; result.improvements_avg += percent; } else {