A fast paced high-level overview of speed optimisation in Python. What makes a program "slow"? How to tell what is making your program slow. Common speed-up paradigms: parallelization, alternatives to the regular Python interpreter and asynchronous processing.
A fast paced high-level overview of speed optimisation in Python. We will start by looking systematically at the most common causes of poor speed, highlighting which resources are being the bottleneck in each case and giving practical advice on how to find out. We will then discuss parallelism with threads and processes, both in the standard library and using celery. We will discuss Pypy and Cython as alternatives to regular Python for CPU intensive tasks. We finish our tour with asynchronous processing in Python 3 using async.io.