From 9b2d3fb8995046c5a09a8ee49c6c28e2fc8709ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Sun, 17 Nov 2024 10:21:43 +0100 Subject: [PATCH] Store self compare backend checkbox in URL --- .../src/pages/compare/compile/common.ts | 2 ++ .../pages/compare/compile/compile-page.vue | 25 +++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/site/frontend/src/pages/compare/compile/common.ts b/site/frontend/src/pages/compare/compile/common.ts index e33e53f7b..998be1430 100644 --- a/site/frontend/src/pages/compare/compile/common.ts +++ b/site/frontend/src/pages/compare/compile/common.ts @@ -27,6 +27,7 @@ export type CompileBenchmarkFilter = { binary: boolean; library: boolean; }; + selfCompareBackend: boolean; } & BenchmarkFilter; export const defaultCompileFilter: CompileBenchmarkFilter = { @@ -57,6 +58,7 @@ export const defaultCompileFilter: CompileBenchmarkFilter = { binary: true, library: true, }, + selfCompareBackend: false, }; export type Profile = "check" | "debug" | "opt" | "doc"; diff --git a/site/frontend/src/pages/compare/compile/compile-page.vue b/site/frontend/src/pages/compare/compile/compile-page.vue index a51023e3d..6818a42e6 100644 --- a/site/frontend/src/pages/compare/compile/compile-page.vue +++ b/site/frontend/src/pages/compare/compile/compile-page.vue @@ -102,6 +102,11 @@ function loadFilterFromUrl( defaultFilter.artifact.library ), }, + selfCompareBackend: getBoolOrDefault( + urlParams, + "selfCompareBackend", + defaultFilter.selfCompareBackend + ), }; } @@ -173,6 +178,11 @@ function storeFilterToUrl( filter.artifact.library, defaultFilter.artifact.library ); + storeOrReset( + "selfCompareBackend", + filter.selfCompareBackend, + defaultFilter.selfCompareBackend + ); changeUrl(urlParams); } @@ -183,6 +193,10 @@ function updateFilter(newFilter: CompileBenchmarkFilter) { refreshQuickLinks(); } +function updateSelfCompareBackend(value: boolean) { + updateFilter({...filter.value, selfCompareBackend: value}); +} + /** * When the filter changes, the URL is updated. * After that happens, we want to re-render the quick links component, because @@ -199,7 +213,9 @@ const quickLinksKey = ref(0); const filter = ref(loadFilterFromUrl(urlParams, defaultCompileFilter)); // Should we use the backend as the source of before/after data? -const selfCompareBackend = ref(false); +const selfCompareBackend = computed( + () => comparesIdenticalCommits.value && filter.value.selfCompareBackend +); function exportData() { exportToMarkdown(comparisons.value, filter.value.showRawData); @@ -240,7 +256,12 @@ const filteredSummary = computed(() => computeSummary(comparisons.value)); :metrics="benchmarkInfo.compile_metrics" />
- Self-compare backend: + Self-compare backend: +