# Working with futures without blocking

The most common performance mistake in distributed code, and the two-line habit that avoids it.

Source: https://university.eugo.io/videos/futures-without-blocking

---

- Level: Intermediate
- Duration: 5m
- Topics: sdk-api, distributed-compute, performance
- Status: not yet recorded — the transcript below covers the same material

## What this video covers

The common mistake is calling get inside a loop. That blocks on each task before starting the next, so the work runs one at a time and the cluster sits idle. Build the whole list of futures first, then call get once on the list. Every task is in flight before you wait on any of them. The fix is moving one line out of a loop, and it is often the difference between no speedup and near-linear speedup.
