Skip to content

Instantly share code, notes, and snippets.

@Tinche
Created March 5, 2021 14:15
Show Gist options
  • Save Tinche/d5446a6611e6b602dfd5314bd51e5569 to your computer and use it in GitHub Desktop.
Save Tinche/d5446a6611e6b602dfd5314bd51e5569 to your computer and use it in GitHub Desktop.
pydantic benchmarks
> python run.py
generating test cases...
testing pydantic, attrs + cattrs, valideer, marshmallow, voluptuous, trafaret, schematics, django-rest-framework, cerberus, 5 times each
pydantic (1/5) time=0.662s, success=48.45%
pydantic (2/5) time=0.642s, success=48.45%
pydantic (3/5) time=0.633s, success=48.45%
pydantic (4/5) time=0.643s, success=48.45%
pydantic (5/5) time=0.634s, success=48.45%
pydantic best=0.633s, avg=0.643s, stdev=0.012s
attrs + cattrs (1/5) time=0.560s, success=48.45%
attrs + cattrs (2/5) time=0.551s, success=48.45%
attrs + cattrs (3/5) time=0.550s, success=48.45%
attrs + cattrs (4/5) time=0.553s, success=48.45%
attrs + cattrs (5/5) time=0.559s, success=48.45%
attrs + cattrs best=0.550s, avg=0.554s, stdev=0.005s
valideer (1/5) time=0.526s, success=48.45%
valideer (2/5) time=0.567s, success=48.45%
valideer (3/5) time=0.534s, success=48.45%
valideer (4/5) time=0.546s, success=48.45%
valideer (5/5) time=0.538s, success=48.45%
valideer best=0.526s, avg=0.542s, stdev=0.015s
marshmallow (1/5) time=0.999s, success=48.45%
marshmallow (2/5) time=1.006s, success=48.45%
marshmallow (3/5) time=1.007s, success=48.45%
marshmallow (4/5) time=1.003s, success=48.45%
marshmallow (5/5) time=0.995s, success=48.45%
marshmallow best=0.995s, avg=1.002s, stdev=0.005s
voluptuous (1/5) time=1.009s, success=48.45%
voluptuous (2/5) time=1.020s, success=48.45%
voluptuous (3/5) time=1.004s, success=48.45%
voluptuous (4/5) time=1.005s, success=48.45%
voluptuous (5/5) time=1.040s, success=48.45%
voluptuous best=1.004s, avg=1.015s, stdev=0.015s
trafaret (1/5) time=1.297s, success=48.45%
trafaret (2/5) time=1.593s, success=48.45%
trafaret (3/5) time=1.403s, success=48.45%
trafaret (4/5) time=1.487s, success=48.45%
trafaret (5/5) time=1.300s, success=48.45%
trafaret best=1.297s, avg=1.416s, stdev=0.127s
schematics (1/5) time=4.587s, success=48.45%
schematics (2/5) time=4.513s, success=48.45%
schematics (3/5) time=4.647s, success=48.45%
schematics (4/5) time=4.290s, success=48.45%
schematics (5/5) time=4.995s, success=48.45%
schematics best=4.290s, avg=4.606s, stdev=0.256s
django-rest-framework (1/5) time=6.482s, success=48.45%
django-rest-framework (2/5) time=5.902s, success=48.45%
django-rest-framework (3/5) time=5.343s, success=48.45%
django-rest-framework (4/5) time=5.366s, success=48.45%
django-rest-framework (5/5) time=5.102s, success=48.45%
django-rest-framework best=5.102s, avg=5.639s, stdev=0.554s
cerberus (1/5) time=9.183s, success=48.45%
cerberus (2/5) time=9.723s, success=48.45%
cerberus (3/5) time=10.223s, success=48.45%
cerberus (4/5) time=9.242s, success=48.45%
cerberus (5/5) time=9.219s, success=48.45%
cerberus best=9.183s, avg=9.518s, stdev=0.452s
pydantic best=105.558μs/iter avg=107.178μs/iter stdev=1.969μs/iter version=1.8.1
attrs + cattrs best=91.655μs/iter avg=92.410μs/iter stdev=0.794μs/iter version=20.3.0
valideer best=87.738μs/iter avg=90.374μs/iter stdev=2.574μs/iter version=0.4.2
marshmallow best=165.789μs/iter avg=166.974μs/iter stdev=0.854μs/iter version=3.10.0
voluptuous best=167.253μs/iter avg=169.235μs/iter stdev=2.533μs/iter version=0.12.1
trafaret best=216.100μs/iter avg=235.953μs/iter stdev=21.102μs/iter version=2.1.0
schematics best=714.961μs/iter avg=767.729μs/iter stdev=42.625μs/iter version=2.1.0
django-rest-framework best=850.414μs/iter avg=939.868μs/iter stdev=92.387μs/iter version=3.12.2
cerberus best=1530.534μs/iter avg=1586.343μs/iter stdev=75.336μs/iter version=1.3.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment