No description, website, or topics provided.
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



This module contains a simple helper decorator, which allows you to profile a function and write the profiling data to the file system in both the pstats and the k/qcachegrind format.

The decorator can be used as:

from profilestats import profile

@profile(print_stats=10, dump_stats=True)
def my_function(args, etc):

You can pass the following arguments to the decorator:

  • cumulative (default: True) - Accumulate profile data over multiple function calls (True) or use a new profile for each function call (False). Only the data from the last profile is saved to disk.
  • print_stats (default: 0) - How many lines of profile output to show on stdout after each function call. If set to 0, do not print out anything.
  • sort_stats (default: 'cumulative') - How to sort the print output. Other options include 'time' and 'ncalls'.
  • dump_stats (default: False) - Save the profile data in the Python profile format to a file.
  • profile_filename (default: 'profilestats.out') - The filename for the profile data in Python's own format.
  • callgrind_filename (default: 'callgrind.out') - The filename for the profile data in k/qcachegrind's format.