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:
- 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
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.
Ian applies Data Science as an AI/Data Scientist for companies in ModelInsight and in his Mor Consulting, sign-up for Data Science tutorials in London. He also founded the image and text annotation API Annotate.io, lives in London and is a consumer of fine coffees.