When can it be applied? When can it not be used? I get the general idea but not what it takes to make it work.


The main use case for pipelining is when your latency is large, but actual work is small. You hide the latency by scheduling many operations such that the latencies overlap but the actual work does not.

It can't be used if the latencies are not independent. An example is calling people from a phone just to say "yes". The actual work is very small, the latency is very large, however your phone can only call one person at a time so you can't actually apply pipelining.

If you had multiple phones however you could start dialing the next person while the previous phone is still ringing.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.