Skip to content

Commit 98ff0f3

Browse files
committed
Add target filter to compile-time compage page
1 parent f46eb10 commit 98ff0f3

File tree

3 files changed

+48
-0
lines changed

3 files changed

+48
-0
lines changed

site/frontend/src/pages/compare/compile/common.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ export type CompileBenchmarkFilter = {
1919
llvm: boolean;
2020
cranelift: boolean;
2121
};
22+
target: {
23+
x86_64_unknown_linux_gnu: boolean;
24+
};
2225
category: {
2326
primary: boolean;
2427
secondary: boolean;
@@ -54,6 +57,9 @@ export const defaultCompileFilter: CompileBenchmarkFilter = {
5457
llvm: true,
5558
cranelift: true,
5659
},
60+
target: {
61+
x86_64_unknown_linux_gnu: true,
62+
},
5763
category: {
5864
primary: true,
5965
secondary: true,
@@ -154,6 +160,15 @@ export function computeCompileComparisonsWithNonRelevant(
154160
}
155161
}
156162

163+
function targetFilter(target: Target): boolean {
164+
if (target === "x86_64-unknown-linux-gnu") {
165+
return filter.target.x86_64_unknown_linux_gnu;
166+
} else {
167+
// Unknown, but by default we should show things
168+
return true;
169+
}
170+
}
171+
157172
function artifactFilter(metadata: CompileBenchmarkMetadata | null): boolean {
158173
if (metadata?.binary === null) return true;
159174

@@ -186,6 +201,7 @@ export function computeCompileComparisonsWithNonRelevant(
186201
profileFilter(comparison.testCase.profile) &&
187202
scenarioFilter(comparison.testCase.scenario) &&
188203
backendFilter(comparison.testCase.backend) &&
204+
targetFilter(comparison.testCase.target) &&
189205
categoryFilter(comparison.testCase.category) &&
190206
artifactFilter(benchmarkMap[comparison.testCase.benchmark] ?? null) &&
191207
changeFilter(comparison) &&

site/frontend/src/pages/compare/compile/compile-page.vue

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,13 @@ function loadFilterFromUrl(
7878
defaultFilter.backend.cranelift
7979
),
8080
},
81+
target: {
82+
x86_64_unknown_linux_gnu: getBoolOrDefault(
83+
urlParams,
84+
"target-x86_64-unknown-linux-gnu",
85+
defaultFilter.target.x86_64_unknown_linux_gnu
86+
),
87+
},
8188
category: {
8289
primary: getBoolOrDefault(
8390
urlParams,
@@ -174,6 +181,11 @@ function storeFilterToUrl(
174181
filter.backend.cranelift,
175182
defaultFilter.backend.cranelift
176183
);
184+
storeOrReset(
185+
"target-x86_64-unknown-linux-gnu",
186+
filter.target.x86_64_unknown_linux_gnu,
187+
defaultFilter.target.x86_64_unknown_linux_gnu
188+
);
177189
storeOrReset(
178190
"primary",
179191
filter.category.primary,

site/frontend/src/pages/compare/compile/filters.vue

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,26 @@ const opened = createPersistedRef(PREF_FILTERS_OPENED);
207207
</li>
208208
</ul>
209209
</div>
210+
<div class="section section-list-wrapper">
211+
<div class="section-heading">
212+
<div style="width: 160px">
213+
<span>Targets</span>
214+
<Tooltip>The host target of the benchmarked compiler. </Tooltip>
215+
</div>
216+
</div>
217+
<ul class="states-list">
218+
<li>
219+
<label>
220+
<input
221+
type="checkbox"
222+
v-model="filter.target.x86_64_unknown_linux_gnu"
223+
/>
224+
<span class="label">x86_64-unknown-linux-gnu</span>
225+
</label>
226+
<Tooltip>The default Linux x64 target.</Tooltip>
227+
</li>
228+
</ul>
229+
</div>
210230
<div class="section section-list-wrapper">
211231
<div class="section-heading">
212232
<div style="width: 160px">

0 commit comments

Comments
 (0)