Talking on “High Performance Python” at Linuxing In London last week

Mario of PyLondonium (where I gave a keynote talk earlier this year) was kind enough to ask me along to speak at Linuxing in London. I gave an updated version of one of my older High Performance Python talks based on material I’d covered in my book, to show the more-engineering audience how to go about profiling and speeding up Python code. The audience was lovely, many were new to Python and also first-timers at the meetup, here’s half the room:

We covered:

  • Profiling with line_profiler (in a Notebook – thanks Robert!) to identify slow code in functions

  • Using numpy incorrectly to try to get a speed up, then profiling it to see why it didn’t work

  • Using Anaconda’s Numba on the numpy code to get a 20* overall speedup

  • Using a different algorithm entirely to get a further 1000* speedup (!)

  • Thoughts on the two main ways to get a speed-up (do less work or spend less time waiting for data)

  • Looking at Py-Spy which hooks into an existing process to profile on-the-fly – a take-away for anyone in an engineering team

Here’s a link to the slides.Thanks to Brian, David and the other organisers for hosting the four of us, it was a fun evening.

I also mentioned my London-based jobs and training email lists and promised to link them here. It was fun to speak to a less-data-science focused audience (where PyData is pretty much my bubble-reality nowadays), especially to meet new folk transitioning into Python from entirely non-technical careers. I reminded everyone that they’re most welcome to visit our PyDataLondon meetups to widen their network, of course London Python and PyConUK should definitely be on your radar too.