Austin – Time and memory profiling

Top

We want to see where your Python program requires the most processing time and memory. For this we will use a time- and memory profiler called Austin.

Questions to David Rotermund

Installing Austin

Obviously, first we need to get Austin. On the Austin website, there a several methods described how to install it.

Linux as user

Compiling

git clone --depth=1 https://github.com/P403n1x87/austin.git
cd austin
autoreconf --install
./configure
make

Adding it to the Python3 bin directory, e.g.

cp src/austin ~/P3.11/bin/

Windows

Go here and download the latest Windows64 msi installer. And don’t let Windows intimidate you:

image4

image3

Installing Austin TUI

pip install austin-tui

Under Windows you might need (not tested yet):

pip install windows-curses

Installing VS Code Austin extension

You need to install this extension:

image0

Using austin-tui

This is how it looks like under Linux. I haven’t tested it under Windows yet.

I am using the PyTorch MNIST network example.

Without memory profiling

austin-tui ~/P3.9/bin/python3 network.py

image1

With memory profiling

austin-tui -m ~/P3.9/bin/python3 network.py

image2

The source code is Open Source and can be found on GitHub.