It is really easy to profile a Python program. But, it is not straightforward to determine the different bottlenecks in the program by looking at the profiler output. A visualization of the profiler output makes it really convenient to examine the different sources of bottleneck in the program. One way to visualize the profiler output is to use RunSnakeRun.
- RunSnakeRun ships as a Python module. But, before installing it, install the packages it is dependent on: python-profiler, python-wxgtk2.8 and python-setuptools.
Install RunSnakeRun from PyPI using easy_install:
$ sudo easy_install SquareMap RunSnakeRun
- Profile your Python program and dump the statistics to a file, say foostats.
Open the profiler statistics file with RunSnakeRun:
$ runsnake foostats
RunSnakeRun shows a tabular view of the profiler statistics, similar to the output of cProfile. It also shows a squaremap visualization of the call tree. This makes it really convenient to drill down to the various bottlenecks in the program.
Tried with: RunSnakeRun 2.0.2b1, Python 2.7.3 and Ubuntu 12.04 LTS