Performance tuning in Python a talk by Jan Škoda
Saturday, 15 June, 17:20 in Ballroom
Python is a very efficient language, at least in terms of programmer’s time. With CPU time, it is much worse. Let’s talk about how to profile applications to find the slowest parts, what are the best ways to speed them up or what is the difference between minimizing latency and maximizing throughput.
We’ll take a look at tools like Cython and NumPy and think about the different ways to parallelize computation using threading, multiprocessing or asyncio. All those tools can be composed together to bypass common Python problems with GIL or inefficient memory management and provide surprising performance for compute intense tasks such as data processing.
I am a Python/Cython/C++ a developer, a data analyst, a MFF UK alumni and a former AI/Robotics student now working in finance. I am interested in AI, ML, data and performance. In the past years, I spent a lot of time performance optimizing our stock trading platform written in Python and Cython. I fought memory leaks and slow code and I offer to share what I learnt.