Julien Lengrand-Lambert bio photo

Julien Lengrand-Lambert

French guy living in the Netherlands. IT Chapter Lead @ING during the day, CoFounder @Skyai at night.

Twitter LinkedIn Github

Profiling a Python Script

Here are some simple ways to profile Python scripts.I heavily use this to check my Project Euler solutions.

SOLUTION 1:

The main common option would be to use the profile (or cprofile) module.There are two different ways of using it :

  • As a module, by directly running
python -m cProfile script.py
  • In your code, by importing the utilities
import cProfile
cProfile.run('function()') # in your __main__
Bonus : You can use several options for sorting results using theĀ -s switch (cumulative/name/time/file sorting are available).

SOLUTION 2:

If you want to avoid using a command line, or you don't have the profile module installed; here os another possibility. There is also the timeit module available.
import timeit
t1 = timeit.Timer("function()", "from __main__ import function")
print t1.timeit(1)
I use this option on Eclipse because I didn't want to install the profile module on Windows. This is however less clear, and way less detailed while still useful :). Choose you profiler option and get on Project Euler ! [Stack Overflow]