Accelerate Python with Julia
04-17, 10:50–12:20 (Europe/Berlin), A05-A06

Speeding up Python code has traditionally been achieved by writing C/C++ — an alien world for most Python users. Today, you can write high performance code in Julia instead, which is much much easier for Python users. This tutorial will give you hands-on experience writing a Python library that incorporates Julia for performance optimization.


Julia is a modern data science language which solves the two-language problem by being both easy to use and high performant. Although different from Python, the language can be quickly learned by Python users, making it a good choice for speeding up pieces of code. Julia, in addition to being a similar language, is designed for high-performance applied mathematics and has high-quality libraries for multi-dimensional arrays, dataframes, distributed computing and more.

The older alternative of writing pieces of code in C, C++, Cython or Rust is much more cumbersome: Here, programmers have to cope with a low-level language, static types, pointers, no garbage collector, lack of scientific libraries and other difficulties not normally faced by Python users. There was simply no better alternative.

The tutorial will be fully hands-on, using Jupyter Notebook and Binder to provide a smooth and easy-to-use environment for each participant. Both Julia and Python work seamlessly within Jupyter. We start with an introduction to the basics of Julia, focusing on the core differences with Python and how to work around common translation difficulties. Then we'll take a look at the interfaces between Julia and Python and build a Python sample project that runs Julia code. Finally, we will benchmark our solution.

After the tutorial you will be able to use Julia to speed up your Python code.


Public link to supporting material

https://github.com/jolin-io/pycon2023-accelerate-python-with-julia

Expected audience expertise: Domain

Novice

Expected audience expertise: Python

Novice

Abstract as a tweet

You want to accelerate your Python code, but going C is too tedious? Julia is a fresh alternative which flows like Python and runs like C. Join this tutorial to learn how to use Julia to easily speed up Python.

Stephan Sahm is founder of the Julia consultancy Jolin.io, full stack senior data/ml consultant, and organizer of the Julia User Group Munich.

Stephan Sahm's top interest are in green computing, probabilistic programming, real time analysis, big data, applied machine learning and in general industry applications of Julia.

Aside Julia and sustainable computing, he likes chatting about Philosophy of Mind, Ethics, Consciousness, Artificial Intelligence and other Cognitive Science topics.