Skip to content

Commit

Permalink
Modified middleware tests to use run_comparison_benchmark.
Browse files Browse the repository at this point in the history
  • Loading branch information
jacobian committed Jun 22, 2010
1 parent eb5eeda commit 37da118
Showing 1 changed file with 8 additions and 17 deletions.
25 changes: 8 additions & 17 deletions benchmarks/default_middleware/benchmark.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from time import time

from utils import run_benchmark
from utils import run_comparison_benchmark

from django.test.client import Client
from django.conf import global_settings
Expand Down Expand Up @@ -49,26 +49,17 @@ def request(self, **request):

return WSGIRequest(environ)

def benchmark():
def benchmark_request(middleware_classes):
settings.MIDDLEWARE_CLASSES = middleware_classes
req_factory = RequestFactory()
handler = WSGIHandler()

# Try first with Django's default middleware
settings.MIDDLEWARE_CLASSES = global_settings.MIDDLEWARE_CLASSES
handler.load_middleware()

with_middleware_time = time()
handler.get_response(req_factory.get('/'))
with_middleware_time = time() - with_middleware_time

# Now try the same process, but this time without any middleware.
settings.MIDDLEWARE_CLASSES = []
handler.load_middleware()

no_middleware_time = time()
handler.get_response(req_factory.get('/'))
no_middleware_time = time() - no_middleware_time
def benchmark_default_middleware():
return benchmark_request(global_settings.MIDDLEWARE_CLASSES)

return with_middleware_time - no_middleware_time
def bencharmk_no_middleware():
return benchmark_request([])

run_benchmark(benchmark, trials=50)
run_comparison_benchmark(benchmark_default_middleware, bencharmk_no_middleware, syncdb=False, trials=50)

0 comments on commit 37da118

Please sign in to comment.