A pipeline processes many independent data items through the same sequence of operations. Each stage runs on its own thread; when a stage finishes an item, it places it in a queue for the next stage. This lets one stage begin the next item while later stages handle earlier ones. section 8.1.3
This approach can suit inputs that arrive over time, such as network data, or work where the first operation discovers items, such as scanning a filesystem. It is an alternative to dividing the data among threads and can change the performance profile when each operation takes substantial time. section 8.1.3
Comparing work division
Consider 20 items, four cores, and four operations per item, each taking three seconds. This setup illustrates how pipeline work division differs from assigning five items to each of four threads. section 8.1.3















































