Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from time import time
- class bench(object):
- __slots__ = (
- "_f",
- "_time",
- "__name__",
- )
- def __init__(self, f):
- self._f = f
- self._time = -1.
- self.__name__ = f.__name__
- def __call__(self, *args, **kwargs):
- _time = time.time()
- _return = self._f(*args, **kwargs)
- self._time = time.time() - _time
- return _return
- def __repr__(self):
- return '<benchmarked function %s, %s, at %s>' % (
- self.__name__,
- round(self._time, 10),
- hex(id(self)),
- )
- @ property
- def time(self):
- return self._time
- @ property
- def wrapped(self):
- return self._f
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement