from quixote import enable_ptl enable_ptl() import silly def bench(func, *args, **kwargs): import time t = time.time() rv = func(*args, **kwargs) print time.time() - t return rv bench(silly.loop) from hotshot import Profile p = Profile('/tmp/p') p.runcall(silly.loop) from hotshot import stats p = stats.load('/tmp/p') p.strip_dirs().sort_stats("cumulative").print_stats()