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.


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).


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]