Theme: Python

High Performance Python


Level: Advanced

Typical duration: 1 day

Lectures: 5h

Labs: 3h

Course code: PY04

Squeezing maximum performance out of Python

Training topics

Efficient and performant Python code and data structures

The Python language often offers a myriad of ways to do each task - but which is the most efficient one? We discuss data structures (such as dictionaries, sets) and basic language idioms (such as loops, iterators) and their impact on performance. The class involves profiling code, optimizing for speed/memory, and interfacing with C/C++. The day ends with a discussion of good and bad practices.

 

Results

After the course, the students will:
- Choose highly performant data structures and constructs
- Profile Python code with ease
- Minimize memory waste
- Integrate C/C++ elements with Python

Training concepts

Python performance vs. other languages
Efficient data structures in Python
Profiling
Pushing Python performance to its limits
Interfacing Python with C/C++
Do's and Don'ts