utils.py 777 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from functools import wraps
  2. import time
  3. class TimeIt:
  4. def __init__(self):
  5. self.cur_time = 0
  6. self.max_time = 0
  7. def timeit(obj):
  8. def decorator(func):
  9. @wraps(func)
  10. def wrapper(*args, **kwargs):
  11. time_start = time.time()
  12. result = func(*args, **kwargs)
  13. time_release = time.time() - time_start
  14. if time_release > obj.max_time:
  15. obj.max_time = time_release
  16. obj.cur_time = time_release
  17. return result
  18. return wrapper
  19. return decorator
  20. delta = TimeIt()
  21. @timeit(delta)
  22. def test_func():
  23. time.sleep(1.5)
  24. def main():
  25. test_func()
  26. print(delta.time)
  27. if __name__ == '__main__':
  28. main()