Make vector mesh branch detection and free-point click targets O(n) instead of O(n^2) (#4255)

* Make is_branching and free-point click targets O(n) instead of O(n^2)

* usize -> u8

* Fix profiling CI treating performance improvements as regressions
This commit is contained in:
Keavon Chambers
2026-06-18 21:52:02 -07:00
committed by GitHub
parent 236ab7a11c
commit 13abf9fa8c
3 changed files with 32 additions and 11 deletions

View File

@@ -137,6 +137,7 @@ jobs:
const sectionTitles = ['Compilation', 'Update', 'Run Once', 'Cached Execution'];
let hasSignificantChanges = false;
let hasRegressions = false;
let regressionDetails = [];
for (let i = 0; i < allOutputs.length; i++) {
@@ -153,19 +154,25 @@ jobs:
if (isSignificantChange(diffPct, absoluteChange, outputName)) {
hasSignificantChanges = true;
regressionDetails.push({
module_path: benchmark.module_path,
id: benchmark.id,
diffPct,
absoluteChange,
sectionTitle
});
// Only an increase in instruction count is a regression; improvements must not fail CI.
if (diffPct > 0) {
hasRegressions = true;
regressionDetails.push({
module_path: benchmark.module_path,
id: benchmark.id,
diffPct,
absoluteChange,
sectionTitle
});
}
}
}
}
}
core.setOutput('has-significant-changes', hasSignificantChanges);
core.setOutput('has-regressions', hasRegressions);
core.setOutput('regression-details', JSON.stringify(regressionDetails));
- name: Comment PR
@@ -319,7 +326,7 @@ jobs:
}
- name: Fail on significant regressions
if: steps.analyze.outputs.has-significant-changes == 'true'
if: steps.analyze.outputs.has-regressions == 'true'
uses: actions/github-script@v8
with:
script: |