From dc061ee2c44fa4723186666c83a822bed98ae91a Mon Sep 17 00:00:00 2001 From: Bertrand Bordage Date: Sun, 23 Nov 2014 23:11:51 +0100 Subject: [PATCH] Fixes an invalidation order issue in the benchmark. --- benchmark.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/benchmark.py b/benchmark.py index 8d8921cac..1fe0d7162 100644 --- a/benchmark.py +++ b/benchmark.py @@ -48,8 +48,10 @@ def __init__(self, n=20): self.n = n self.data = [] - def bench_once(self, context, num_queries, invalidate_after=False): + def bench_once(self, context, num_queries, invalidate_before=False): for _ in range(self.n): + if invalidate_before: + clear(db_alias=self.db_alias) with AssertNumQueries(num_queries, using=self.db_alias): start = time() self.query_function(self.db_alias) @@ -60,8 +62,6 @@ def bench_once(self, context, num_queries, invalidate_after=False): 'context': context, 'db': self.db_vendor, 'cache': self.cache_name}) - if invalidate_after: - clear(db_alias=self.db_alias) def benchmark(self, query_str, to_list=True, num_queries=1): self.query_name = query_str @@ -73,9 +73,7 @@ def benchmark(self, query_str, to_list=True, num_queries=1): with cachalot_settings(CACHALOT_ENABLED=False): self.bench_once(CONTEXTS[0], num_queries) - self.bench_once(CONTEXTS[1], num_queries, invalidate_after=True) - - self.query_function(self.db_alias) + self.bench_once(CONTEXTS[1], num_queries, invalidate_before=True) self.bench_once(CONTEXTS[2], 0)