From 2ddc33017a97ecce491432b3a305706cbf26e1a0 Mon Sep 17 00:00:00 2001 From: Klaas van Schelven Date: Mon, 8 Jul 2024 09:40:47 +0200 Subject: [PATCH] Add performance context_manager for timings was useful during debugging --- performance/context_managers.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/performance/context_managers.py b/performance/context_managers.py index 68a75b4..c6dd50d 100644 --- a/performance/context_managers.py +++ b/performance/context_managers.py @@ -31,3 +31,18 @@ def time_and_query_count(): finally: result.took = (time.time() - t0) * 1000 result.count = len(connection.queries) - pre + + +class Time: + def __init__(self): + self.took = None + + +@contextmanager +def time_it(): + result = Time() + t0 = time.time() + try: + yield result + finally: + result.took = (time.time() - t0) * 1000