COMPAS serialization benchmark
generated 2026-10-31 00:22 · preset quick · repeat 5 · seed 42 · compas 2.15.1 · @py3: compas 2.15.0 (remove-future @ 92dfa6a + 0001-accept-frame-components.patch)
Show formats 31/31 of compas_pb's serializable types are benchmarked. — full coverage.
json · compact text, losslessjson@py3 · compact text, lossless (compas variant 'py3')
arcs
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 262.0 KB | 1.0× | 4.6 ms | 17.5 ms | 22.0 ms | 15.345 | 1.5 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 262.0 KB | 1.0× | 4.4 ms | 7.2 ms | 11.6 ms | 37.177 | 1.4 MB | 0 | ✓ yes |
| 10,000 | json | 2.6 MB | 1.0× | 51.0 ms | 177.4 ms | 228.4 ms | 15.124 | 14.7 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.6 MB | 1.0× | 47.8 ms | 80.4 ms | 128.2 ms | 33.372 | 13.7 MB | 0 | ✓ yes |
beziers
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 325.4 KB | 1.0× | 6.3 ms | 6.5 ms | 12.7 ms | 51.653 | 1.6 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 325.4 KB | 1.0× | 6.0 ms | 5.5 ms | 11.5 ms | 60.472 | 1.4 MB | 0 | ✓ yes |
| 10,000 | json | 3.2 MB | 1.0× | 64.9 ms | 79.8 ms | 144.8 ms | 41.744 | 15.5 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 3.2 MB | 1.0× | 61.4 ms | 62.0 ms | 123.4 ms | 53.758 | 14.4 MB | 0 | ✓ yes |
boxes
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 278.9 KB | 1.0× | 4.9 ms | 17.4 ms | 22.3 ms | 16.448 | 1.5 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 278.9 KB | 1.0× | 4.7 ms | 7.6 ms | 12.3 ms | 37.455 | 1.7 MB | 0 | ✓ yes |
| 10,000 | json | 2.7 MB | 1.0× | 53.1 ms | 191.2 ms | 244.3 ms | 14.935 | 15.3 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.7 MB | 1.0× | 48.7 ms | 99.1 ms | 147.8 ms | 28.814 | 17.1 MB | 0 | ✓ yes |
capsules
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 259.6 KB | 1.0× | 4.6 ms | 18.1 ms | 22.8 ms | 14.648 | 1.5 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 259.6 KB | 1.0× | 4.7 ms | 7.4 ms | 12.1 ms | 35.893 | 1.6 MB | 0 | ✓ yes |
| 10,000 | json | 2.5 MB | 1.0× | 51.6 ms | 190.4 ms | 242.1 ms | 13.959 | 14.7 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.5 MB | 1.0× | 47.0 ms | 98.0 ms | 145.0 ms | 27.119 | 16.5 MB | 0 | ✓ yes |
circles
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 231.6 KB | 1.0× | 4.3 ms | 16.9 ms | 21.2 ms | 14.027 | 1.4 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 231.6 KB | 1.0× | 4.2 ms | 6.9 ms | 11.0 ms | 34.516 | 1.3 MB | 0 | ✓ yes |
| 10,000 | json | 2.3 MB | 1.0× | 47.9 ms | 176.5 ms | 224.5 ms | 13.438 | 13.6 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.3 MB | 1.0× | 44.2 ms | 80.0 ms | 124.2 ms | 29.659 | 12.6 MB | 0 | ✓ yes |
cones
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 256.5 KB | 1.0× | 4.6 ms | 17.0 ms | 21.6 ms | 15.483 | 1.5 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 256.5 KB | 1.0× | 4.5 ms | 7.4 ms | 12.0 ms | 35.412 | 1.6 MB | 0 | ✓ yes |
| 10,000 | json | 2.5 MB | 1.0× | 49.9 ms | 181.0 ms | 230.9 ms | 14.512 | 14.7 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.5 MB | 1.0× | 47.6 ms | 79.1 ms | 126.7 ms | 33.198 | 16.5 MB | 0 | ✓ yes |
cylinders
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 260.4 KB | 1.0× | 4.6 ms | 17.0 ms | 21.6 ms | 15.728 | 1.5 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 260.4 KB | 1.0× | 4.5 ms | 7.4 ms | 11.9 ms | 36.222 | 1.7 MB | 0 | ✓ yes |
| 10,000 | json | 2.5 MB | 1.0× | 51.5 ms | 184.5 ms | 236.1 ms | 14.448 | 14.7 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.5 MB | 1.0× | 47.8 ms | 98.3 ms | 146.2 ms | 27.113 | 16.5 MB | 0 | ✓ yes |
ellipses
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 257.6 KB | 1.0× | 4.6 ms | 17.2 ms | 21.8 ms | 15.316 | 1.4 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 257.6 KB | 1.0× | 4.5 ms | 7.2 ms | 11.7 ms | 36.513 | 1.3 MB | 0 | ✓ yes |
| 10,000 | json | 2.5 MB | 1.0× | 52.3 ms | 183.3 ms | 235.6 ms | 14.387 | 14.3 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.5 MB | 1.0× | 48.6 ms | 83.8 ms | 132.4 ms | 31.469 | 13.2 MB | 0 | ✓ yes |
frames
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 288.9 KB | 1.0× | 5.4 ms | 10.1 ms | 15.4 ms | 29.434 | 1.3 MB | 4.4e-16 | ✗ no |
| 1,000 | json@py3 | 288.9 KB | 1.0× | 5.1 ms | 4.8 ms | 9.9 ms | 61.61 | 1.2 MB | 0 | ✓ yes |
| 10,000 | json | 2.8 MB | 1.0× | 60.4 ms | 104.5 ms | 164.9 ms | 28.318 | 12.5 MB | 5.6e-16 | ✗ no |
| 10,000 | json@py3 | 2.8 MB | 1.0× | 54.9 ms | 49.0 ms | 103.9 ms | 60.35 | 11.9 MB | 0 | ✓ yes |
graph
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 74.9 KB | 1.0× | 1.1 ms | 13.5 ms | 14.6 ms | 5.702 | 2.6 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 74.9 KB | 1.0× | 1.1 ms | 13.8 ms | 15.0 ms | 5.549 | 2.3 MB | 0 | ✓ yes |
| 10,000 | json | 775.1 KB | 1.0× | 11.7 ms | 178.3 ms | 190.0 ms | 4.452 | 23.0 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 775.1 KB | 1.0× | 11.2 ms | 160.6 ms | 171.8 ms | 4.943 | 25.7 MB | 0 | ✓ yes |
hyperbolas
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 259.5 KB | 1.0× | 4.6 ms | 18.0 ms | 22.7 ms | 14.731 | 1.4 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 270.3 KB | 0.96× | 4.5 ms | 7.2 ms | 11.7 ms | 38.634 | 1.4 MB | 0 | ✓ yes |
| 10,000 | json | 2.5 MB | 1.0× | 55.4 ms | 184.3 ms | 239.7 ms | 14.42 | 14.3 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.6 MB | 0.96× | 49.0 ms | 75.4 ms | 124.4 ms | 36.722 | 13.6 MB | 0 | ✓ yes |
lines
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 213.0 KB | 1.0× | 4.9 ms | 5.2 ms | 10.1 ms | 42.029 | 1003.9 KB | 0 | ✓ yes |
| 1,000 | json@py3 | 213.0 KB | 1.0× | 4.5 ms | 4.6 ms | 9.1 ms | 47.395 | 912.9 KB | 0 | ✓ yes |
| 10,000 | json | 2.1 MB | 1.0× | 54.6 ms | 54.1 ms | 108.7 ms | 40.297 | 9.6 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.1 MB | 1.0× | 47.8 ms | 48.5 ms | 96.3 ms | 45.003 | 8.9 MB | 0 | ✓ yes |
mesh
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 80.2 KB | 1.0× | 1.0 ms | 2.6 ms | 3.6 ms | 31.48 | 1.4 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 80.2 KB | 1.0× | 1.0 ms | 3.1 ms | 4.1 ms | 26.486 | 1.4 MB | 0 | ✓ yes |
| 10,000 | json | 864.1 KB | 1.0× | 10.9 ms | 33.5 ms | 44.4 ms | 26.445 | 13.9 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 864.1 KB | 1.0× | 9.9 ms | 46.4 ms | 56.3 ms | 19.09 | 13.9 MB | 0 | ✓ yes |
mesh_attrs
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 109.5 KB | 1.0× | 1.4 ms | 3.2 ms | 4.5 ms | 35.533 | 1.4 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 109.5 KB | 1.0× | 1.2 ms | 2.7 ms | 3.9 ms | 41.63 | 1.4 MB | 0 | ✓ yes |
| 10,000 | json | 1.1 MB | 1.0× | 14.1 ms | 34.5 ms | 48.7 ms | 34.087 | 14.4 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 1.1 MB | 1.0× | 13.2 ms | 35.2 ms | 48.3 ms | 33.493 | 14.4 MB | 0 | ✓ yes |
parabolas
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 232.9 KB | 1.0× | 4.3 ms | 17.5 ms | 21.8 ms | 13.631 | 1.4 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 232.9 KB | 1.0× | 4.0 ms | 6.8 ms | 10.8 ms | 35.218 | 1.3 MB | 0 | ✓ yes |
| 10,000 | json | 2.3 MB | 1.0× | 51.0 ms | 182.3 ms | 233.3 ms | 13.083 | 13.6 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.3 MB | 1.0× | 44.6 ms | 78.8 ms | 123.4 ms | 30.287 | 12.6 MB | 0 | ✓ yes |
planes
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 219.9 KB | 1.0× | 4.1 ms | 5.1 ms | 9.2 ms | 44.439 | 969.5 KB | 2.2e-16 | ✗ no |
| 1,000 | json@py3 | 219.9 KB | 1.0× | 3.6 ms | 4.3 ms | 8.0 ms | 52.057 | 888.3 KB | 2.2e-16 | ✗ no |
| 10,000 | json | 2.1 MB | 1.0× | 45.8 ms | 53.3 ms | 99.1 ms | 42.268 | 9.2 MB | 2.2e-16 | ✗ no |
| 10,000 | json@py3 | 2.1 MB | 1.0× | 40.8 ms | 46.9 ms | 87.7 ms | 48.018 | 8.7 MB | 2.2e-16 | ✗ no |
pointcloud
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 10,000 | json | 567.0 KB | 1.0× | 11.9 ms | 9.0 ms | 21.0 ms | 64.232 | 3.8 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 567.0 KB | 1.0× | 10.7 ms | 7.9 ms | 18.7 ms | 73.173 | 3.6 MB | 0 | ✓ yes |
| 100,000 | json | 5.5 MB | 1.0× | 129.7 ms | 146.5 ms | 276.2 ms | 39.622 | 37.6 MB | 0 | ✓ yes |
| 100,000 | json@py3 | 5.5 MB | 1.0× | 117.8 ms | 113.3 ms | 231.1 ms | 51.236 | 36.1 MB | 0 | ✓ yes |
points
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 141.7 KB | 1.0× | 2.6 ms | 2.9 ms | 5.5 ms | 50.878 | 506.7 KB | 0 | ✓ yes |
| 1,000 | json@py3 | 141.7 KB | 1.0× | 2.5 ms | 2.3 ms | 4.7 ms | 64.181 | 466.0 KB | 0 | ✓ yes |
| 10,000 | json | 1.4 MB | 1.0× | 29.0 ms | 31.1 ms | 60.2 ms | 46.575 | 4.7 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 1.4 MB | 1.0× | 25.8 ms | 22.8 ms | 48.6 ms | 63.676 | 4.6 MB | 0 | ✓ yes |
polygons
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 439.6 KB | 1.0× | 8.4 ms | 13.4 ms | 21.8 ms | 33.472 | 2.3 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 439.6 KB | 1.0× | 8.1 ms | 12.7 ms | 20.8 ms | 35.346 | 2.0 MB | 0 | ✓ yes |
| 10,000 | json | 4.3 MB | 1.0× | 88.9 ms | 148.6 ms | 237.6 ms | 30.297 | 22.4 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 4.3 MB | 1.0× | 86.8 ms | 138.4 ms | 225.2 ms | 32.529 | 20.1 MB | 0 | ✓ yes |
polyhedrons
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 372.3 KB | 1.0× | 6.3 ms | 5.5 ms | 11.8 ms | 68.801 | 1.7 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 372.3 KB | 1.0× | 6.9 ms | 52.3 ms | 59.2 ms | 7.293 | 1.8 MB | 0 | ✓ yes |
| 10,000 | json | 3.6 MB | 1.0× | 66.3 ms | 65.4 ms | 131.7 ms | 58.334 | 17.3 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 3.6 MB | 1.0× | 69.9 ms | 532.0 ms | 601.9 ms | 7.166 | 18.2 MB | 0 | ✓ yes |
polylines
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 554.0 KB | 1.0× | 10.5 ms | 9.7 ms | 20.2 ms | 58.636 | 2.7 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 554.0 KB | 1.0× | 11.1 ms | 9.8 ms | 20.8 ms | 58.189 | 2.5 MB | 0 | ✓ yes |
| 10,000 | json | 5.4 MB | 1.0× | 110.5 ms | 105.7 ms | 216.2 ms | 53.684 | 26.9 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 5.4 MB | 1.0× | 112.0 ms | 108.0 ms | 220.0 ms | 52.555 | 25.1 MB | 0 | ✓ yes |
projections
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 188.1 KB | 1.0× | 3.1 ms | 3.5 ms | 6.6 ms | 54.702 | 1.2 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 188.1 KB | 1.0× | 3.0 ms | 3.2 ms | 6.3 ms | 59.272 | 1.2 MB | 0 | ✓ yes |
| 10,000 | json | 1.8 MB | 1.0× | 35.8 ms | 37.0 ms | 72.8 ms | 52.024 | 11.7 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 1.8 MB | 1.0× | 34.4 ms | 33.0 ms | 67.3 ms | 58.404 | 11.7 MB | 0 | ✓ yes |
quaternions
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 185.4 KB | 1.0× | 2.9 ms | 3.1 ms | 6.0 ms | 61.239 | 583.1 KB | 0 | ✓ yes |
| 1,000 | json@py3 | 185.4 KB | 1.0× | 2.8 ms | 2.7 ms | 5.5 ms | 70.509 | 549.1 KB | 0 | ✓ yes |
| 10,000 | json | 1.8 MB | 1.0× | 31.5 ms | 32.3 ms | 63.9 ms | 58.743 | 5.5 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 1.8 MB | 1.0× | 30.5 ms | 28.6 ms | 59.1 ms | 66.369 | 5.4 MB | 0 | ✓ yes |
reflections
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 189.3 KB | 1.0× | 3.3 ms | 3.8 ms | 7.1 ms | 50.777 | 1.2 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 189.3 KB | 1.0× | 3.1 ms | 3.3 ms | 6.3 ms | 59.119 | 1.2 MB | 0 | ✓ yes |
| 10,000 | json | 1.8 MB | 1.0× | 37.3 ms | 39.1 ms | 76.4 ms | 49.543 | 11.8 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 1.8 MB | 1.0× | 35.1 ms | 35.6 ms | 70.7 ms | 54.402 | 11.7 MB | 0 | ✓ yes |
rotations
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 233.2 KB | 1.0× | 3.9 ms | 4.0 ms | 8.0 ms | 59.422 | 1.2 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 233.2 KB | 1.0× | 3.7 ms | 3.4 ms | 7.1 ms | 70.108 | 1.2 MB | 0 | ✓ yes |
| 10,000 | json | 2.3 MB | 1.0× | 43.8 ms | 44.1 ms | 87.9 ms | 54.193 | 12.2 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.3 MB | 1.0× | 42.8 ms | 36.1 ms | 78.9 ms | 66.222 | 12.2 MB | 0 | ✓ yes |
scales
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 211.0 KB | 1.0× | 3.6 ms | 3.5 ms | 7.1 ms | 62.534 | 1.2 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 211.0 KB | 1.0× | 3.5 ms | 3.6 ms | 7.1 ms | 60.159 | 1.2 MB | 0 | ✓ yes |
| 10,000 | json | 2.1 MB | 1.0× | 37.9 ms | 38.3 ms | 76.1 ms | 56.443 | 12.0 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.1 MB | 1.0× | 39.3 ms | 33.9 ms | 73.2 ms | 63.654 | 11.9 MB | 0 | ✓ yes |
shears
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 185.7 KB | 1.0× | 3.1 ms | 3.1 ms | 6.2 ms | 61.338 | 1.2 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 185.7 KB | 1.0× | 3.0 ms | 3.1 ms | 6.1 ms | 61.153 | 1.2 MB | 0 | ✓ yes |
| 10,000 | json | 1.8 MB | 1.0× | 34.8 ms | 36.2 ms | 71.1 ms | 52.493 | 11.7 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 1.8 MB | 1.0× | 34.9 ms | 29.6 ms | 64.5 ms | 64.166 | 11.7 MB | 0 | ✓ yes |
spheres
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 231.7 KB | 1.0× | 4.3 ms | 16.9 ms | 21.2 ms | 14.034 | 1.4 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 231.7 KB | 1.0× | 4.2 ms | 7.1 ms | 11.3 ms | 33.532 | 1.6 MB | 0 | ✓ yes |
| 10,000 | json | 2.3 MB | 1.0× | 48.9 ms | 184.9 ms | 233.8 ms | 12.832 | 14.0 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.3 MB | 1.0× | 45.3 ms | 87.4 ms | 132.8 ms | 27.134 | 15.8 MB | 0 | ✓ yes |
toruses
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 267.5 KB | 1.0× | 4.6 ms | 17.3 ms | 21.9 ms | 15.826 | 1.5 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 267.5 KB | 1.0× | 4.7 ms | 7.8 ms | 12.5 ms | 35.145 | 1.7 MB | 0 | ✓ yes |
| 10,000 | json | 2.6 MB | 1.0× | 54.3 ms | 186.9 ms | 241.2 ms | 14.654 | 14.8 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.6 MB | 1.0× | 50.1 ms | 94.4 ms | 144.5 ms | 29.014 | 16.6 MB | 0 | ✓ yes |
transformations
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 219.8 KB | 1.0× | 3.6 ms | 3.5 ms | 7.1 ms | 64.941 | 1.2 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 219.8 KB | 1.0× | 3.5 ms | 3.6 ms | 7.2 ms | 61.906 | 1.2 MB | 0 | ✓ yes |
| 10,000 | json | 2.1 MB | 1.0× | 40.9 ms | 39.1 ms | 80.0 ms | 57.582 | 12.1 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.1 MB | 1.0× | 40.9 ms | 32.3 ms | 73.1 ms | 69.776 | 12.0 MB | 0 | ✓ yes |
translations
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 216.9 KB | 1.0× | 3.6 ms | 5.2 ms | 8.8 ms | 42.551 | 1.2 MB | 0 | ✓ yes |
| 1,000 | json@py3 | 216.9 KB | 1.0× | 3.4 ms | 3.4 ms | 6.9 ms | 65.106 | 1.2 MB | 0 | ✓ yes |
| 10,000 | json | 2.1 MB | 1.0× | 40.2 ms | 45.1 ms | 85.4 ms | 49.188 | 12.0 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 2.1 MB | 1.0× | 39.7 ms | 33.3 ms | 73.0 ms | 66.703 | 12.0 MB | 0 | ✓ yes |
vectors
Round-trip time
Wire size
| size | format | wire size | vs JSON | dump | load | round-trip | load MB/s | peak mem | max err | lossless |
|---|
| 1,000 | json | 142.6 KB | 1.0× | 2.7 ms | 2.7 ms | 5.4 ms | 54.137 | 513.5 KB | 0 | ✓ yes |
| 1,000 | json@py3 | 142.6 KB | 1.0× | 2.6 ms | 2.3 ms | 4.8 ms | 64.032 | 482.6 KB | 0 | ✓ yes |
| 10,000 | json | 1.4 MB | 1.0× | 27.4 ms | 29.3 ms | 56.7 ms | 49.798 | 4.9 MB | 0 | ✓ yes |
| 10,000 | json@py3 | 1.4 MB | 1.0× | 27.0 ms | 25.0 ms | 52.0 ms | 58.476 | 4.7 MB | 0 | ✓ yes |