Agent skill
perf-regression
Performance regression testing workflow for hot path changes
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/perf-regression-ahrav-scratch-scanner-rs-2
SKILL.md
Performance Regression Workflow
IMPORTANT: Follow this workflow before merging any feature that touches hot paths (src/engine/, regex changes, validation logic).
When This Applies
Invoke this skill when modifying:
src/engine/modules (scratch.rs, stream_decode.rs, work_items.rs)- Regex patterns or validation logic
- Data structures in
src/stdx/ - Rule definitions in
default_rules.yamlorsrc/rules/
Workflow Steps
1. Stash Changes and Build Baseline
git stash push -m "feature-name"
RUSTFLAGS="-C target-cpu=native" cargo build --release
2. Run Baseline Scans (3x each)
for i in 1 2 3; do
./target/release/scanner-rs ../gitleaks 2>&1 | tail -1
./target/release/scanner-rs ../linux 2>&1 | tail -1
./target/release/scanner-rs ../tigerbeetle 2>&1 | tail -1
done
Record average throughput for each repository.
3. Run Baseline Benchmarks
cargo bench --bench scanner_throughput -- --save-baseline before
cargo bench --bench vectorscan_overhead -- --save-baseline before
4. Restore Changes and Rebuild
git stash pop
RUSTFLAGS="-C target-cpu=native" cargo build --release
5. Run Comparison Scans and Benchmarks
# Same scan loop as step 2
for i in 1 2 3; do
./target/release/scanner-rs ../gitleaks 2>&1 | tail -1
./target/release/scanner-rs ../linux 2>&1 | tail -1
./target/release/scanner-rs ../tigerbeetle 2>&1 | tail -1
done
# Compare against baseline
cargo bench --bench scanner_throughput -- --baseline before
cargo bench --bench vectorscan_overhead -- --baseline before
6. Analyze Results
Calculate average throughput delta per repository:
% change = (after_throughput - baseline_throughput) / baseline_throughput * 100
Acceptance Criteria
| Regression Level | Action |
|---|---|
| None (<2%) | Ship as-is |
| Minor (2-5%) | Document reason, acceptable for correctness |
| Moderate (5-10%) | Requires compelling justification |
| Major (>10%) | Must investigate and optimize |
PR Documentation
Include in PR description:
- Average throughput delta per test repository
- Criterion benchmark comparison summary
- Justification for any regression >2%
Output Format
Report results as:
## Performance Regression Results
### Scan Throughput
| Repository | Baseline | After | Delta |
|------------|----------|-------|-------|
| gitleaks | X MB/s | Y MB/s | +/-Z% |
| linux | X MB/s | Y MB/s | +/-Z% |
| tigerbeetle | X MB/s | Y MB/s | +/-Z% |
### Criterion Benchmarks
[Paste relevant benchmark comparison output]
### Verdict
[None/Minor/Moderate/Major] regression - [justification if >2%]
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?