Concurrent Data Processing in Elixir: invalid async_stream description (page 29)

@svilen

The book says:

Currently, async_stream/3 assumes we want the results in the same order as they were originally. This order preservation can potentially slow down our processing, because async_stream/3 will wait for a slow process to complete before moving on to the next.

While the documentation for async_stream/3 clearly states:

Note that regardless of what :ordered is set to, the tasks will process asynchronously.

So saying that async_stream/3 will wait for a slow process is wrong (it can be easily tested). Although, saying that it can potentially slow down our processing is somewhat true - Elixir has to buffer results, so it may take a little bit more time and for sure require more memory.