Decorators for profiling/timing/tracing individual functions
Project description
profilehooks
It’s a collection of decorators for profiling functions. E.g. to profile a single function:
from profilehooks import profile @profile def my_function(args, etc): pass
The results will be printed when the program exits (or you can use @profile(immediate=True)).
If you’re interested in coarse timings and don’t want to pay for the overhead of profiling, use
from profilehooks import timecall @timecall # or @timecall(immediate=True) def my_function(args, etc): pass
Finally, you may be interested in seeing line coverage for a single function
from profilehooks import coverage @coverage def my_function(args, etc): pass
Full documentation is available through pydoc profilehooks after installation.
The home page for this module is http://mg.pov.lt/profilehooks. It has screensho, uh, that is, more examples.
Changelog
1.6 (2012-06-05)
Added Python 3.2 compatibility, dropped Python 2.3, 2.4 and 2.5 compatibility.
Migrated the source repository to https://github.com/mgedmin/profilehooks
Added a changelog.
1.5 (2010-08-13)
New argument to @timecall: timer (defaults to time.time). Example: @timecall(timer=time.clock)
Better documentation.
1.4 (2009-03-31)
Added support for cProfile, make it the default profiler when available. Previously profilehooks supported profile and hotshot only.
1.3 (2008-06-10)
Store profile results (when you pass filename to @profile) in pstats format instead of pickles. Contributed by Florian Schulze.
1.2 (2008-03-07)
New argument to: @timecall: immediate (defaults to False).
Added a test suite.
1.1 (2007-11-07)
First release to PyPI, with a setup.py and everything.
New arguments to @profile: dirs, sort, entries. Contributed by Hanno Schlichting.
Preserve function attributes such as __doc__ and __module__ when decorating them.
Pydoc-friendly docstring wrapping and other docstring improvements.
1.0 (2006-12-06)
Changed licence from GPL to MIT.
New decorator: @timecall
New arguments to @profile: skip, filename, immediate.
Added support for profile, after becoming convinced hotshot was unreliable. Made it the default profiler.
0.1 (2004-12-30)
First public release (it didn’t actually have a version number), announced on my blog: http://mg.pov.lt/blog/profiling.html
@profile and @coverage decorators that didn’t accept any arguments.
hotshot was the only profiler supported for @profile, while @coverage used trace.py
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.