# Blocking

Waiting for a result before continuing. In distributed code, blocking too early is the most common cause of a run that gains no speedup.

Source: https://university.eugo.io/glossary/blocking

---

The most common performance mistake in distributed code, and it looks correct. Calling get() inside the loop that dispatches work means only one task is ever in flight, so a cluster of 32 workers has 31 idle while you pay for all of them.

## Related terms

- [get()](https://university.eugo.io/glossary/get) — The eugo.hpc call that resolves one or more futures into actual values, blocking until they are ready.
- [Future](https://university.eugo.io/glossary/future) — A handle to a result that does not exist yet. Calling a distributed function returns a future immediately, while the work happens elsewhere.
- [Fan-out](https://university.eugo.io/glossary/fan-out) — Launching many independent tasks at once, then waiting on all of their results together.

