Engage the Hyper-Python
summary
Shows concrete checks and outcomes: profile with cProfile and a system monitor like htop to decide whether CPU, memory, disk, or bandwidth is the bottleneck; demonstrates thread pool map vs multiprocessing with pickle overhead and when GIL kills gains; runs Celery with Redis/SQS to scale across machines and measures startup and memory costs; compares PyPy JIT behavior and tuning to Cython/CPython C extensions for CPU hotspots; implements async.io coroutines with await and aiohttp and uses semaphores to cap concurrency, with timings and gotchas.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 0:28Speed in Python development
- 1:18System limits and bottlenecks
- 3:07Performance issue tools
- 4:15Concurrency vs parallelism
- 5:51Threads to avoid waiting
- 7:38Python threads and GIL
- 8:02When to use processes
- 9:11Processes practical tips
- 9:53Task queues and workers
- 10:38Asyncio programming
- 12:48Asyncio limits and best practices
- 13:30PyPy for speed
- 15:23Tuning PyPy trade-offs
- 16:06C extensions for speed
- 17:15Summary and optimization choice
- 17:44Q&A: RAM optimization
- 18:59Q&A: Async libraries and migration
- 20:35Q&A: Async migration pitfalls
- 21:46Q&A: Generators and memory
- 22:09Q&A: Python with Rust
- 23:08Q&A: Threads vs other languages
related talks
57mPython and PyPy performance (not) for dummies
48mPython Performance: Past, Present and Future
22mPyPy hands-on
01h 31mDebugging and profiling techniques
39mCPython, Grumpy, PyPy - When, How, Why
26mPython Performance at Scale - Making Python Faster at Instagram
22mPyPy hands-on
59mMyths and fairy tales around Python performance
