from time import time
class Timer(object):
def __init__(self, func):
"""
Decorator for sorting functions
@param func: Function being decorated
@type func: callable
"""
self.func = func
def __call__(self, *args, **kwargs):
start = time()
ret = self.func(*args, **kwargs)
end = time()
return end - start
@Timer
def cheese():
for var in xrange(9999999):
continue
for var in xrange(10):
print cheese()
ZnJvbSB0aW1lIGltcG9ydCB0aW1lCgoKY2xhc3MgVGltZXIob2JqZWN0KToKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmdW5jKToKICAgICAgICAiIiIKICAgICAgICBEZWNvcmF0b3IgZm9yIHNvcnRpbmcgZnVuY3Rpb25zCiAgICAgICAgQHBhcmFtIGZ1bmM6IEZ1bmN0aW9uIGJlaW5nIGRlY29yYXRlZAogICAgICAgIEB0eXBlIGZ1bmM6IGNhbGxhYmxlCiAgICAgICAgIiIiCiAgICAgICAgc2VsZi5mdW5jID0gZnVuYwoKICAgIGRlZiBfX2NhbGxfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgIHN0YXJ0ID0gdGltZSgpCiAgICAgICAgcmV0ID0gc2VsZi5mdW5jKCphcmdzLCAqKmt3YXJncykKICAgICAgICBlbmQgPSB0aW1lKCkKICAgICAgICByZXR1cm4gZW5kIC0gc3RhcnQKCgpAVGltZXIKZGVmIGNoZWVzZSgpOgogICAgZm9yIHZhciBpbiB4cmFuZ2UoOTk5OTk5OSk6CiAgICAgICAgY29udGludWUKCmZvciB2YXIgaW4geHJhbmdlKDEwKToKICAgIHByaW50IGNoZWVzZSgp