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```
  • In your code, by importing the utilities
``` import cProfile'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]