Serialization¶
serialize |
|
|
|
|
simdjson5 |
orjson6 |
ujson7 |
simplejson8 |
stdlib9 |
---|---|---|---|---|---|---|---|---|---|
100 arrays dict |
1.00 |
1.00 |
0.79 |
0.78 |
1.95 |
0.25 |
1.05 |
2.88 |
1.93 |
100 dicts array |
1.00 |
0.99 |
0.84 |
0.79 |
1.94 |
0.33 |
1.04 |
3.62 |
1.94 |
256 Trues array |
1.00 |
0.99 |
1.14 |
0.99 |
2.23 |
0.38 |
1.33 |
2.63 |
2.23 |
256 ascii array |
1.00 |
1.00 |
1.02 |
1.00 |
0.76 |
0.25 |
0.43 |
1.00 |
0.76 |
256 doubles array |
1.00 |
1.00 |
1.01 |
1.00 |
0.87 |
0.06 |
0.23 |
0.90 |
0.86 |
256 unicode array |
1.00 |
0.84 |
0.84 |
0.85 |
0.66 |
0.10 |
0.56 |
0.78 |
0.66 |
apache.json |
1.00 |
0.99 |
1.01 |
1.00 |
1.46 |
0.30 |
1.12 |
1.94 |
1.45 |
canada.json |
1.00 |
0.98 |
0.97 |
0.97 |
0.99 |
0.09 |
0.32 |
1.33 |
0.98 |
complex object |
1.00 |
1.00 |
0.93 |
0.92 |
1.51 |
0.26 |
0.76 |
1.87 |
1.50 |
composite object |
1.00 |
1.02 |
0.75 |
0.72 |
1.82 |
0.37 |
0.98 |
2.36 |
1.80 |
ctm.json |
1.00 |
1.00 |
0.79 |
0.79 |
2.00 |
0.31 |
1.21 |
3.12 |
1.93 |
github.json |
1.00 |
1.00 |
0.98 |
0.97 |
1.19 |
0.28 |
0.90 |
1.41 |
1.18 |
instruments.json |
1.00 |
1.00 |
0.86 |
0.86 |
1.62 |
0.33 |
0.99 |
1.77 |
1.60 |
mesh.json |
1.00 |
1.00 |
0.90 |
0.91 |
1.00 |
0.14 |
0.35 |
1.08 |
0.99 |
truenull.json |
1.00 |
0.99 |
1.06 |
1.03 |
1.78 |
0.42 |
1.48 |
1.95 |
1.75 |
tweet.json |
1.00 |
0.99 |
1.00 |
0.96 |
1.51 |
0.33 |
0.92 |
1.96 |
1.50 |
twitter.json |
1.00 |
1.00 |
0.97 |
0.97 |
1.25 |
0.30 |
1.00 |
1.32 |
1.24 |
overall |
1.00 |
1.00 |
0.83 |
0.83 |
1.69 |
0.21 |
0.86 |
2.44 |
1.67 |
Deserialization¶
deserialize |
|
|
|
|
simdjson |
orjson |
ujson |
simplejson |
stdlib |
---|---|---|---|---|---|---|---|---|---|
100 arrays dict |
1.00 |
1.05 |
0.95 |
0.90 |
0.85 |
0.73 |
0.88 |
1.14 |
0.93 |
100 dicts array |
1.00 |
1.00 |
0.87 |
0.84 |
0.62 |
0.64 |
0.72 |
1.33 |
1.05 |
256 Trues array |
1.00 |
1.01 |
1.08 |
1.01 |
0.90 |
0.88 |
0.80 |
1.53 |
1.33 |
256 ascii array |
1.00 |
1.00 |
1.03 |
1.03 |
0.45 |
0.75 |
0.97 |
0.98 |
0.84 |
256 doubles array |
1.00 |
1.00 |
0.25 |
0.25 |
0.20 |
0.25 |
0.48 |
1.12 |
1.07 |
256 unicode array |
1.00 |
1.00 |
1.00 |
1.00 |
1.12 |
0.43 |
0.97 |
4.77 |
1.38 |
apache.json |
1.00 |
1.00 |
1.01 |
1.01 |
0.65 |
0.65 |
0.88 |
0.93 |
0.86 |
canada.json |
1.00 |
0.98 |
0.31 |
0.31 |
0.27 |
0.33 |
0.43 |
1.00 |
0.91 |
complex object |
1.00 |
1.01 |
0.88 |
0.87 |
0.66 |
0.57 |
0.84 |
1.18 |
1.01 |
composite object |
1.00 |
1.00 |
0.83 |
0.82 |
0.60 |
0.78 |
0.61 |
1.41 |
1.13 |
ctm.json |
1.00 |
0.92 |
0.83 |
0.84 |
0.65 |
0.62 |
0.92 |
1.15 |
1.03 |
github.json |
1.00 |
1.00 |
0.98 |
0.98 |
0.63 |
0.63 |
0.84 |
0.94 |
0.85 |
instruments.json |
1.00 |
1.00 |
0.86 |
0.86 |
0.64 |
0.55 |
0.72 |
1.10 |
0.92 |
mesh.json |
1.00 |
0.92 |
0.47 |
0.47 |
0.40 |
0.49 |
0.63 |
1.42 |
0.95 |
truenull.json |
1.00 |
1.01 |
1.09 |
1.00 |
0.56 |
0.95 |
0.87 |
1.00 |
0.86 |
tweet.json |
1.00 |
1.00 |
0.98 |
0.97 |
0.67 |
0.64 |
0.86 |
1.21 |
1.08 |
twitter.json |
1.00 |
1.00 |
0.95 |
0.96 |
0.67 |
0.62 |
0.99 |
1.04 |
0.99 |
overall |
1.00 |
1.04 |
0.89 |
0.84 |
0.79 |
0.69 |
0.84 |
1.13 |
0.93 |
ASCII vs UTF-8 Serialization¶
serialize |
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|
Long ASCII string |
1.00 |
0.40 |
0.22 |
0.40 |
0.62 |
0.75 |
0.47 |
1.13 |
Long Unicode string |
1.00 |
0.57 |
0.67 |
0.62 |
0.86 |
0.75 |
0.74 |
0.64 |
overall |
1.00 |
0.51 |
0.52 |
0.55 |
0.78 |
0.75 |
0.65 |
0.80 |
- 1
rapidjson.dumps()
- 2
rapidjson.Encoder()
- 3
rapidjson.dumps(number_mode=NM_NATIVE)
- 4
rapidjson.Encoder(number_mode=NM_NATIVE)
- 5
- 6
- 7
- 8
- 9
Python 3.9.2 standard library
json
- 10
rapidjson.loads()
- 11
rapidjson.Decoder()
- 12
rapidjson.loads(number_mode=NM_NATIVE)
- 13
rapidjson.Decoder(number_mode=NM_NATIVE)
- 15
rapidjson.dumps(ensure_ascii=True)
- 16
rapidjson.dumps(ensure_ascii=False)
- 17
ujson.dumps(ensure_ascii=True)
- 18
ujson.dumps(ensure_ascii=False)
- 19
simplejson.dumps(ensure_ascii=True)
- 20
simplejson.dumps(ensure_ascii=False)
- 21
stdlib json.dumps(ensure_ascii=True)
- 22
stdlib json.dumps(ensure_ascii=False)