# Performance Engineering

> The practice of setting performance budgets, measuring against a representative workload and changing code only where a measurement points.

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

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Latency](https://banes-lab.com/records/architecture/latency.md) and before [Algorithmic Efficiency](https://banes-lab.com/records/architecture/algorithmic-efficiency.md).

## 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/architecture/profiling.md)
- [Benchmarking](https://banes-lab.com/records/architecture/benchmarking.md)

## Reinforces

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

## Conflicts with

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

## In tension with

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

## Tensions

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

## Contracts

- [Performance Core](https://banes-lab.com/records/algorithms/performance-core.md)

## Severity

- [recommended](https://banes-lab.com/records/vocabulary/severity-recommended.md)

## Category

- [Scalability / Performance / Optimization](https://banes-lab.com/records/architecture-category/scalability-performance-optimization.md)

## Reinforced by

- [Latency](https://banes-lab.com/records/architecture/latency.md)
- [Optimization](https://banes-lab.com/records/architecture/optimization.md)
- [Resource Utilization](https://banes-lab.com/records/architecture/resource-utilization.md)

## Linked from

- [Scalability / Performance / Optimization](https://banes-lab.com/ontology/principles/architecture-category-scalability-performance-optimization.md)
- [Quality Attributes](https://banes-lab.com/ontology/lexicon/lexicon-category-quality-attributes.md)
- [Scalability / Performance / Optimization](https://banes-lab.com/ontology/lexicon/lexicon-category-scalability-performance-optimization.md)
- [Architectural Clusters](https://banes-lab.com/ontology/algorithms/algorithms-domain-architectural-clusters.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
