| name | performance-analyzer |
| description | Analyze Rust code for performance issues, allocation hot spots, and optimization opportunities |
Performance Analyzer
Analyze performance-critical code in this secret scanning engine.
When to Use
- After writing hot-path code (scanning, decoding, validation)
- Before committing changes to
src/engine/ modules
- When benchmark results show unexpected regressions
- During optimization work on data structures in
src/stdx/
Analysis Checklist
Memory & Allocation
CPU & Cache
Async & Concurrency
Rust-Specific
Project-Specific Patterns
This codebase uses these performance patterns:
NONE_U32 = u32::MAX as sentinel (avoid Option overhead)
#[inline(always)] on hot-path functions
debug_assert! for invariant checks (zero cost in release)
- Const generics (
G) for compile-time granularity selection
Output Format
## Performance Analysis: [file/function]
### Findings
| Severity | Issue | Location | Impact |
|----------|-------|----------|--------|
| HIGH | Allocation in hot loop | line:XX | ~Xns per call |
| MEDIUM | Missing inline hint | line:XX | Potential call overhead |
### Recommendations
1. **[Issue]**: [Specific fix with code example]
```rust
// Before
// After
Validation
Run these benchmarks to verify:
cargo bench --bench <relevant_bench>
## Related Skills
- `bench-compare` - Before/after measurement
- `rust-hotspot-finder` - Systematic hotspot scanning
- `perf-regression` - Full regression workflow