Cython to speed up your Python code

Come and learn how to speed up and optimise your Python code with the Cython compiler.

Tags: Big Data, Infrastructure, Jupyter, Parallel Programming

Scheduled on friday 14:00 in room lecture

Speaker

Stefan Behnel

Stefan is a long-time Python user and core developer of the well-known OSS projects Cython and lxml. He works on big data pipelines at TrustYou, encourages people to use Python and talk about it, and gives lectures and trainings on Cython programming and High-Performance Computing.

Description

Cython is not only a very fast and comfortable way to talk to native code and libraries, it is also a widely used tool for speeding up Python code. The Cython compiler translates Python code to C or C++ code, and applies many static optimisations that make Python code run visibly faster than in the interpreter. But even better, it supports static type annotations that allow direct use of C/C++ data types and functions, which the compiler uses to convert and optimise the code into fast, native C. The tight integration of all three languages, Python, C and C++, makes it possible to freely mix Python features like generators and comprehensions with C/C++ features like native data types, pointer arithmetic or manually tuned memory management in the same code.

This talk by a core developer introduces the Cython compiler by interactive code examples, and shows how you can use it to speed up your real-world Python code. You will learn how you can profile a Python module and use Cython to compile and optimise it into a fast binary extension module. All of that, without losing the ability to run it through common development tools like code checkers or coverage test tools.