IT-professional
Enhancing Python Performance
Python is a slow language but there are many ways to squeeze performance out of it. This hands-on course looks at techniques and tools for speeding up your Python apps.
Course objectives
This is an advanced course that assumes familiarity with Python programming. However, it is applicable to all Python communities (e.g., web development, data science, automation).
- Identify bottlenecks in your apps
- Use concurrent execution to make better use of your computer's resources
- Speed up numerical apps using NumPy
- Gain performance improvements using JIT compilation
Target audience
This course is for experience Python programmers looking to expand on their Python experience.
Prerequisites
This is an advanced course that assumes familiarity with Python programming. However, it is applicable to all Python communities (e.g., web development, data science, automation).
Outline
Profiling
- Measuring execution time
- cProfile
- py-spy
Concurrency
- Concurrency in Python
- threading
- asyncio
- multiprocessing
Improving performance
- Basic optimisations
- NumPy
- Numba
- JAX
- PyPy
- Cython