SWD6: High performance Python

Booking for this course is through the IT Training Unit. Click here to book

Workshop 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.

At the end of the workshop, attendees will be able to:

  • 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. If you need to learn how to program in Python, please attend SWD1a: Introduction to Python programming. 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.

Duration

1 day

Frequency

This workshop usually runs once each academic year.

If you would like a bespoke version of this course run in your department then please contact us.

Suitability

Research postgraduate students and above; teaching and lecturing staff.