From 866d41f26399618a3c69098cb3ba18963eab82e9 Mon Sep 17 00:00:00 2001 From: Omer Katz Date: Tue, 3 Feb 2015 17:24:32 +0200 Subject: [PATCH] Increased the number of iterations for more accurate results. --- tests/test_renderers_benchmarks.py | 2 +- tests/test_serializers_benchmarks.py | 29 +++++++++++++++------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/tests/test_renderers_benchmarks.py b/tests/test_renderers_benchmarks.py index e92f9babf..ea9e91b1f 100644 --- a/tests/test_renderers_benchmarks.py +++ b/tests/test_renderers_benchmarks.py @@ -27,7 +27,7 @@ data = { } -@mark.bench('renderers.JSONRenderer.render') +@mark.bench('renderers.JSONRenderer.render', iterations=10000) def test_json_renderer(): renderer = renderers.JSONRenderer() renderer.render(data) diff --git a/tests/test_serializers_benchmarks.py b/tests/test_serializers_benchmarks.py index 3320ab6cb..506a658f3 100644 --- a/tests/test_serializers_benchmarks.py +++ b/tests/test_serializers_benchmarks.py @@ -28,6 +28,10 @@ data = { 'url_field': 'https://overtherainbow.com' } +data_list = [data for _ in range(100)] + +instances_list = [RegularFieldsModel(**data) for _ in range(100)] + class TestSerializer(serializers.ModelSerializer): class Meta: @@ -43,7 +47,7 @@ class TestNestedSerializer(serializers.ModelSerializer): fields = list(data.keys()) + ['method', 'fk'] -@mark.bench('serializers.ModelSerializer.get_fields') +@mark.bench('serializers.ModelSerializer.get_fields', iterations=1000) def test_get_fields(): instance = RegularFieldsModel(**data) serializer = TestSerializer(instance=instance) @@ -51,7 +55,7 @@ def test_get_fields(): assert serializer.get_fields() -@mark.bench('serializers.ModelSerializer.get_fields') +@mark.bench('serializers.ModelSerializer.get_fields', iterations=1000) def test_get_fields_twice(): instance = RegularFieldsModel(**data) serializer = TestSerializer(instance=instance) @@ -60,7 +64,7 @@ def test_get_fields_twice(): assert serializer.get_fields() -@mark.bench('serializers.ModelSerializer.to_representation') +@mark.bench('serializers.ModelSerializer.to_representation', iterations=1000) def test_object_serialization(): instance = RegularFieldsModel(**data) serializer = TestSerializer(instance=instance) @@ -68,7 +72,7 @@ def test_object_serialization(): assert serializer.data, serializer.errors -@mark.bench('serializers.ModelSerializer.to_representation') +@mark.bench('serializers.ModelSerializer.to_representation', iterations=1000) def test_nested_object_serialization(): nested_instance = RegularFieldsModel(**data) instance = RegularFieldsAndFKModel(fk=nested_instance, **data) @@ -77,15 +81,14 @@ def test_nested_object_serialization(): assert serializer.data, serializer.errors -@mark.bench('serializers.ModelSerializer.to_representation') +@mark.bench('serializers.ListSerializer.to_representation', iterations=1000) def test_object_list_serialization(): - instance = [RegularFieldsModel(**data) for _ in range(100)] - serializer = TestSerializer(instance=instance, many=True) + serializer = TestSerializer(instance=instances_list, many=True) assert serializer.data, serializer.errors -@mark.bench('serializers.ModelSerializer.to_representation') +@mark.bench('serializers.ModelSerializer.to_representation', iterations=10000) def test_object_serialization_with_partial_update(): instance = RegularFieldsModel(**data) serializer = TestSerializer(instance=instance, data={'char_field': 'b'}, partial=True) @@ -94,7 +97,7 @@ def test_object_serialization_with_partial_update(): assert serializer.data, serializer.errors -@mark.bench('serializers.ModelSerializer.to_representation') +@mark.bench('serializers.ModelSerializer.to_representation', iterations=10000) def test_object_serialization_with_update(): instance = RegularFieldsModel(**data) new_data = data.copy() @@ -105,20 +108,20 @@ def test_object_serialization_with_update(): assert serializer.data, serializer.errors -@mark.bench('serializers.ModelSerializer.to_internal_value') +@mark.bench('serializers.ModelSerializer.to_internal_value', iterations=1000) def test_object_deserialization(): serializer = TestSerializer(data=data) assert serializer.is_valid(), serializer.errors -@mark.bench('serializers.ModelSerializer.to_internal_value') +@mark.bench('serializers.ListSerializer.to_internal_value', iterations=1000) def test_object_list_deserialization(): - serializer = TestSerializer(data=[data for _ in range(100)], many=True) + serializer = TestSerializer(data=data_list, many=True) assert serializer.is_valid(), serializer.errors -@mark.bench('serializers.ModelSerializer.__init__') +@mark.bench('serializers.ModelSerializer.__init__', iterations=10000) def test_serializer_initialization(): TestSerializer(data=data)