Designing for Performance
summary
Claims that simple, cohesive designs beat clever tricks: cleaning and refactoring models yields 30–40% speedups on benchmarks; linear memory walks hit <1ns vs ~100ns for random accesses so locality and padding to avoid false sharing matter; keep resource utilization below about 80% to avoid runaway latency; use batching and single-responsibility loops to reduce contention; measure with HDR Histograms, JMH, linux perf/likwid and put latency percentiles into CI and live telemetry to catch regressions.
AI-written summary · about
chapters (27)
- 0:00Start
- 1:48What Is Performance
- 2:10Latency
- 2:38Scalability
- 4:34Curing Theory
- 6:01Amdahl's Law
- 11:20Abstractions
- 13:18Abstraction
- 13:30Polymorphism
- 15:47Law of Leaky Abstractions
- 18:58Coupling versus Cohesion
- 19:51Buffers
- 21:13Cache Lines
- 21:32False Sharing
- 23:49How Do You Know What Things Should Be Put Together
- 24:35Relationships
- 27:31What Is the Realistic Performance
- 28:11Algorithms
- 28:43Latency versus Throughput
- 30:50Study Batching
- 32:52Loops
- 34:43Microwave Cache
- 37:04Composition
- 43:13Define some Performance Goals
- 44:47Coordinated Admission
- 46:29Profilers
- 49:41How Do You Deal with Allocation of Objects To Keep It Simple and Get Performance
related talks
50mDesigning for Performance
01h 04mDesign for Performance
42mAdventures in Efficiency and Performance
01h 05mPerformance Optimization in Software Development - Being Friendly to Your Hardware
40mLudicrous Speed: Designing For Performance on the JVM
40m“Performance by Design”
01h 00mMoving Faster: Everyday efficiency in modern C++
01h 06mPerformance engineering: being friendly to your hardware
