Skip to content

Commit 8030c5a

Browse files
committed
add to_json ser benchmark
1 parent 700e17d commit 8030c5a

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

tests/benchmarks/test_serialization_micro.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import pytest
66

7-
from pydantic_core import SchemaSerializer, SchemaValidator, core_schema
7+
from pydantic_core import SchemaSerializer, SchemaValidator, core_schema, to_json
88

99

1010
class TestBenchmarkSimpleModel:
@@ -394,3 +394,18 @@ def test_filter(benchmark):
394394
@benchmark
395395
def t():
396396
v.to_python(['a', 'b', 'c', 'd', 'e'], include={-1, -2})
397+
398+
399+
@pytest.mark.benchmark(group='list-of-lists')
400+
def test_to_json_list_of_lists(benchmark):
401+
data = [[i + j for j in range(10)] for i in range(1000)]
402+
403+
benchmark(to_json, data)
404+
405+
406+
@pytest.mark.benchmark(group='list-of-lists')
407+
def test_ser_list_of_lists(benchmark):
408+
s = SchemaSerializer(core_schema.list_schema(core_schema.list_schema(core_schema.int_schema())))
409+
data = [[i + j for j in range(10)] for i in range(1000)]
410+
411+
benchmark(s.to_json, data)

0 commit comments

Comments
 (0)