Manuel Miranda - 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. |