Von Neumann Bottleneck

The von Neumann bottleneck is the performance limit that arises because a von Neumann computer connects its processor to its single memory through one channel. Every instruction and every piece of data must travel across that connection, so the rate at which the processor can work is capped by how fast words can be moved to and from memory.

The phrase was made famous by John Backus in his 1978 paper “Can Programming Be Liberated from the von Neumann Style?”, the lecture he delivered on receiving the 1977 ACM Turing Award. Backus described the connecting tube between the processor and the store as the von Neumann bottleneck, and noted that a large part of the traffic across it is not useful data but addresses and instructions needed only to find that data.

Backus pushed the idea further into a critique of programming languages. He argued that conventional languages inherit a word-at-a-time style from the von Neumann machine, with the assignment statement acting as a bottleneck of thought that keeps programmers shuffling single values back and forth rather than reasoning about whole computations.

His proposed answer was a functional style of programming built from combining forms rather than step-by-step state changes. The von Neumann bottleneck remains a standard way to explain why memory bandwidth, caches, and alternative architectures matter so much to computer performance.

Sources

Last verified June 8, 2026