Serialization benchmark results: hardware-specific snapshot (not a regression baseline)
Environment
- Python
- 3.14.7 (64-bit) (cpython)
- Platform
- Linux-6.17.0-1022-azure-x86_64-with-glibc2.39
- CPU model
- AMD EPYC 7763 64-Core Processor
- CPU count
- 4
- Git revision
- ce8d32b0ca7490ced179293369ce0daa03e88322
- Benchmark version
- 0.1.0
- GC policy
- enabled
- Run UTC
- 2026-09-20T21:53:06.836795+00:00
- Unit
- second
Encoded / AVRO / decode_many / batch 100 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload |
|---|
| Avro | 1.12.2 | 14.9656 ms | 169.591 µs | 66.8198 | 120 | | 19413 B |
Encoded / AVRO / decode_one / batch 1 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload |
|---|
| Avro | 1.12.2 | 144.314 µs | 2.61817 µs | 6929.35 | 120 | | 153 B |
Encoded / AVRO / encode_many / batch 100 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload |
|---|
| Avro | 1.12.2 | 25.4094 ms | 1.79874 ms | 39.3556 | 120 | | 19413 B |
Encoded / AVRO / encode_one / batch 1 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload |
|---|
| Avro | 1.12.2 | 242.991 µs | 2.36306 µs | 4115.37 | 120 | | 153 B |
Encoded / JSON / decode_many / batch 100 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload | Speed vs baseline (higher is faster) |
|---|
| mashumaro JSON | 3.22 | 1.62518 ms | 26.9515 µs | 615.317 | 120 | | 62890 B | 1.13x |
| msgspec JSON | 0.21.1 | 484.142 µs | 4.17548 µs | 2065.51 | 120 | | 53091 B | 3.79x |
| orjson | 3.12.0 | 1.66825 ms | 20.6026 µs | 599.43 | 120 | | 53091 B | 1.10x |
| Pydantic v2 JSON | 2.13.5 | 1.33958 ms | 25.3003 µs | 746.503 | 120 | | 53091 B | 1.37x |
| serpyco-rs JSON | 1.22.0 | 418.248 µs | 9.21571 µs | 2390.93 | 120 | | 53091 B | 4.38x |
| stdlib json | 3.14.7 | 1.83382 ms | 149.722 µs | 545.309 | 120 | | 53091 B | 1.00x |
Encoded / JSON / decode_one / batch 1 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload | Speed vs baseline (higher is faster) |
|---|
| mashumaro JSON | 3.22 | 13.4359 µs | 166.267 ns | 74427.3 | 120 | | 584 B | 1.28x |
| msgspec JSON | 0.21.1 | 4.3623 µs | 70.186 ns | 229237 | 120 | | 487 B | 3.93x |
| orjson | 3.12.0 | 12.1457 µs | 213.608 ns | 82333.8 | 120 | | 487 B | 1.41x |
| Pydantic v2 JSON | 2.13.5 | 9.22193 µs | 162.234 ns | 108437 | 120 | | 487 B | 1.86x |
| serpyco-rs JSON | 1.22.0 | 3.77325 µs | 72.8052 ns | 265024 | 120 | | 487 B | 4.55x |
| stdlib json | 3.14.7 | 17.1514 µs | 232.606 ns | 58304.2 | 120 | | 487 B | 1.00x |
Encoded / JSON / encode_many / batch 100 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload | Speed vs baseline (higher is faster) |
|---|
| mashumaro JSON | 3.22 | 1.08642 ms | 14.6837 µs | 920.456 | 120 | | 62890 B | 1.00x |
| msgspec JSON | 0.21.1 | 184.904 µs | 1.5545 µs | 5408.21 | 120 | | 53091 B | 5.88x |
| orjson | 3.12.0 | 140.824 µs | 3.30338 µs | 7101.06 | 120 | | 53091 B | 7.72x |
| Pydantic v2 JSON | 2.13.5 | 435.197 µs | 17.9586 µs | 2297.81 | 120 | | 53091 B | 2.50x |
| serpyco-rs JSON | 1.22.0 | 172.175 µs | 2.18875 µs | 5808.05 | 120 | | 53091 B | 6.32x |
| stdlib json | 3.14.7 | 1.08733 ms | 14.6849 µs | 919.682 | 120 | | 53091 B | 1.00x |
Encoded / JSON / encode_one / batch 1 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload | Speed vs baseline (higher is faster) |
|---|
| mashumaro JSON | 3.22 | 12.99 µs | 259.608 ns | 76982.4 | 120 | | 584 B | 1.06x |
| msgspec JSON | 0.21.1 | 2.23107 µs | 44.4181 ns | 448215 | 120 | | 487 B | 6.20x |
| orjson | 3.12.0 | 1.60758 µs | 33.8179 ns | 622051 | 120 | | 487 B | 8.60x |
| Pydantic v2 JSON | 2.13.5 | 5.26532 µs | 55.9672 ns | 189922 | 120 | | 487 B | 2.63x |
| serpyco-rs JSON | 1.22.0 | 2.03932 µs | 29.1132 ns | 490360 | 120 | | 487 B | 6.78x |
| stdlib json | 3.14.7 | 13.8311 µs | 171.306 ns | 72300.8 | 120 | | 487 B | 1.00x |
Encoded / MESSAGEPACK / decode_many / batch 100 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload |
|---|
| mashumaro MessagePack | 3.22 | 1.29589 ms | 30.4847 µs | 771.673 | 120 | | 34653 B |
| msgspec MessagePack | 0.21.1 | 461.157 µs | 8.86029 µs | 2168.46 | 120 | | 34653 B |
| ormsgpack | 1.12.2 | 1.62466 ms | 36.5082 µs | 615.512 | 120 | | 34653 B |
| serpyco-rs MessagePack | 1.22.0 | 369.56 µs | 5.74816 µs | 2705.92 | 120 | | 34653 B |
Encoded / MESSAGEPACK / decode_one / batch 1 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload |
|---|
| mashumaro MessagePack | 3.22 | 9.02046 µs | 153.363 ns | 110859 | 120 | | 274 B |
| msgspec MessagePack | 0.21.1 | 3.94057 µs | 120.052 ns | 253770 | 120 | | 274 B |
| ormsgpack | 1.12.2 | 11.786 µs | 266.221 ns | 84846.7 | 120 | | 274 B |
| serpyco-rs MessagePack | 1.22.0 | 3.22367 µs | 92.1737 ns | 310205 | 120 | | 274 B |
Encoded / MESSAGEPACK / encode_many / batch 100 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload |
|---|
| mashumaro MessagePack | 3.22 | 703.637 µs | 11.0643 µs | 1421.19 | 120 | | 34653 B |
| msgspec MessagePack | 0.21.1 | 165.155 µs | 4.78515 µs | 6054.92 | 120 | | 34653 B |
| ormsgpack | 1.12.2 | 253.709 µs | 31.5886 µs | 3941.52 | 120 | | 34653 B |
| serpyco-rs MessagePack | 1.22.0 | 157.77 µs | 8.62025 µs | 6338.33 | 120 | | 34653 B |
Encoded / MESSAGEPACK / encode_one / batch 1 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload |
|---|
| mashumaro MessagePack | 3.22 | 7.40297 µs | 183.575 ns | 135081 | 120 | | 274 B |
| msgspec MessagePack | 0.21.1 | 1.93998 µs | 31.036 ns | 515468 | 120 | | 274 B |
| ormsgpack | 1.12.2 | 2.7528 µs | 141.888 ns | 363267 | 120 | | 274 B |
| serpyco-rs MessagePack | 1.22.0 | 1.78783 µs | 26.2748 ns | 559338 | 120 | | 274 B |
Encoded / PICKLE / decode_many / batch 100 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload |
|---|
| pickle | 3.14.7 | 1.19924 ms | 27.3162 µs | 833.863 | 120 | | 46842 B |
Encoded / PICKLE / decode_one / batch 1 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload |
|---|
| pickle | 3.14.7 | 9.78635 µs | 269.41 ns | 102183 | 120 | | 529 B |
Encoded / PICKLE / encode_many / batch 100 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload |
|---|
| pickle | 3.14.7 | 1.08358 ms | 14 µs | 922.863 | 120 | | 46842 B |
Encoded / PICKLE / encode_one / batch 1 / dataclass
| Adapter | Version | Mean | Std dev | Operations/s | Samples | Prerelease | Payload |
|---|
| pickle | 3.14.7 | 13.8168 µs | 150.507 ns | 72375.9 | 120 | | 529 B |