Files
json/docs/mkdocs/scripts/figures/data/perf_suite.csv
T
Niels Lohmann 647bb98ba6 docs: restructure the 3.13.0 post around themes and use cases
- deeper technical detail and code in the eight themes; pull request
  numbers move to the appendix, timeline steps are labelled by theme
- comparison with other libraries by use case, as heatmaps per
  platform, with validation levels and the caveats next to the results
- appendix: test files, all 182 suite rows with a histogram, timeline
  steps, algorithmic fixes, per-file tables, behaviour changes, setup,
  pull requests by theme

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
2026-10-30 15:29:50 +01:00

9.7 KiB

1benchmarkunit3.12.03.13.0speedup
2FromBinaryBuffer/bson / twitterns3.07203e+069984453.077
3ParseStringOrdered/jeopardyns3.56038e+081.10829e+083.213
4JsonPointerToString/twitterns2.16889e+067935132.733
5BinaryToCbor/8192ns511.25238.7252.142
6FromMsgpack/unsigned_intsns5.51164e+072.72444e+072.023
7JsonPointerAt/twitterns7803065850551.334
8CopyOnly/twitterns3939643992090.987
9FlattenOrdered/citm_catalogns2.52682e+081.37388e+06183.919
10FromBinaryFile/ubjson / canadans1.34e+076.20075e+062.161
11FromBinaryShape/containers / bjdatans1.41456e+077.04794e+062.007
12ParseIndented/jeopardy / 4ns3.33616e+081.31177e+082.543
13FromMsgpack/signed_intsns6.19882e+073.19294e+071.941
14FromBinaryShape/containers / bsonns1.69936e+079.81169e+061.732
15BinaryToCbor/128ns247.24110.4722.238
16FromBinaryBuffer/cbor / jeopardyns3.52319e+081.15873e+083.041
17ParseFile/jeopardyns3.26899e+081.57231e+082.079
18FromMsgpack/jeopardyns1.11847e+091.81305e+086.169
19FromBinaryFile/cbor / twitterns9.70523e+061.5381e+066.310
20ToCbor/floatsns8.8461e+061.88426e+064.695
21ParseFile/small_signed_intsns6.30771e+073.13826e+072.010
22FromBinaryBuffer/msgpack / twitterns3.01937e+069375703.220
23BinaryToCbor/16384ns947.242408.2752.320
24FromBinaryFile/bson / twitterns9.98109e+061.78121e+065.604
25ParseString/twitterns3.15572e+061.04655e+063.015
26Unflatten/twitterns4.47709e+062.11403e+062.118
27BinaryToCbor/8ns242.89146.62535.209
28BinaryToCbor/16ns238.43146.51795.126
29Dump/small_signed_ints / 4ns2.49933e+078.62966e+062.896
30ParseString/jeopardyns3.04927e+081.29515e+082.354
31Dump/signed_ints / 4ns3.18294e+071.68297e+071.891
32Flatten/twitterns3.4886e+062.00532e+061.740
33FromBinaryBuffer/cbor / twitterns3.00428e+069648703.114
34Dump/jeopardy / 4ns2.19025e+083.43818e+076.370
35SaxParse/citm_catalogns6.33865e+069696656.537
36JsonPointerAt/citm_catalogns1.80656e+061.10975e+061.628
37DestroyOnly/citm_catalogns8740736636151.317
38FromBinaryShape/scalars / ubjsonns2.46643e+071.13906e+072.165
39Unflatten/canadans4.04569e+071.07458e+073.765
40ParseString/floatsns1.18934e+083.02332e+073.934
41ParseIndented/canada / 4ns3.38495e+075.02409e+066.737
42ParseString/signed_intsns1.19593e+083.14351e+073.804
43ParseFile/signed_intsns1.24813e+084.61765e+072.703
44JsonPointerContains/twitterns1.27938e+066060692.111
45Dump/floats / 4ns7.10935e+072.41369e+072.945
46Dump/floats / -ns6.27641e+072.33213e+072.691
47ToCbor/canadans1.36795e+065460012.505
48FromBinaryBuffer/bson / canadans9.21307e+065.51059e+061.672
49ToCbor/twitterns6383211419754.496
50ParseIndented/twitter / 4ns3.58298e+061.10646e+063.238
51Iterate/citm_catalogns2976461673021.779
52FromBinaryBuffer/bjdata / canadans8.08015e+064.17334e+061.936
53ParseStreamValues/ndjsonns6.96248e+063.7254e+061.869
54Diff/twitterns4.79296e+066355317.542
55Dump/citm_catalog / -ns1.37753e+062906584.739
56FromBinaryShape/nested / bjdatans96017.537882.12.535
57ToJsonStrings/copyns5.83243e+065.54046e+061.053
58Dump/canada / 4ns8.9039e+062.9943e+062.974
59CopyRing/twitterns8553747665211.116
60FromBinaryBuffer/cbor / citm_catalogns3.70397e+061.46121e+062.535
61FromBinaryFile/bjdata / twitterns1.02688e+071.90492e+065.391
62FromBinaryShape/containers / ubjson_optimizedns1.4727e+074.80309e+063.066
63FromMsgpack/citm_catalogns8.85701e+062.2473e+063.941
64CopyOnly/canadans1.53425e+061.49609e+061.026
65Equal/canadans4539653327951.364
66Diff/citm_catalogns6.74369e+061.07135e+066.295
67ParseStringOrdered/canadans1.49834e+074.29102e+063.492
68Flatten/canadans2.82148e+071.11369e+072.533
69Accept/canadans1.26836e+072.25933e+065.614
70CopyAssign/twitterns8048577353411.095
71BinaryToCbor/4096ns402.442159.222.528
72ParseFILE/citm_catalogns3.45528e+077.26455e+064.756
73ToCbor/signed_intsns1.13256e+072.76748e+064.092
74Patch/canadans9.80719e+063.36006e+062.919
75GetArray<std::vector<int>>ns6589.63655.02110.060
76Dump/canada / -ns6.62927e+062.24661e+062.951
77GetVectorDouble/floatsns6.62214e+0664125910.327
78Accept/citm_catalogns6.3596e+069093976.993
79ParseFILE/twitterns1.35627e+073.27982e+064.135
80FromBinaryBuffer/msgpack / jeopardyns3.54302e+081.10166e+083.216
81ParseFile/floatsns1.3128e+084.88806e+072.686
82Accept/small_signed_intsns5.5849e+071.88756e+072.959
83Accept/jeopardyns2.2049e+086.3504e+073.472
84Accept/signed_intsns1.15055e+082.84818e+074.040
85CopyRing/canadans3.68758e+062.88527e+061.278
86Patch/twitterns1.44963e+068487291.708
87Iterate/twitterns87147.261831.91.409
88ParseFile/twitterns3.33795e+061.3545e+062.464
89GetArray<std::deque<int>>ns8110.781156.067.016
90FromBinaryBuffer/cbor / canadans8.20468e+062.31071e+063.551
91Equal/twitterns1410571259951.120
92ParseStreamValues/numbersns1.87073e+063709595.043
93Dump/small_signed_ints / -ns1.78162e+077.86562e+062.265
94JsonPointerToString/citm_catalogns6.63798e+061.869e+063.552
95Copy/twitterns7970347218891.104
96Diff/canadans3.83337e+073.67301e+0610.437
97FromBinaryBuffer/ubjson_optimized / twitterns3.1281e+069599923.258
98BinaryToCbor/32ns251.85747.325.322
99GetArray<std::set<int>>ns58113.140911.21.420
100CopyAssign/citm_catalogns1.66804e+061.48043e+061.127
101ToCbor/jeopardyns7.16464e+072.11077e+073.394
102CopyRing/citm_catalogns1.70236e+061.50767e+061.129
103FromBinaryBuffer/ubjson / canadans8.14082e+064.15725e+061.958
104ToCbor/small_signed_intsns1.02087e+072.3872e+064.276
105DestroyOnly/canadans2.13545e+061.37061e+061.558
106FromBinaryBuffer/ubjson / citm_catalogns3.81161e+061.73601e+062.196
107Dump/jeopardy / -ns2.01242e+083.04052e+076.619
108FromBinaryBuffer/msgpack / citm_catalogns3.70428e+061.42385e+062.602
109ParseStringOrdered/citm_catalogns1.07899e+071.63999e+066.579
110ParseString/unsigned_intsns1.17897e+083.02538e+073.897
111Patch/citm_catalogns2.48869e+061.60776e+061.548
112SaxParse/canadans1.28389e+073.21707e+063.991
113ParseString/citm_catalogns7.20303e+061.7454e+064.127
114FromBinaryFile/cbor / canadans1.42056e+074.37844e+063.244
115BinaryToCbor/256ns269.64186.30273.124
116ParseFILE/canadans5.22098e+071.38907e+073.759
117BinaryToCbor/32768ns1538.42806.5781.907
118Accept/floatsns1.13316e+082.40029e+074.721
119FromMsgpack/floatsns5.92985e+072.71551e+072.184
120ParseString/small_signed_intsns6.05098e+072.18687e+072.767
121JsonPointerParse/citm_catalogns5.64871e+062.16902e+062.604
122Copy/canadans3.64004e+062.8296e+061.286
123Dump/twitter / 4ns1.56293e+062477856.308
124FromBinaryShape/nested / msgpackns90351.2342242.640
125FromBinaryBuffer/ubjson_optimized / canadans8.36221e+062.82594e+062.959
126JsonPointerContains/citm_catalogns2.71985e+061.23844e+062.196
127FromMsgpack/small_signed_intsns6.27969e+073.33815e+071.881
128DestroyOnly/twitterns4017723225431.246
129FromBinaryShape/containers / msgpackns1.37471e+073.71417e+063.701
130FromBinaryShape/scalars / msgpackns2.40944e+079.77821e+062.464
131ToCbor/citm_catalogns1.02089e+062575293.964
132GetVectorInt/signed_intsns8.04308e+063.35704e+062.396
133Accept/twitterns2.45943e+064584465.365
134Iterate/canadans8614553204742.688
135ToCbor/unsigned_intsns7.98977e+062.75684e+062.898
136FromBinaryShape/scalars / bjdatans2.43317e+071.12007e+072.172
137BinaryToCbor/2048ns332.826114.0842.917
138BinaryToCbor/512ns291.31692.80393.139
139FlattenOrdered/twitterns4.92534e+0785150057.843
140Copy/citm_catalogns1.61348e+061.44942e+061.113
141FromBinaryShape/containers / ubjsonns1.40981e+076.87399e+062.051
142BinaryToCbor/1024ns304.11995.86433.172
143FromBinaryBuffer/ubjson / twitterns3.12147e+069628223.242
144Dump/signed_ints / -ns2.34455e+071.61521e+071.452
145FromBinaryShape/scalars / cborns2.54779e+079.63099e+062.645
146FromBinaryBuffer/cbor / signed_intsns3.57449e+071.2803e+072.792
147CopyOnly/citm_catalogns7348527838260.938
148Dump/unsigned_ints / -ns2.3437e+071.6565e+071.415
149Accept/unsigned_intsns1.14173e+082.74092e+074.165
150FromMsgpack/canadans1.42472e+074.37022e+063.260
151ParseStringOrdered/twitterns4.32143e+069107174.745
152Dump/twitter / -ns1.38581e+062076206.675
153BinaryToCbor/64ns250.50681.57933.071
154JsonPointerParse/twitterns2.40825e+069792562.459
155GetMap/citm_catalogns3.41415e+062.37109e+061.440
156ToJsonStrings/movens5.83899e+063.02241e+061.932
157FromBinaryBuffer/ubjson / jeopardyns3.67059e+081.15063e+083.190
158FromBinaryShape/nested / ubjsonns96068.637753.52.545
159FromBinaryBuffer/bjdata / twitterns3.11851e+069630223.238
160FromBinaryShape/nested / cborns93124.834434.72.704
161ParseFile/citm_catalogns7.62707e+062.39694e+063.182
162FromBinaryFile/ubjson / twitterns1.04355e+071.90842e+065.468
163Dump/citm_catalog / 4ns1.92608e+064161054.629
164CopyAssign/canadans3.68545e+062.87633e+061.281
165Unflatten/citm_catalogns9.65545e+063.47021e+062.782
166FromBinaryBuffer/bjdata_optimized / twitterns3.14359e+069671493.250
167FromBinaryBuffer/cbor / floatsns2.88404e+078.22731e+063.505
168Equal/citm_catalogns2640182543671.038
169FromBinaryShape/containers / cborns1.38356e+073.8445e+063.599
170Flatten/citm_catalogns6.43708e+062.96328e+062.172
171FromMsgpack/twitterns9.69832e+061.46011e+066.642
172FromBinaryBuffer/bson / citm_catalogns3.86353e+061.73584e+062.226
173FromBinaryBuffer/msgpack / canadans8.21458e+062.2769e+063.608
174GetArray<std::array<int, 1000>>ns2228.17630.2253.536
175SaxParse/twitterns2.4729e+064724475.234
176ParseString/canadans1.50552e+074.35028e+063.461
177ParseFile/canadans1.79247e+076.11532e+062.931
178ParseFile/unsigned_intsns1.22099e+084.40082e+072.774
179FromCborChunkedString/10000 chunksns89638.181306.21.102
180FromBinaryShape/nested / bsonns10217846148.52.214
181ParseIndented/citm_catalog / 4ns7.27956e+061.75204e+064.155
182Dump/unsigned_ints / 4ns3.15101e+071.7373e+071.814
183FromBinaryBuffer/bjdata_optimized / canadans8.52567e+062.93164e+062.908