Python performance workshop

This mini-workshop is intended for Python developers who are interested in writing code with better performance and potentially running it on supercomputers.

Prerequisites

  • Python programming basics (functions, for loops, if-else statements) and data structures (list, set, dict, tuple)

  • Familiarity with well-known numeric libraries (for example, Numpy)

5 min

Installation

5 min

Introduction and motivation

10 min

Performance fundamentals

15 min

Benchmark

15 min

Profile

5-10 min

Break

15 min

Optimize

5 min

Parallelize

Preparation

Who is the course for?

Software developers, researchers, students who use Python often and process a lot of data.

Credits

The lesson is inspired and derived from the following:

Creative Commons CC-BY 4.0 licensed material

  • https://github.com/ENCCS/hpda-python

  • https://github.com/ENCCS/word-count-hpda

  • https://github.com/coderefinery/word-count

  • https://coderefinery.github.io/reproducible-research

  • https://hpc-carpentry.github.io/hpc-python/

  • Images and description by authors of lectures.scientific-python.org and by authors of deep-learning-intro

  • PyCon Sweden 2019 talk on https://talks.fluid.quest/

Other open-source licenced material