Bottleneck (engineering)

In engineering, a bottleneck is a phenomenon by which the performance or capacity of an entire system is severely limited by a single component.

Formally, a bottleneck lies on a system's critical path and provides the lowest throughput.

Bottlenecks are usually avoided by system designers, also a great amount of effort is directed at locating and tuning them.

The objective being to make those particular sections of code perform as fast as possible to improve overall algorithmic efficiency.

Also note, that this definition does not forbid a single link to be a bottleneck for multiple flows.

This graphic shows the bottleneck that can arise between the CPU, memory controller, and peripherals.