Designing for Performance
summary
Argues for measurable design decisions: keep utilization low (aim under ~60–70%), halve service time to halve utilization and often get orders-of-magnitude latency gains (examples show up to ~20× improvement), prefer single-writer designs to avoid contention and coherence costs, and batch work to amortize expensive operations. Uses concrete tooling: HDR Histogram for latency distribution, Java Microbenchmark Harness for microbenchmarks and CPU performance counters for cache/branch metrics. Recommends columnar data layouts for locality, delay abstraction until three similar cases, and bake continuous telemetry into production.
AI-written summary · about
chapters (11)
- 0:00Start
- 2:33How do we Design for Performance?
- 9:00Can we go parallel to speedup?
- 12:42Clean & Representative
- 13:22Code is the best place to capture current understanding of a model
- 21:57Model Implementation
- 35:55Pro Tip: Batch processing is
- 43:05Performance Testing
- 43:31Establish Design Principles
- 45:33Java Microbenchmark Harness
- 45:55CPU Performance Counters
related talks
51mDesigning for Performance
01h 04mDesign for Performance
40m“Performance by Design”
40mPerformance Testing Done Right
31mPatterns of Low Latency
40mLudicrous Speed: Designing For Performance on the JVM
01h 05mPerformance Optimization in Software Development - Being Friendly to Your Hardware
52mMonitoring Design Principles
