High Performance Python

Duration

One day

Suitability

Research postgraduate students and above; teaching and lecturing staff.

Course Content

Over the past few years, Python and the wider Python ecosystem have become invaluable tools in scientific computing and data analytics. As Python is (for the most part) an interpreted language there are complaints that Python code can be quite slow to execute.

In this hands-on workshop you will have the opportunity discover and use a set of tools and techniques that can be used to improve the execution speed of your Python code.

The workshop will introduce a number of ways to both measure the efficiency of your code and improve it’s speed of execution by introducing strategies for fast and scalable computation with Python:

  • Profiling code with cProfile and line_profiler
  • Using numpy
  • Compiling to C: using Cython and Numba
  • Compiling to C: using PyPy
  • Parallel programming in Python with multiprocessing and ParallelPython
  • Tips for using less RAM
  • Case studies and discussion

Prerequisites

We recommend that attendees have a working knowledge of the Unix shell (although this is not essential) and are proficient Python programmers.

It is strongly recommended that you bring your own laptop to this workshop with some specific software installed. Further information will be provided when you are accepted onto the course.

Booking

This course can be booked through the IT Training Unit