def profileit(name):
"""cProfile decorator to profile said function, must pass in a filename to write the information out to
use RunSnakeRun to run the output
:param name: The output file path
:type name: str
:return: Function
"""
def inner(func):
@wraps(func)
def wrapper(*args, **kwargs):
prof = cProfile.Profile()
retval = prof.runcall(func, *args, **kwargs)
# Note use of name from outer scope
prof.dump_stats(name)
return retval
return wrapper
return inner
评论列表
文章目录