---ci--- project: atelier phase: 7 milestone: v0.1 status: complete phase_role: final milestone_complete: true requirements: covered: [ATELIER-01, ATELIER-02, ATELIER-03, ATELIER-04, ATELIER-05, ATELIER-06, ATELIER-07, ATELIER-08, ATELIER-09, ATELIER-10, ATELIER-11, ATELIER-12, ATELIER-13, ATELIER-14, ATELIER-15, ATELIER-16, ATELIER-17, ATELIER-18, ATELIER-19, ATELIER-20, ATELIER-21, ATELIER-22, ATELIER-23, ATELIER-24, ATELIER-25, ATELIER-26, ATELIER-27, ATELIER-28, ATELIER-29, ATELIER-30, ATELIER-31, ATELIER-32, ATELIER-33, ATELIER-34, ATELIER-35] partial: [] ship: milestone: v0.1 type: NFR tag: v0.0.7 merge: milestone/v0.1-atelier -> main release: https://git.cloudinit.dev/cloudinit-bot/atelier/releases/tag/v0.0.7 ---/ci--- Milestone v0.1 — Initial Framework (NFR, complete). 8 core principles (C1-C8), 11 domains, 110 domain principles, 27 derived docs, 4 good + 3 bad examples, 4 language docs, full matrix, 3 review docs. All 35 requirements covered. 7 patches (v0.0.0 pre-execution through v0.0.7 final). v0.0.7 IS the v0.1.0 milestone release.
1.1 KiB
Performance — First Principles
1. The Principles
P1. Measure First
No optimization without measurement. Intuition about performance is usually wrong.
P2. Critical Path Focus
Optimize what users actually wait for. The 95th percentile matters more than the average.
P3. Complexity Awareness
Algorithmic cost is known. Big-O is a design conversation, not an afterthought.
P4. Resource Bounds
Memory, CPU, I/O, network — all bounded. Unbounded growth is a bug.
P5. Caching with Intent
Cache what is expensive, stable, and read often. Invalidation is designed, not bolted on.
P6. Lazy by Default
Compute only when needed. Pay only for what is used.
P7. Async When Independent
Work that does not depend on other work runs in parallel.
P8. Budget Discipline
Performance is a design constraint. The budget is set, not negotiated after the fact.
P9. Perceived Performance
What the user feels is what matters. A 200ms perceived response beats a 50ms measured one with no feedback.
P10. Regression Prevention
Performance tests catch what functional tests miss. The slow path is tested as a path.