summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOmer Katz <omer.drow@gmail.com>2019-03-04 14:11:03 +0200
committerOmer Katz <omer.drow@gmail.com>2019-03-04 14:11:45 +0200
commitf3a25f8e041d0bbc97798e7d7d96c0a22f9ed465 (patch)
tree558553004730938d8c0090e958a6937f2fb03482
parent865162fefbf89e457fb579e4c35a240476bd212d (diff)
downloadpy-amqp-f3a25f8e041d0bbc97798e7d7d96c0a22f9ed465.tar.gz
Avoid the conditional import to benchmark actual speed of the implementation.
-rw-r--r--t/benchmarks/test_benchmarks.py30
1 files changed, 16 insertions, 14 deletions
diff --git a/t/benchmarks/test_benchmarks.py b/t/benchmarks/test_benchmarks.py
index 5142a45..c3086db 100644
--- a/t/benchmarks/test_benchmarks.py
+++ b/t/benchmarks/test_benchmarks.py
@@ -1,11 +1,16 @@
from __future__ import absolute_import, unicode_literals
-import os
from datetime import datetime
import pytest
from amqp.serialization import dumps, loads
+from amqp.utils import str_to_bytes, bytes_to_str
+
+try:
+ from amqp_serialization import loads as faster_loads
+except ImportError:
+ pass
@pytest.mark.benchmark(group='bitmaps')
@@ -29,11 +34,10 @@ from amqp.serialization import dumps, loads
def test_deserialize_bitmap(benchmark, bits, pure_python):
pytest.importorskip("amqp_serialization")
- if pure_python:
- os.environ['PYAMQP_DUMPS_SKIP_SPEEDUPS'] = "True"
+ loads_ = loads if pure_python else faster_loads
format = 'b' * bits
- x = dumps(format, [True] * bits)
- benchmark(loads, format, x)
+ x = str_to_bytes(dumps(format, [True] * bits))
+ benchmark(loads_, bytes_to_str(format), x, 0)
@pytest.mark.benchmark(group='timestamps')
@@ -57,11 +61,10 @@ def test_deserialize_bitmap(benchmark, bits, pure_python):
def test_deserialize_timestamp(benchmark, size_multipler, pure_python):
pytest.importorskip("amqp_serialization")
- if pure_python:
- os.environ['PYAMQP_DUMPS_SKIP_SPEEDUPS'] = "True"
+ loads_ = loads if pure_python else faster_loads
format = b'T' * size_multipler
- x = dumps(format, [datetime.utcnow()] * size_multipler)
- benchmark(loads, format, x)
+ x = str_to_bytes(dumps(format, [datetime.utcnow()] * size_multipler))
+ benchmark(loads_, bytes_to_str(format), x, 0)
@pytest.mark.benchmark(group='mixed')
@@ -85,12 +88,11 @@ def test_deserialize_timestamp(benchmark, size_multipler, pure_python):
def test_deserialize(benchmark, size_multipler, pure_python):
pytest.importorskip("amqp_serialization")
- if pure_python:
- os.environ['PYAMQP_DUMPS_SKIP_SPEEDUPS'] = "True"
+ loads_ = loads if pure_python else faster_loads
format = b'bobBlLbsbSx' * size_multipler
- x = dumps(format, [
+ x = str_to_bytes(dumps(format, [
True, 32, False, 3415, 4513134, 13241923419,
True, b'thequickbrownfox', False, 'jumpsoverthelazydog',
b'thequick\xff'
- ] * size_multipler)
- benchmark(loads, format, x)
+ ] * size_multipler))
+ benchmark(loads_, bytes_to_str(format), x, 0)