Shahriar Tajbakhsh - Parallelism Shootout: threads vs asyncio vs multiple processes
Channel: EuroPython Conference
Date: 03/08/2015

Shahriar Tajbakhsh - Parallelism Shootout: threads vs asyncio vs multiple processes
[EuroPython 2015]
[24 July 2015]
[Bilbao, Euskadi, Spain]

You need to download data from lots and lots of URLs stored in a text
file and then save them on your machine. Sure, you could write a loop
and get each URL in sequence, but imagine that there are so many URLs
that the sun may burn out before that loop is finished; or, you're
just too impatient.

For the sake of making this instructive, pretend you can only use one
box. So, what do you do? Here are some typical solutions: Use a single
process that creates lots of threads. Use many processes. Use a single
process and a library like asyncio, gevent or eventlet to yield
between coroutines when the OS blocks on IO.

The talk will walk through the mechanics of each approach, and then
show benchmarks of the three different approaches.