# Space Complexity

Record: `arch:space-complexity`
Kind: metric
Layer: [Performance Core](https://banes-lab.com/records/layer/performance-core.md)
Severity: contextual
Scope: algorithm, process
Canonical: https://banes-lab.com/ontology#arch-space-complexity

## Repair

- Refactored by: Stream Data, Use Iterator, Chunk Processing
- Detected by: memory profiling, [full materialization](https://banes-lab.com/records/lex/full-materialization.md)
- Violated by: loading unbounded data into memory
- Measured by: Big O space, peak memory
- Enforced by: memory benchmarks

## requires

- [Memory Model](https://banes-lab.com/records/lex/memory-model.md)

## reinforces

- [Resource Utilization](https://banes-lab.com/records/arch/resource-utilization.md)

## enables

- [Memory Scalability](https://banes-lab.com/records/lex/memory-scalability.md)

## conflicts-with

- [Unbounded Memory Growth](https://banes-lab.com/records/lex/unbounded-memory-growth.md)

## tensions-with

- [Time Complexity](https://banes-lab.com/records/arch/time-complexity.md)

## tensions

- [Space Complexity Time Complexity](https://banes-lab.com/records/tension/space-complexity-time-complexity.md)

## referenced-by

- [Time Complexity](https://banes-lab.com/records/arch/time-complexity.md)
