# Performance Engineering

Record: `arch:performance-engineering`
Kind: activity
Layer: [Performance Core](https://banes-lab.com/records/layer/performance-core.md)
Severity: recommended
Scope: codebase, service, system
Canonical: https://banes-lab.com/ontology#arch-performance-engineering

## Repair

- Refactored by: Profile, Optimize Bottleneck, Add Benchmark
- Detected by: performance changes lacking benchmark
- Violated by: optimization without measurement
- Measured by: benchmark trend, SLO compliance
- Enforced by: performance CI

## requires

- [Profiling](https://banes-lab.com/records/arch/profiling.md)
- [Benchmarking](https://banes-lab.com/records/arch/benchmarking.md)

## reinforces

- [Scalability](https://banes-lab.com/records/arch/scalability.md)
- [Resource Efficiency](https://banes-lab.com/records/lex/resource-efficiency.md)

## enables

- [Evidence-Based Optimization](https://banes-lab.com/records/lex/evidence-based-optimization.md)

## conflicts-with

- [Guess-Based Optimization](https://banes-lab.com/records/lex/guess-based-optimization.md)

## tensions-with

- [Maintainability](https://banes-lab.com/records/lex/maintainability.md)

## tensions

- [Performance Engineering Maintainability](https://banes-lab.com/records/tension/maintainability-performance-engineering.md)

## referenced-by

- [Scalability](https://banes-lab.com/records/arch/scalability.md)
- [Latency](https://banes-lab.com/records/arch/latency.md)
- [Optimization](https://banes-lab.com/records/arch/optimization.md)
- [Profiling](https://banes-lab.com/records/arch/profiling.md)
- [Benchmarking](https://banes-lab.com/records/arch/benchmarking.md)
- [Resource Utilization](https://banes-lab.com/records/arch/resource-utilization.md)
