Add nightly performance regression detection - #10720
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 99c59e2a-5c76-4bf2-bdc7-20992c477981
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Pull request overview
Adds nightly Linux performance regression detection using a seven-run rolling baseline and non-blocking warnings.
Changes:
- Adds baseline comparison, workflow summaries, and artifact persistence.
- Makes timing reports pipeline-aware.
- Restores Scenario4 collection.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/perf-timing-nightly.yml |
Integrates baseline retrieval, comparison, and upload. |
.github/scripts/compare_perf_timings.py |
Calculates medians, regressions, and updated baselines. |
PlainProcess.cs |
Emits named timing reports. |
DotnetTestProcess.cs |
Emits named timing reports. |
Scenario4.cs |
Addresses generated-code warning. |
Review details
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- Files reviewed: 5/5 changed files
- Comments generated: 1
- Review effort level: Balanced
There was a problem hiding this comment.
Note
🤖 Automated review by GitHub Copilot. Generated by the Expert Code Review workflow. To request a follow-up action, reply by tagging @copilot directly.
✅ 22/22 dimensions clean — no findings.
Dimensions assessed:
- 1 Algorithmic Correctness — LGTM (Python parsing/validation logic is solid;
WriteAllTextcorrectly replacesAppendAllTextfor the new report-object format;GC.KeepAliveprevents JIT elision) - 2 Threading & Concurrency — N/A (no shared mutable state in changed code)
- 3 Security & IPC — N/A (script reads/writes local artifacts; workflow downloads from own repo)
- 4 Public API — N/A (no public API changes)
- 5 Performance — N/A (this is perf tooling, not hot-path library code)
- 6 Cross-TFM — N/A (Python + YAML + perf runner)
- 7 Resource/IDisposable — N/A
- 8 Defensive Coding — N/A (no trust boundaries crossed)
- 9 Localization — N/A
- 10 Test Isolation — N/A
- 11 Assertion Quality — N/A
- 12 Flakiness — N/A
- 13 Test Completeness — LGTM (CI utility script; validated by integration through the workflow itself)
- 14 Data-Driven — N/A
- 15 Code Structure — LGTM (clean, well-organized)
- 16 Naming — LGTM
- 17 Documentation — LGTM (workflow header comment updated)
- 18 Analyzer Quality — N/A
- 19 IPC Wire — N/A
- 20 Build Infrastructure — LGTM (
actions: readpermission correctly added for artifact listing) - 21 Scope & PR Discipline — LGTM (focused perf-baseline infrastructure)
- 22 PowerShell — N/A (Python script, not PowerShell)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 99c59e2a-5c76-4bf2-bdc7-20992c477981
🧪 Expert test review — PR #10720No new or modified test methods were identified in the changed regions of this PR. The changes touch performance-testing infrastructure only ( Re-run with
|
🧵 Parallel-safety audit — PR #10720Nothing audited here touches process-global state, shared filesystem paths, or This PR only changes performance-harness/CI scripting ( No changed Re-run with
|
Summary
Validation
Scenario4_ClassInit_PlainProcessend to end and verified its named three-measurement reportCloses #10549