CPU bound

From Wikipedia, the free encyclopedia

In computer science, CPU bound refers to a condition where the time to complete a computation is determined principally by the speed of the central processor and main memory. This means that the computation is keeping the processor utilization high, and that the processor is not spending much time waiting for interrupts, such as those generated by the arrival of more data from a peripheral device. If a program is CPU bound, it has the potential to run faster provided that a better algorithm can be found to accomplish the computation, or if a faster processor/memory can be used.

The usefulness of the distinction between IO bound and compute bound is based on the empirical observation that many of the uses of computers involve doing a small amount of work to each element of a large set of data, which led to the conclusion that such problems are inherently IO bound. Increasing processor utilization has economic benefits, therefore this observation resulted in a search for techniques to increase processor utilization by minimizing the impact of IO delays. This led to the development of multiprogramming and preemptive scheduling.