Files
json/docs/mkdocs/scripts/figures/data/perf_suite.csv
T
Niels Lohmann f650d5c6ee docs: blog post: remeasure on develop with #6029, #6031, #6033 and #6039
Rerun on develop 7fc8312c64 with the open pull requests #6029, #6031,
#6033 and #6039 merged, measured on November 7: the suite (median of 12
runs, now 3.3x), the timeline (358 commits, #6031 shown as a pending
step on the candidate, #6028 labeled, a tick for November), the compile
times, the stream gap, the allocator check and the comparison on the
Mac and on x86-64, including the held-out files.

The comparison now leaves out the "copy untimed" variants, as the post
describes, and the held-out chart no longer counts json::accept() as
another library. Appendix D, the Intel column of Appendix B and the
GCC 16/Clang 23 check on the Mac are still from November 3.

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
2026-11-08 08:39:32 +01:00

9.7 KiB

1benchmarkunit3.12.03.13.0speedup
2Accept/canadans1.27789e+071.34304e+069.515
3Accept/citm_catalogns6.47666e+0647406413.662
4Accept/floatsns1.14227e+081.72173e+076.634
5Accept/jeopardyns2.18081e+082.79002e+077.816
6Accept/signed_intsns1.15981e+082.33778e+074.961
7Accept/small_signed_intsns5.64996e+071.31818e+074.286
8Accept/twitterns2.48725e+0623427710.617
9Accept/unsigned_intsns1.14729e+082.28147e+075.029
10BinaryToCbor/1024ns315.368108.0412.919
11BinaryToCbor/128ns266.074114.1052.332
12BinaryToCbor/16ns246.21249.9124.933
13BinaryToCbor/16384ns950.054418.0452.273
14BinaryToCbor/2048ns340.213126.7962.683
15BinaryToCbor/256ns279.7991.75123.049
16BinaryToCbor/32ns262.47150.34335.214
17BinaryToCbor/32768ns1578.4837.81.884
18BinaryToCbor/4096ns431.963174.2762.479
19BinaryToCbor/512ns296.768102.0732.907
20BinaryToCbor/64ns259.15984.26413.076
21BinaryToCbor/8ns250.57449.91225.020
22BinaryToCbor/8192ns527.418253.6162.080
23Copy/canadans3.68841e+062.9017e+061.271
24Copy/citm_catalogns1.64706e+061.48507e+061.109
25Copy/twitterns8105587286981.112
26CopyAssign/canadans3.73912e+062.94393e+061.270
27CopyAssign/citm_catalogns1.6545e+061.53713e+061.076
28CopyAssign/twitterns8179977524151.087
29CopyOnly/canadans1.53602e+061.52075e+061.010
30CopyOnly/citm_catalogns7548177947410.950
31CopyOnly/twitterns4069664103300.992
32CopyRing/canadans3.74734e+062.92592e+061.281
33CopyRing/citm_catalogns1.7477e+061.54757e+061.129
34CopyRing/twitterns8761917842611.117
35DestroyOnly/canadans2.16216e+061.38217e+061.564
36DestroyOnly/citm_catalogns8955356818771.313
37DestroyOnly/twitterns4064503266201.244
38Diff/canadans3.91782e+073.75209e+0610.442
39Diff/citm_catalogns6.91552e+061.09211e+066.332
40Diff/twitterns4.92965e+066397347.706
41Dump/canada / -ns6.70617e+062.31399e+062.898
42Dump/canada / 4ns8.81664e+063.03083e+062.909
43Dump/citm_catalog / -ns1.39132e+062955254.708
44Dump/citm_catalog / 4ns1.94729e+064215364.620
45Dump/floats / -ns6.35321e+072.37757e+072.672
46Dump/floats / 4ns7.19879e+072.4663e+072.919
47Dump/jeopardy / -ns2.0176e+083.0624e+076.588
48Dump/jeopardy / 4ns2.20493e+083.43504e+076.419
49Dump/signed_ints / -ns2.36853e+071.07405e+072.205
50Dump/signed_ints / 4ns3.2029e+071.13731e+072.816
51Dump/small_signed_ints / -ns1.78623e+077.93339e+062.252
52Dump/small_signed_ints / 4ns2.50508e+078.80939e+062.844
53Dump/twitter / -ns1.40813e+062135136.595
54Dump/twitter / 4ns1.59095e+062493536.380
55Dump/unsigned_ints / -ns2.35653e+078.07378e+062.919
56Dump/unsigned_ints / 4ns3.17269e+078.50708e+063.729
57Equal/canadans4631623362691.377
58Equal/citm_catalogns2641242609671.012
59Equal/twitterns1388431289061.077
60Flatten/canadans2.86941e+071.1214e+072.559
61Flatten/citm_catalogns6.4406e+063.00538e+062.143
62Flatten/twitterns3.53051e+062.05449e+061.718
63FlattenOrdered/citm_catalogns2.56371e+081.40896e+06181.958
64FlattenOrdered/twitterns5.00313e+0786359457.934
65FromBinaryBuffer/bjdata / canadans8.15141e+064.17154e+061.954
66FromBinaryBuffer/bjdata / twitterns3.18297e+068930763.564
67FromBinaryBuffer/bjdata_optimized / canadans8.73882e+062.42167e+063.609
68FromBinaryBuffer/bjdata_optimized / twitterns3.15905e+068848563.570
69FromBinaryBuffer/bson / canadans9.33283e+064.27358e+062.184
70FromBinaryBuffer/bson / citm_catalogns3.91854e+061.61073e+062.433
71FromBinaryBuffer/bson / twitterns3.176e+069102903.489
72FromBinaryBuffer/cbor / canadans8.39002e+062.08256e+064.029
73FromBinaryBuffer/cbor / citm_catalogns3.71495e+061.31999e+062.814
74FromBinaryBuffer/cbor / floatsns2.91606e+075.48446e+065.317
75FromBinaryBuffer/cbor / jeopardyns3.52964e+081.00739e+083.504
76FromBinaryBuffer/cbor / signed_intsns3.59874e+079.77712e+063.681
77FromBinaryBuffer/cbor / twitterns3.08997e+068788273.516
78FromBinaryBuffer/msgpack / canadans8.25869e+062.09779e+063.937
79FromBinaryBuffer/msgpack / citm_catalogns3.71825e+061.28675e+062.890
80FromBinaryBuffer/msgpack / jeopardyns3.56624e+089.69017e+073.680
81FromBinaryBuffer/msgpack / twitterns3.06392e+068500673.604
82FromBinaryBuffer/ubjson / canadans8.12649e+064.14411e+061.961
83FromBinaryBuffer/ubjson / citm_catalogns3.82184e+061.65659e+062.307
84FromBinaryBuffer/ubjson / jeopardyns3.65507e+081.01303e+083.608
85FromBinaryBuffer/ubjson / twitterns3.15221e+068957463.519
86FromBinaryBuffer/ubjson_optimized / canadans8.5126e+062.38858e+063.564
87FromBinaryBuffer/ubjson_optimized / twitterns3.12199e+068821663.539
88FromBinaryFile/bjdata / twitterns1.04222e+071.45214e+067.177
89FromBinaryFile/bson / twitterns1.02874e+071.23514e+068.329
90FromBinaryFile/cbor / canadans1.43434e+072.4071e+065.959
91FromBinaryFile/cbor / twitterns9.92359e+061.075e+069.231
92FromBinaryFile/ubjson / canadans1.35516e+076.2336e+062.174
93FromBinaryFile/ubjson / twitterns1.05159e+071.46077e+067.199
94FromBinaryShape/containers / bjdatans1.43175e+077.24204e+061.977
95FromBinaryShape/containers / bsonns1.74215e+077.97531e+062.184
96FromBinaryShape/containers / cborns1.3898e+073.93021e+063.536
97FromBinaryShape/containers / msgpackns1.378e+073.88449e+063.547
98FromBinaryShape/containers / ubjsonns1.44223e+077.2737e+061.983
99FromBinaryShape/containers / ubjson_optimizedns1.49736e+074.48674e+063.337
100FromBinaryShape/nested / bjdatans96363.938197.92.523
101FromBinaryShape/nested / bsonns10251542496.12.412
102FromBinaryShape/nested / cborns93842.135385.52.652
103FromBinaryShape/nested / msgpackns9203334888.52.638
104FromBinaryShape/nested / ubjsonns96455.937922.62.543
105FromBinaryShape/scalars / bjdatans2.48048e+071.1476e+072.161
106FromBinaryShape/scalars / cborns2.56641e+075.68711e+064.513
107FromBinaryShape/scalars / msgpackns2.44254e+075.56716e+064.387
108FromBinaryShape/scalars / ubjsonns2.49328e+071.15997e+072.149
109FromCborChunkedString/10000 chunksns90902.361512.61.478
110FromMsgpack/canadans1.43596e+072.40425e+065.973
111FromMsgpack/citm_catalogns9.03526e+061.66705e+065.420
112FromMsgpack/floatsns5.97879e+072.82314e+072.118
113FromMsgpack/jeopardyns1.14023e+091.1207e+0810.174
114FromMsgpack/signed_intsns6.30943e+073.27435e+071.927
115FromMsgpack/small_signed_intsns6.34225e+073.52538e+071.799
116FromMsgpack/twitterns9.99383e+061.01241e+069.871
117FromMsgpack/unsigned_intsns5.61151e+072.82024e+071.990
118GetArray<std::array<int, 1000>>ns2242.43641.0943.498
119GetArray<std::deque<int>>ns8157.441172.816.955
120GetArray<std::set<int>>ns58833.4415531.416
121GetArray<std::vector<int>>ns6725.67670.81610.026
122GetMap/citm_catalogns3.44193e+062.43771e+061.412
123GetVectorDouble/floatsns6.7017e+0665076610.298
124GetVectorInt/signed_intsns8.06579e+063.40643e+062.368
125Iterate/canadans8736184451431.963
126Iterate/citm_catalogns3018011578231.912
127Iterate/twitterns8734558936.41.482
128JsonPointerAt/citm_catalogns1.85369e+061.1599e+061.598
129JsonPointerAt/twitterns7914875995851.320
130JsonPointerContains/citm_catalogns2.73824e+061.25465e+062.182
131JsonPointerContains/twitterns1.32403e+066203122.134
132JsonPointerParse/citm_catalogns5.72778e+062.21453e+062.586
133JsonPointerParse/twitterns2.4672e+061.00864e+062.446
134JsonPointerToString/citm_catalogns6.65484e+061.89788e+063.506
135JsonPointerToString/twitterns2.13903e+068119162.635
136ParseFILE/canadans5.29148e+076.01689e+068.794
137ParseFILE/citm_catalogns3.49593e+072.34075e+0614.935
138ParseFILE/twitterns1.38263e+071.34963e+0610.245
139ParseFile/canadans1.76922e+076.22534e+062.842
140ParseFile/citm_catalogns7.85962e+062.47244e+063.179
141ParseFile/floatsns1.29413e+084.83839e+072.675
142ParseFile/jeopardyns3.30328e+081.56161e+082.115
143ParseFile/signed_intsns1.27675e+084.65862e+072.741
144ParseFile/small_signed_intsns6.44651e+073.33577e+071.933
145ParseFile/twitterns3.39729e+061.37932e+062.463
146ParseFile/unsigned_intsns1.23326e+084.73146e+072.607
147ParseIndented/canada / 4ns3.41603e+074.60976e+067.410
148ParseIndented/citm_catalog / 4ns7.45491e+061.45798e+065.113
149ParseIndented/jeopardy / 4ns3.38801e+081.14349e+082.963
150ParseIndented/twitter / 4ns3.61322e+069753913.704
151ParseStreamValues/ndjsonns7.07974e+063.7154e+061.906
152ParseStreamValues/numbersns1.92884e+063880424.971
153ParseString/canadans1.52389e+073.73427e+064.081
154ParseString/citm_catalogns7.40128e+061.44821e+065.111
155ParseString/floatsns1.19856e+082.49654e+074.801
156ParseString/jeopardyns3.03449e+081.13053e+082.684
157ParseString/signed_intsns1.21175e+082.86805e+074.225
158ParseString/small_signed_intsns6.07636e+071.77037e+073.432
159ParseString/twitterns3.21074e+069205513.488
160ParseString/unsigned_intsns1.20011e+082.85056e+074.210
161ParseStringOrdered/canadans1.52544e+073.77964e+064.036
162ParseStringOrdered/citm_catalogns1.09927e+071.34339e+068.183
163ParseStringOrdered/jeopardyns3.60435e+089.81296e+073.673
164ParseStringOrdered/twitterns4.41151e+068038595.488
165Patch/canadans1.01249e+073.41425e+062.965
166Patch/citm_catalogns2.54415e+061.65413e+061.538
167Patch/twitterns1.4932e+068702171.716
168SaxParse/canadans1.28611e+072.49889e+065.147
169SaxParse/citm_catalogns6.43798e+066553729.823
170SaxParse/twitterns2.48859e+063340387.450
171ToCbor/canadans1.39101e+065549522.507
172ToCbor/citm_catalogns1.0334e+062603973.969
173ToCbor/floatsns8.93763e+061.84589e+064.842
174ToCbor/jeopardyns7.14785e+072.10551e+073.395
175ToCbor/signed_intsns1.13863e+072.74211e+064.152
176ToCbor/small_signed_intsns1.02822e+072.37622e+064.327
177ToCbor/twitterns6369791443694.412
178ToCbor/unsigned_intsns8.04576e+062.74066e+062.936
179ToJsonStrings/copyns5.85988e+065.60056e+061.046
180ToJsonStrings/movens5.92335e+063.04643e+061.944
181Unflatten/canadans4.17811e+071.08132e+073.864
182Unflatten/citm_catalogns9.80315e+063.53672e+062.772
183Unflatten/twitterns4.56968e+062.16566e+062.110