Files
json/docs/mkdocs/scripts/figures/data/perf_suite.csv
T
Niels Lohmann c321ee0d2a docs: measure the 3.13.0 post against develop with all open pull requests
The baseline is now develop 9c349b1d7c with every open non-draft pull
request merged, including #5968, #5970, #5971, #5975, #5976, #5978,
#5979, #5980, #5981 and #5982. The suite was rerun on 11-01 with every
step repeated when the load rose above 5 while it ran; the comparison
with other libraries and the held-out files were rerun on 10-31.

- suite: 3.0x geometric mean (median 2.9x); Appendix B, the overview
  and the distribution regenerated
- timeline endpoint, Appendix D and the cliffs figure updated
- the held-out figure compares json_document with the fastest other
  library
- new paragraphs for the pull requests listed above

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
2026-11-01 13:48:18 +01:00

9.7 KiB

1benchmarkunit3.12.03.13.0speedup
2Accept/canadans1.26696e+072.2575e+065.612
3Accept/citm_catalogns6.27254e+068218237.632
4Accept/floatsns1.13006e+082.40221e+074.704
5Accept/jeopardyns2.17632e+085.58138e+073.899
6Accept/signed_intsns1.12907e+082.85756e+073.951
7Accept/small_signed_intsns5.54714e+071.8795e+072.951
8Accept/twitterns2.43838e+064735865.149
9Accept/unsigned_intsns1.1346e+082.74621e+074.132
10BinaryToCbor/1024ns297.40799.57682.987
11BinaryToCbor/128ns248.439111.6572.225
12BinaryToCbor/16ns242.56447.78185.077
13BinaryToCbor/16384ns973.398399.4992.437
14BinaryToCbor/2048ns319.624118.2722.702
15BinaryToCbor/256ns266.10487.31653.048
16BinaryToCbor/32ns247.97848.46345.117
17BinaryToCbor/32768ns1556.18800.8731.943
18BinaryToCbor/4096ns396.295162.6022.437
19BinaryToCbor/512ns285.57596.06482.973
20BinaryToCbor/64ns250.37781.9253.056
21BinaryToCbor/8ns244.15647.2885.163
22BinaryToCbor/8192ns504.281243.9112.067
23Copy/canadans3.63446e+062.82189e+061.288
24Copy/citm_catalogns1.60912e+061.44486e+061.114
25Copy/twitterns7954547131371.115
26CopyAssign/canadans3.67193e+062.83735e+061.294
27CopyAssign/citm_catalogns1.6226e+061.46761e+061.106
28CopyAssign/twitterns7968797238021.101
29CopyOnly/canadans1.515e+061.48013e+061.024
30CopyOnly/citm_catalogns7359097790640.945
31CopyOnly/twitterns3960913941481.005
32CopyRing/canadans3.6601e+062.87591e+061.273
33CopyRing/citm_catalogns1.67396e+061.49385e+061.121
34CopyRing/twitterns8522037580991.124
35DestroyOnly/canadans2.11222e+061.34774e+061.567
36DestroyOnly/citm_catalogns8776276653441.319
37DestroyOnly/twitterns4013893180491.262
38Diff/canadans3.79246e+073.63624e+0610.430
39Diff/citm_catalogns6.67077e+061.06338e+066.273
40Diff/twitterns4.77939e+066257567.638
41Dump/canada / -ns6.59487e+062.2613e+062.916
42Dump/canada / 4ns8.74176e+062.97842e+062.935
43Dump/citm_catalog / -ns1.3644e+062887194.726
44Dump/citm_catalog / 4ns1.89619e+064133664.587
45Dump/floats / -ns6.19828e+072.32629e+072.664
46Dump/floats / 4ns6.99509e+072.42733e+072.882
47Dump/jeopardy / -ns1.98646e+083.00149e+076.618
48Dump/jeopardy / 4ns2.1766e+083.41791e+076.368
49Dump/signed_ints / -ns2.34589e+071.04283e+072.250
50Dump/signed_ints / 4ns3.14953e+071.10449e+072.852
51Dump/small_signed_ints / -ns1.75382e+077.78445e+062.253
52Dump/small_signed_ints / 4ns2.45961e+078.6025e+062.859
53Dump/twitter / -ns1.37764e+062060716.685
54Dump/twitter / 4ns1.55081e+062453196.322
55Dump/unsigned_ints / -ns2.32299e+077.88898e+062.945
56Dump/unsigned_ints / 4ns3.13409e+078.36799e+063.745
57Equal/canadans4534243272631.386
58Equal/citm_catalogns2669932502941.067
59Equal/twitterns1397361257461.111
60Flatten/canadans2.82338e+071.08847e+072.594
61Flatten/citm_catalogns6.30735e+063.00812e+062.097
62Flatten/twitterns3.47237e+062.01096e+061.727
63FlattenOrdered/citm_catalogns2.51117e+081.37356e+06182.822
64FlattenOrdered/twitterns4.80472e+0784569056.814
65FromBinaryBuffer/bjdata / canadans8.06626e+064.09343e+061.971
66FromBinaryBuffer/bjdata / twitterns3.10065e+069453483.280
67FromBinaryBuffer/bjdata_optimized / canadans8.55835e+062.4023e+063.563
68FromBinaryBuffer/bjdata_optimized / twitterns3.07733e+069416913.268
69FromBinaryBuffer/bson / canadans9.21459e+064.26414e+062.161
70FromBinaryBuffer/bson / citm_catalogns3.83754e+061.59156e+062.411
71FromBinaryBuffer/bson / twitterns3.04999e+069144753.335
72FromBinaryBuffer/cbor / canadans8.24692e+062.10045e+063.926
73FromBinaryBuffer/cbor / citm_catalogns3.67001e+061.40559e+062.611
74FromBinaryBuffer/cbor / floatsns2.88379e+075.54206e+065.203
75FromBinaryBuffer/cbor / jeopardyns3.55185e+081.12369e+083.161
76FromBinaryBuffer/cbor / signed_intsns3.50877e+071.06246e+073.302
77FromBinaryBuffer/cbor / twitterns3.02882e+069384353.228
78FromBinaryBuffer/msgpack / canadans8.1874e+062.10574e+063.888
79FromBinaryBuffer/msgpack / citm_catalogns3.69114e+061.38675e+062.662
80FromBinaryBuffer/msgpack / jeopardyns3.48804e+081.07752e+083.237
81FromBinaryBuffer/msgpack / twitterns3.00307e+069189493.268
82FromBinaryBuffer/ubjson / canadans8.07635e+064.10295e+061.968
83FromBinaryBuffer/ubjson / citm_catalogns3.81009e+061.73556e+062.195
84FromBinaryBuffer/ubjson / jeopardyns3.68321e+081.13364e+083.249
85FromBinaryBuffer/ubjson / twitterns3.11341e+069485223.282
86FromBinaryBuffer/ubjson_optimized / canadans8.35104e+062.36581e+063.530
87FromBinaryBuffer/ubjson_optimized / twitterns3.06434e+069386103.265
88FromBinaryFile/bjdata / twitterns1.01717e+071.88288e+065.402
89FromBinaryFile/bson / twitterns1.00323e+071.7507e+065.730
90FromBinaryFile/cbor / canadans1.40561e+074.33636e+063.241
91FromBinaryFile/cbor / twitterns9.76788e+061.50363e+066.496
92FromBinaryFile/ubjson / canadans1.33567e+076.24716e+062.138
93FromBinaryFile/ubjson / twitterns1.02704e+071.88515e+065.448
94FromBinaryShape/containers / bjdatans1.39728e+076.97745e+062.003
95FromBinaryShape/containers / bsonns1.66944e+077.57557e+062.204
96FromBinaryShape/containers / cborns1.37656e+073.92529e+063.507
97FromBinaryShape/containers / msgpackns1.36795e+073.873e+063.532
98FromBinaryShape/containers / ubjsonns1.39033e+076.94785e+062.001
99FromBinaryShape/containers / ubjson_optimizedns1.45005e+074.4374e+063.268
100FromBinaryShape/nested / bjdatans94734.237641.82.517
101FromBinaryShape/nested / bsonns10082241783.22.413
102FromBinaryShape/nested / cborns92458.335251.32.623
103FromBinaryShape/nested / msgpackns91071.534781.92.618
104FromBinaryShape/nested / ubjsonns93738.537564.72.495
105FromBinaryShape/scalars / bjdatans2.41928e+071.11786e+072.164
106FromBinaryShape/scalars / cborns2.53634e+075.77218e+064.394
107FromBinaryShape/scalars / msgpackns2.40515e+075.69592e+064.223
108FromBinaryShape/scalars / ubjsonns2.43914e+071.12377e+072.171
109FromCborChunkedString/10000 chunksns89766.681082.51.107
110FromMsgpack/canadans1.39115e+074.36091e+063.190
111FromMsgpack/citm_catalogns8.78364e+062.19066e+064.010
112FromMsgpack/floatsns5.88697e+072.716e+072.168
113FromMsgpack/jeopardyns1.1169e+091.78518e+086.257
114FromMsgpack/signed_intsns6.18791e+073.19405e+071.937
115FromMsgpack/small_signed_intsns6.17411e+073.32716e+071.856
116FromMsgpack/twitterns9.71057e+061.43151e+066.783
117FromMsgpack/unsigned_intsns5.46656e+072.73563e+071.998
118GetArray<std::array<int, 1000>>ns2226.89628.8233.541
119GetArray<std::deque<int>>ns7987.511154.726.917
120GetArray<std::set<int>>ns58292.141015.31.421
121GetArray<std::vector<int>>ns6583.86654.89610.053
122GetMap/citm_catalogns3.37868e+062.38201e+061.418
123GetVectorDouble/floatsns6.55968e+0663833710.276
124GetVectorInt/signed_intsns7.93082e+063.36672e+062.356
125Iterate/canadans8630303196122.700
126Iterate/citm_catalogns2946671650421.785
127Iterate/twitterns86187.161998.91.390
128JsonPointerAt/citm_catalogns1.79511e+061.10986e+061.617
129JsonPointerAt/twitterns7834575776731.356
130JsonPointerContains/citm_catalogns2.67654e+061.2123e+062.208
131JsonPointerContains/twitterns1.27533e+066008362.123
132JsonPointerParse/citm_catalogns5.63099e+062.14907e+062.620
133JsonPointerParse/twitterns2.41845e+069819782.463
134JsonPointerToString/citm_catalogns6.61402e+061.85736e+063.561
135JsonPointerToString/twitterns2.16657e+067897752.743
136ParseFILE/canadans5.2126e+071.38733e+073.757
137ParseFILE/citm_catalogns3.4268e+077.25874e+064.721
138ParseFILE/twitterns1.33521e+073.2647e+064.090
139ParseFile/canadans1.72435e+076.07983e+062.836
140ParseFile/citm_catalogns7.64894e+062.38641e+063.205
141ParseFile/floatsns1.27024e+084.70746e+072.698
142ParseFile/jeopardyns3.24619e+081.58029e+082.054
143ParseFile/signed_intsns1.24305e+084.5808e+072.714
144ParseFile/small_signed_intsns6.28615e+073.16401e+071.987
145ParseFile/twitterns3.2765e+061.34371e+062.438
146ParseFile/unsigned_intsns1.20124e+084.40035e+072.730
147ParseIndented/canada / 4ns3.31005e+075.04112e+066.566
148ParseIndented/citm_catalog / 4ns7.11787e+061.73917e+064.093
149ParseIndented/jeopardy / 4ns3.33132e+081.29074e+082.581
150ParseIndented/twitter / 4ns3.57115e+061.09089e+063.274
151ParseStreamValues/ndjsonns6.97026e+063.70937e+061.879
152ParseStreamValues/numbersns1.8966e+063737445.075
153ParseString/canadans1.50132e+074.35565e+063.447
154ParseString/citm_catalogns7.26397e+061.73446e+064.188
155ParseString/floatsns1.1698e+083.02859e+073.863
156ParseString/jeopardyns3.05106e+081.28063e+082.382
157ParseString/signed_intsns1.19046e+083.16406e+073.762
158ParseString/small_signed_intsns5.97047e+072.20096e+072.713
159ParseString/twitterns3.18359e+061.02841e+063.096
160ParseString/unsigned_intsns1.18153e+083.03899e+073.888
161ParseStringOrdered/canadans1.52432e+074.31485e+063.533
162ParseStringOrdered/citm_catalogns1.07738e+071.61487e+066.672
163ParseStringOrdered/jeopardyns3.58314e+081.09968e+083.258
164ParseStringOrdered/twitterns4.34017e+068978164.834
165Patch/canadans9.89382e+063.30963e+062.989
166Patch/citm_catalogns2.49909e+061.59354e+061.568
167Patch/twitterns1.4469e+068409781.720
168SaxParse/canadans1.27947e+073.20901e+063.987
169SaxParse/citm_catalogns6.33091e+069475786.681
170SaxParse/twitterns2.47342e+064674465.291
171ToCbor/canadans1.36222e+065466872.492
172ToCbor/citm_catalogns1.0175e+062547253.995
173ToCbor/floatsns8.88418e+061.88474e+064.714
174ToCbor/jeopardyns7.101e+072.10445e+073.374
175ToCbor/signed_intsns1.1155e+072.74959e+064.057
176ToCbor/small_signed_intsns1.01055e+072.36336e+064.276
177ToCbor/twitterns6322311412794.475
178ToCbor/unsigned_intsns7.99726e+062.748e+062.910
179ToJsonStrings/copyns5.81667e+065.47945e+061.062
180ToJsonStrings/movens5.79569e+063.00408e+061.929
181Unflatten/canadans4.09596e+071.06606e+073.842
182Unflatten/citm_catalogns9.66875e+063.44544e+062.806
183Unflatten/twitterns4.57166e+062.08857e+062.189