I/O Bound vs CPU Bound

In this lesson, we delve into the characteristics of programs with different resource-use profiles and how that can affect program design choices.

I/O Bound vs CPU Bound

We write programs to solve problems. Programs utilize various resources of the computer systems on which they run. For instance a program running on your machine will broadly require:

  • CPU Time

  • Memory

  • Networking Resources

  • Disk Storage

Depending on what a program does, it can require heavier use of one or more resources. For instance, a program that loads gigabytes of data from storage into main memory would hog the main memory of the machine it runs on. Another can be writing several gigabytes to permanent storage, requiring abnormally high disk I/O.

CPU Bound

Programs which are compute-intensive, i.e. where the program execution requires ...