Skip to content

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.