Day 1 — Measure first
- Where does the time go? timeit and cProfile
- Watching a live program with py-spy
- Memory: tracemalloc and friends
- Algorithmic complexity, without the maths
- The lesser-known structures: deque, Counter, bisect, heapq
- Doing less: generators and lazy evaluation
- Caching with functools.lru_cache
- Caching big data sets on disk with diskcache
- The numpy exception: vectorise instead of looping