summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/performance_test.py
blob: 1782eb9d1e0513fb7f7505829210962b157cb949 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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