Skip to content

Performance Optimization

Tier: 3 (Applied Domains)

Concepts: 14

Durability: Timeless (rooted in physical constraints - finite resources, thermodynamics, mathematical limits on parallelization)


Fundamental Tensions

Tension Description
Latency vs. Throughput Optimizing for response time per request often conflicts with maximizing total work per time unit; batching improves throughput but increases individual latency
Memory vs. Computation (Space-Time) Storing precomputed results saves CPU cycles but consumes memory; this trade-off is fundamental to caching, memoization, and lookup tables
Simplicity vs. Performance Optimized code is often harder to read, maintain, and modify; clarity and speed frequently pull in opposite directions
Generality vs. Optimization Generic solutions handle many cases adequately; specialized solutions handle specific cases excellently - optimization typically requires sacrificing generality
Correctness vs. Speed Some optimizations (caching, denormalization, eventual consistency) introduce complexity that risks correctness; the fastest code that produces wrong answers is worthless

Concepts


Cross-Domain Transfer Summary

This Domain Concept Transfers To
Measure Before Optimizing Scientific method, quality improvement, operations research, business analytics
Amdahl's Law Project management (critical path), manufacturing, queuing theory, parallel algorithms
Bottleneck-First Optimization Manufacturing (TOC), supply chain, project scheduling, network design
Caching as Space-Time Trade-off Hardware architecture, distributed systems, web infrastructure, compilers
Cache Invalidation Problem Distributed consensus, data synchronization, derived data management
Latency vs. Throughput Trade-off Manufacturing, logistics, network protocols, scheduling systems
Resource Pooling Database systems, operating systems, network services, any resource management
Lazy Evaluation Functional programming, OS memory management, query optimization
Memoization Dynamic programming, build systems, API design, computational mathematics
Batching to Amortize Overhead I/O systems, transaction processing, network protocols, batch computing
Precomputation Database indexing, content delivery, game engines, scientific computing
Diminishing Returns Economics, project estimation, resource allocation, optimization theory
Load Testing Infrastructure engineering, capacity planning, release management
Compression Trade-off Network systems, storage systems, media processing, data pipelines


Canonical Sources

Source Coverage
Amdahl, "Validity of the Single Processor Approach to Achieving Large Scale Computing Capabilities" (1967) Amdahl's Law, parallelization limits
Knuth, "Structured Programming with go to Statements" (1974) Premature optimization, measurement methodology
Gregg, "Systems Performance: Enterprise and the Cloud" (2020) Profiling methodology, bottleneck identification, comprehensive performance analysis
Goldratt, "The Goal" (1984) Theory of Constraints, bottleneck-first thinking
Little, "A Proof for the Queuing Formula: L = lambda W" (1961) Little's Law, queuing fundamentals
Gray & Reuter, "Transaction Processing: Concepts and Techniques" (1992) Batching, resource management, throughput optimization
Hennessy & Patterson, "Computer Architecture: A Quantitative Approach" Caching, memory hierarchy, performance modeling
Bentley, "Programming Pearls" (1986) & "Writing Efficient Programs" (1982) Practical optimization techniques, profiling
Hughes, "Why Functional Programming Matters" (1989) Lazy evaluation benefits
Michie, "Memo Functions and Machine Learning" (1968) Original memoization concept
Shannon, "A Mathematical Theory of Communication" (1948) Information theory foundations for compression
Ousterhout, "A Philosophy of Software Design" (2018) Performance vs. clarity trade-offs