The suite (Appendix B, the short-version table, the overview and distribution
figures) and the timeline endpoint now measure develop d20c4dcd89 with #5964
and #5908 merged. The geometric mean stays 2.9x (2.95); Dump/signed_ints and
Dump/unsigned_ints gain 1.5x and 2.1x from #5964; GetVectorDouble/floats drops
from 10.3x to 7.0x because the old candidate's suite binary happened to compile
that loop faster (a standalone build takes 0.97 ms with both headers).
The timeline endpoint is the 10-27 value scaled by the ratio of the new to the
old candidate, both measured on 10-30, so that it stays comparable with the
other points of the timeline.
Signed-off-by: Niels Lohmann <mail@nlohmann.me>
184 lines
9.7 KiB
CSV
184 lines
9.7 KiB
CSV
benchmark,unit,3.12.0,3.13.0,speedup
|
|
FromBinaryBuffer/bson / twitter,ns,3.20265e+06,1.01993e+06,3.140
|
|
ParseStringOrdered/jeopardy,ns,3.70568e+08,1.14254e+08,3.243
|
|
JsonPointerToString/twitter,ns,2.23197e+06,820138,2.721
|
|
BinaryToCbor/8192,ns,520.964,261.625,1.991
|
|
FromMsgpack/unsigned_ints,ns,5.69725e+07,2.80231e+07,2.033
|
|
JsonPointerAt/twitter,ns,802316,609192,1.317
|
|
CopyOnly/twitter,ns,420973,412550,1.020
|
|
FlattenOrdered/citm_catalog,ns,2.56599e+08,1.43012e+06,179.425
|
|
FromBinaryFile/ubjson / canada,ns,1.39411e+07,6.49692e+06,2.146
|
|
FromBinaryShape/containers / bjdata,ns,1.43419e+07,7.40687e+06,1.936
|
|
ParseIndented/jeopardy / 4,ns,3.41862e+08,1.33413e+08,2.562
|
|
FromMsgpack/signed_ints,ns,6.35213e+07,3.30421e+07,1.922
|
|
FromBinaryShape/containers / bson,ns,1.70519e+07,1.00034e+07,1.705
|
|
BinaryToCbor/128,ns,254.611,116.411,2.187
|
|
FromBinaryBuffer/cbor / jeopardy,ns,3.69767e+08,1.19253e+08,3.101
|
|
ParseFile/jeopardy,ns,3.34742e+08,1.63435e+08,2.048
|
|
FromMsgpack/jeopardy,ns,1.149e+09,1.87355e+08,6.133
|
|
FromBinaryFile/cbor / twitter,ns,1.01844e+07,1.59657e+06,6.379
|
|
ToCbor/floats,ns,8.95826e+06,1.90206e+06,4.710
|
|
ParseFile/small_signed_ints,ns,6.45414e+07,3.24039e+07,1.992
|
|
FromBinaryBuffer/msgpack / twitter,ns,3.12989e+06,955605,3.275
|
|
BinaryToCbor/16384,ns,957.164,409.694,2.336
|
|
FromBinaryFile/bson / twitter,ns,1.05564e+07,1.83313e+06,5.759
|
|
ParseString/twitter,ns,3.26395e+06,1.06141e+06,3.075
|
|
Unflatten/twitter,ns,4.7901e+06,2.16809e+06,2.209
|
|
BinaryToCbor/8,ns,250.617,48.9987,5.115
|
|
BinaryToCbor/16,ns,247.56,49.275,5.024
|
|
Dump/small_signed_ints / 4,ns,2.52497e+07,8.83973e+06,2.856
|
|
ParseString/jeopardy,ns,3.075e+08,1.31952e+08,2.330
|
|
Dump/signed_ints / 4,ns,3.23205e+07,1.14372e+07,2.826
|
|
Flatten/twitter,ns,3.63682e+06,2.08612e+06,1.743
|
|
FromBinaryBuffer/cbor / twitter,ns,3.15556e+06,982723,3.211
|
|
Dump/jeopardy / 4,ns,2.23755e+08,3.58432e+07,6.243
|
|
SaxParse/citm_catalog,ns,6.48562e+06,996471,6.509
|
|
JsonPointerAt/citm_catalog,ns,1.86838e+06,1.17763e+06,1.587
|
|
DestroyOnly/citm_catalog,ns,896147,687189,1.304
|
|
FromBinaryShape/scalars / ubjson,ns,2.51063e+07,1.16857e+07,2.148
|
|
Unflatten/canada,ns,4.23131e+07,1.09708e+07,3.857
|
|
ParseString/floats,ns,1.20329e+08,3.11796e+07,3.859
|
|
ParseIndented/canada / 4,ns,3.44028e+07,5.15746e+06,6.670
|
|
ParseString/signed_ints,ns,1.21464e+08,3.24369e+07,3.745
|
|
ParseFile/signed_ints,ns,1.26509e+08,4.77756e+07,2.648
|
|
JsonPointerContains/twitter,ns,1.32359e+06,626164,2.114
|
|
Dump/floats / 4,ns,7.2051e+07,2.47002e+07,2.917
|
|
Dump/floats / -,ns,6.40617e+07,2.40284e+07,2.666
|
|
ToCbor/canada,ns,1.40569e+06,563628,2.494
|
|
FromBinaryBuffer/bson / canada,ns,9.59257e+06,5.45604e+06,1.758
|
|
ToCbor/twitter,ns,645140,144838,4.454
|
|
ParseIndented/twitter / 4,ns,3.66555e+06,1.1496e+06,3.189
|
|
Iterate/citm_catalog,ns,304057,186693,1.629
|
|
FromBinaryBuffer/bjdata / canada,ns,8.44949e+06,4.18085e+06,2.021
|
|
ParseStreamValues/ndjson,ns,7.13248e+06,3.74646e+06,1.904
|
|
Diff/twitter,ns,4.9487e+06,655350,7.551
|
|
Dump/citm_catalog / -,ns,1.41491e+06,296958,4.765
|
|
FromBinaryShape/nested / bjdata,ns,97444.8,39017.8,2.497
|
|
ToJsonStrings/copy,ns,6.02335e+06,5.76289e+06,1.045
|
|
Dump/canada / 4,ns,9.0251e+06,3.05796e+06,2.951
|
|
CopyRing/twitter,ns,923459,836502,1.104
|
|
FromBinaryBuffer/cbor / citm_catalog,ns,3.83804e+06,1.48497e+06,2.585
|
|
FromBinaryFile/bjdata / twitter,ns,1.07571e+07,1.97984e+06,5.433
|
|
FromBinaryShape/containers / ubjson_optimized,ns,1.51034e+07,4.91673e+06,3.072
|
|
FromMsgpack/citm_catalog,ns,9.2234e+06,2.31697e+06,3.981
|
|
CopyOnly/canada,ns,1.57914e+06,1.55103e+06,1.018
|
|
Equal/canada,ns,469788,342475,1.372
|
|
Diff/citm_catalog,ns,7.13383e+06,1.10739e+06,6.442
|
|
ParseStringOrdered/canada,ns,1.54143e+07,4.44693e+06,3.466
|
|
Flatten/canada,ns,2.92397e+07,1.13461e+07,2.577
|
|
Accept/canada,ns,1.28601e+07,2.33328e+06,5.512
|
|
CopyAssign/twitter,ns,886807,758771,1.169
|
|
BinaryToCbor/4096,ns,408.287,177.133,2.305
|
|
ParseFILE/citm_catalog,ns,3.554e+07,7.57816e+06,4.690
|
|
ToCbor/signed_ints,ns,1.13842e+07,2.82539e+06,4.029
|
|
Patch/canada,ns,1.03856e+07,3.44306e+06,3.016
|
|
GetArray<std::vector<int>>,ns,6775.31,675.66,10.028
|
|
Dump/canada / -,ns,6.83829e+06,2.34599e+06,2.915
|
|
GetVectorDouble/floats,ns,6.79501e+06,976472,6.959
|
|
Accept/citm_catalog,ns,6.46161e+06,933820,6.920
|
|
ParseFILE/twitter,ns,1.39242e+07,3.37101e+06,4.131
|
|
FromBinaryBuffer/msgpack / jeopardy,ns,3.62314e+08,1.12333e+08,3.225
|
|
ParseFile/floats,ns,1.29093e+08,5.07947e+07,2.541
|
|
Accept/small_signed_ints,ns,5.70115e+07,1.92594e+07,2.960
|
|
Accept/jeopardy,ns,2.18621e+08,6.48811e+07,3.370
|
|
Accept/signed_ints,ns,1.17114e+08,2.90352e+07,4.034
|
|
CopyRing/canada,ns,3.85335e+06,2.97856e+06,1.294
|
|
Patch/twitter,ns,1.54075e+06,870596,1.770
|
|
Iterate/twitter,ns,87674.1,61938.2,1.416
|
|
ParseFile/twitter,ns,3.45242e+06,1.4135e+06,2.442
|
|
GetArray<std::deque<int>>,ns,8218.06,1184.36,6.939
|
|
FromBinaryBuffer/cbor / canada,ns,8.49597e+06,2.34162e+06,3.628
|
|
Equal/twitter,ns,144862,130449,1.110
|
|
ParseStreamValues/numbers,ns,1.91254e+06,380019,5.033
|
|
Dump/small_signed_ints / -,ns,1.79973e+07,8.03116e+06,2.241
|
|
JsonPointerToString/citm_catalog,ns,6.73543e+06,1.94403e+06,3.465
|
|
Copy/twitter,ns,817423,747760,1.093
|
|
Diff/canada,ns,3.94496e+07,3.76295e+06,10.484
|
|
FromBinaryBuffer/ubjson_optimized / twitter,ns,3.21798e+06,976128,3.297
|
|
BinaryToCbor/32,ns,257.519,50.0744,5.143
|
|
GetArray<std::set<int>>,ns,59334.9,41926.5,1.415
|
|
CopyAssign/citm_catalog,ns,1.74826e+06,1.58974e+06,1.100
|
|
ToCbor/jeopardy,ns,7.37854e+07,2.23113e+07,3.307
|
|
CopyRing/citm_catalog,ns,1.82401e+06,1.5913e+06,1.146
|
|
FromBinaryBuffer/ubjson / canada,ns,8.42613e+06,4.2011e+06,2.006
|
|
ToCbor/small_signed_ints,ns,1.03308e+07,2.45559e+06,4.207
|
|
DestroyOnly/canada,ns,2.19064e+06,1.40424e+06,1.560
|
|
FromBinaryBuffer/ubjson / citm_catalog,ns,3.94636e+06,1.77126e+06,2.228
|
|
Dump/jeopardy / -,ns,2.0472e+08,3.20386e+07,6.390
|
|
FromBinaryBuffer/msgpack / citm_catalog,ns,3.83422e+06,1.44289e+06,2.657
|
|
ParseStringOrdered/citm_catalog,ns,1.13087e+07,1.6737e+06,6.757
|
|
ParseString/unsigned_ints,ns,1.19395e+08,3.09133e+07,3.862
|
|
Patch/citm_catalog,ns,2.64909e+06,1.68738e+06,1.570
|
|
SaxParse/canada,ns,1.30153e+07,3.28081e+06,3.967
|
|
ParseString/citm_catalog,ns,7.42082e+06,1.77268e+06,4.186
|
|
FromBinaryFile/cbor / canada,ns,1.45988e+07,4.52323e+06,3.228
|
|
BinaryToCbor/256,ns,271.407,91.5071,2.966
|
|
ParseFILE/canada,ns,5.33064e+07,1.43382e+07,3.718
|
|
BinaryToCbor/32768,ns,1549.96,819.172,1.892
|
|
Accept/floats,ns,1.14306e+08,2.47177e+07,4.624
|
|
FromMsgpack/floats,ns,6.06523e+07,2.81624e+07,2.154
|
|
ParseString/small_signed_ints,ns,6.20261e+07,2.25358e+07,2.752
|
|
JsonPointerParse/citm_catalog,ns,5.82111e+06,2.2258e+06,2.615
|
|
Copy/canada,ns,3.76091e+06,2.89932e+06,1.297
|
|
Dump/twitter / 4,ns,1.622e+06,252594,6.421
|
|
FromBinaryShape/nested / msgpack,ns,94122.7,35186.9,2.675
|
|
FromBinaryBuffer/ubjson_optimized / canada,ns,8.64985e+06,2.85754e+06,3.027
|
|
JsonPointerContains/citm_catalog,ns,2.77749e+06,1.26131e+06,2.202
|
|
FromMsgpack/small_signed_ints,ns,6.40964e+07,3.42736e+07,1.870
|
|
DestroyOnly/twitter,ns,415737,326784,1.272
|
|
FromBinaryShape/containers / msgpack,ns,1.42568e+07,3.89814e+06,3.657
|
|
FromBinaryShape/scalars / msgpack,ns,2.4908e+07,1.05741e+07,2.356
|
|
ToCbor/citm_catalog,ns,1.04281e+06,260809,3.998
|
|
GetVectorInt/signed_ints,ns,8.20129e+06,3.48162e+06,2.356
|
|
Accept/twitter,ns,2.49861e+06,475874,5.251
|
|
Iterate/canada,ns,886750,314350,2.821
|
|
ToCbor/unsigned_ints,ns,8.05242e+06,2.80275e+06,2.873
|
|
FromBinaryShape/scalars / bjdata,ns,2.49885e+07,1.16227e+07,2.150
|
|
BinaryToCbor/2048,ns,331.702,126.762,2.617
|
|
BinaryToCbor/512,ns,287.238,102.34,2.807
|
|
FlattenOrdered/twitter,ns,5.11231e+07,877575,58.255
|
|
Copy/citm_catalog,ns,1.66893e+06,1.50237e+06,1.111
|
|
FromBinaryShape/containers / ubjson,ns,1.44781e+07,7.34134e+06,1.972
|
|
BinaryToCbor/1024,ns,294.38,106.974,2.752
|
|
FromBinaryBuffer/ubjson / twitter,ns,3.27965e+06,973396,3.369
|
|
Dump/signed_ints / -,ns,2.3995e+07,1.07412e+07,2.234
|
|
FromBinaryShape/scalars / cbor,ns,2.59955e+07,9.92397e+06,2.619
|
|
FromBinaryBuffer/cbor / signed_ints,ns,3.6394e+07,1.32489e+07,2.747
|
|
CopyOnly/citm_catalog,ns,773309,805343,0.960
|
|
Dump/unsigned_ints / -,ns,2.37018e+07,8.11504e+06,2.921
|
|
Accept/unsigned_ints,ns,1.16121e+08,2.82332e+07,4.113
|
|
FromMsgpack/canada,ns,1.45399e+07,4.55571e+06,3.192
|
|
ParseStringOrdered/twitter,ns,4.522e+06,920414,4.913
|
|
Dump/twitter / -,ns,1.4183e+06,210619,6.734
|
|
BinaryToCbor/64,ns,256.225,82.8609,3.092
|
|
JsonPointerParse/twitter,ns,2.48884e+06,1.01455e+06,2.453
|
|
GetMap/citm_catalog,ns,3.52983e+06,2.42484e+06,1.456
|
|
ToJsonStrings/move,ns,6.05077e+06,3.12298e+06,1.938
|
|
FromBinaryBuffer/ubjson / jeopardy,ns,3.73253e+08,1.17316e+08,3.182
|
|
FromBinaryShape/nested / ubjson,ns,98047.3,38860.2,2.523
|
|
FromBinaryBuffer/bjdata / twitter,ns,3.27193e+06,973613,3.361
|
|
FromBinaryShape/nested / cbor,ns,94082.1,35427.1,2.656
|
|
ParseFile/citm_catalog,ns,7.97956e+06,2.49852e+06,3.194
|
|
FromBinaryFile/ubjson / twitter,ns,1.07792e+07,1.96519e+06,5.485
|
|
Dump/citm_catalog / 4,ns,1.96876e+06,421277,4.673
|
|
CopyAssign/canada,ns,3.82927e+06,3.00436e+06,1.275
|
|
Unflatten/citm_catalog,ns,1.00575e+07,3.55051e+06,2.833
|
|
FromBinaryBuffer/bjdata_optimized / twitter,ns,3.21663e+06,972271,3.308
|
|
FromBinaryBuffer/cbor / floats,ns,2.94008e+07,8.37306e+06,3.511
|
|
Equal/citm_catalog,ns,277722,260273,1.067
|
|
FromBinaryShape/containers / cbor,ns,1.43595e+07,4.00487e+06,3.585
|
|
Flatten/citm_catalog,ns,6.65353e+06,3.02263e+06,2.201
|
|
FromMsgpack/twitter,ns,1.01696e+07,1.51935e+06,6.693
|
|
FromBinaryBuffer/bson / citm_catalog,ns,4.00639e+06,1.77129e+06,2.262
|
|
FromBinaryBuffer/msgpack / canada,ns,8.59297e+06,2.37267e+06,3.622
|
|
"GetArray<std::array<int, 1000>>",ns,2267.99,647.261,3.504
|
|
SaxParse/twitter,ns,2.51436e+06,478188,5.258
|
|
ParseString/canada,ns,1.52394e+07,4.50457e+06,3.383
|
|
ParseFile/canada,ns,1.7916e+07,6.38308e+06,2.807
|
|
ParseFile/unsigned_ints,ns,1.23238e+08,4.54686e+07,2.710
|
|
FromCborChunkedString/10000 chunks,ns,91163.3,82651.6,1.103
|
|
FromBinaryShape/nested / bson,ns,103727,47568.2,2.181
|
|
ParseIndented/citm_catalog / 4,ns,7.41873e+06,1.78703e+06,4.151
|
|
Dump/unsigned_ints / 4,ns,3.1907e+07,8.51588e+06,3.747
|
|
FromBinaryBuffer/bjdata_optimized / canada,ns,8.84399e+06,2.9307e+06,3.018
|