CPU-Bound vs. I/O-Bound Distinction¶
Performance bottlenecks occur either in computation (CPU-bound) or in waiting for data (I/O-bound) - correctly identifying which determines the appropriate optimization strategy.
Tension Addressed¶
Speed vs. Capacity
Recognizable As¶
CPU utilization at 100% (CPU-bound) vs low CPU with slow throughput (I/O-bound); parallel processing helps CPU-bound, async/batching helps I/O-bound.
Canonical Sources¶
Patterson & Hennessy, Computer Organization and Design; Amdahl, "Validity of the single processor approach" (1967)
Transfers To¶
System design, capacity planning, language/runtime selection, scaling strategies
Throwing more CPU at an I/O-bound problem wastes resources. Adding async/batching to a CPU-bound problem adds complexity without benefit. Diagnosis must precede optimization.