Description
These days, it is very easy for applications to run out of memory due to the vast amounts of data they need to process. While Python makes it very easy to get something up and running, the highly dynamic nature of the language abstracts memory management away from us and makes it very difficult to understand what is going on when we run out of memory or when we have memory leaks. This is where memory profilers come into play.
Memory profilers are tools that allow us to understand how our applications are using memory. Not only can they help us diagnose why our programs are using so much memory, but also they can also help us optimize our code to be faster by using smarter allocation patterns.
Being able to understand how to use memory profilers effectively is an essential skill for any Python developer, especially those working on programs that involve the transformation of large amounts of data, large-scale applications, or long-running processes.
This talk will cover the basics of memory profilers, how they work, and how to use them effectively. We will cover the different types of memory profilers, the different kinds of allocations a Python program can perform, and how to use memory profilers effectively to understand what is going on in our programs.