Manuel Miranda - Where is the bottleneck? [EuroPython 2016] [18 July 2016] [Bilbao, Euskadi, Spain] (https://ep2016.europython.eu//conference/talks/where-is-the-bottleneck)
We all know Python strength does not rely on its performance and speed when running programs. This plus the flexibility of it, can lead to build real slow and bad quality software.
In this talk you will discover a set of useful tools for diagnosing where the bottleneck is in your programs along with trips for quickly realizing which is the most needed resource.
Have you ever felt like your software is eating your resources and you have no clue why? Have you reviewed all the lines, debugged and printed everything but you still don't know what's wrong?
In this talk I will conduct a fast intro of a basic set of tools you can use to diagnose your software's performance and then we will go through a simple piece of code to show how those tools work and what you can expect from them
This set of tools will include basic ones given by the OS itself like htop, lsof, ps and more advanced ones that let you plot the memory usage for given functions like memory_profiler, check CPU usage and the call graph between functions like cprofile and kcachegrind and others.
By the end of the talk, you should have an idea of which are the most typical causes that can make your program slow and you will have a list of tools to search for and identify the source of the problems.