summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/performance_test.py
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-08-15 16:03:58 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-08-15 16:03:58 +0700
commitdd233630dce7128b6e25660db3e655b0a2e069e3 (patch)
tree8f3e81d53156c783177fad6fdfa0a322db39ba0a /indoteknik_custom/models/performance_test.py
parentb603e5eca682c7d42d259d3432316ed28b41737f (diff)
Refactor sale order model
Diffstat (limited to 'indoteknik_custom/models/performance_test.py')
-rw-r--r--indoteknik_custom/models/performance_test.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/indoteknik_custom/models/performance_test.py b/indoteknik_custom/models/performance_test.py
new file mode 100644
index 00000000..1782eb9d
--- /dev/null
+++ b/indoteknik_custom/models/performance_test.py
@@ -0,0 +1,20 @@
+import time, logging
+
+_logger = logging.getLogger(__name__)
+
+def performance_test(num_tests):
+ def decorator(func):
+ def wrapper(*args, **kwargs):
+ total_time = 0
+ for _ in range(num_tests):
+ start_time = time.time()
+ result = func(*args, **kwargs)
+ end_time = time.time()
+ total_time += end_time - start_time
+
+ average_time = total_time / num_tests
+ _logger.info(f"Average execution time over {num_tests} tests: {average_time:.6f} seconds")
+ return result
+
+ return wrapper
+ return decorator