docs: measure the 3.13.0 post against develop with #5964 and #5908

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>
This commit is contained in:
Niels Lohmann committed 2026-10-30 17:33:12 +01:00
1 parent 9abc88f9cc
commit 5cbec344fe
13 files changed
+466 -463

No files matched your search

@@ -4,7 +4,9 @@
<!-- Before publishing: set the date to the release date, and measure every number of this post again with the
v3.13.0 tag (Appendix G describes the setup; tests/benchmarks/json_view/others/README.md has the commands of the
comparison). Also refresh the line counts and the compile times in "The price". The numbers below are from the release candidate. -->
comparison). Also refresh the line counts and the compile times in "The price". The numbers below are from the release candidate: develop d20c4dcd89 with #5964 and #5908 merged (suite and
timeline endpoint rerun 10-30; the comparison with other libraries was measured with the same code for these
paths, except #5964's integer writing). -->
Since 2016, the [README](https://github.com/nlohmann/json#readme) of this library has said this about speed:
@@ -58,9 +60,9 @@ The rows above are chosen to show the range. All 182 benchmarks of the suite:
--8<-- "images/perf_blog_distribution.svg"
</div>
<p class="nj-caption" markdown>How many of the suite's 182 benchmarks got how much faster. The two below 1× are copying a document without destroying it. Every row is in [Appendix B](#b-3120-against-3130).</p>
<p class="nj-caption" markdown>How many of the suite's 182 benchmarks got how much faster. The one below 1× is copying `citm_catalog.json` without destroying the copy. Every row is in [Appendix B](#b-3120-against-3130).</p>
Half of the benchmarks got at least 2.9× as fast. Copying and comparing values gained the least, and the largest
The median benchmark got 2.9× as fast. Copying and comparing values gained the least, and the largest
gains come from fixing algorithms rather than tuning them (theme <a class="nj-theme" href="#theme-7" title="theme 7">7</a>).
Eight themes did most of the work:
@@ -1437,24 +1439,24 @@ The rows of the first chart:
| workload | 3.12.0 | 3.13.0 | speedup |
| --- | --: | --: | --: |
| `json::parse()` of `twitter.json` | 3.16 ms | 1.05 ms | 3.0× |
| `json::parse()` of `citm_catalog.json` | 7.20 ms | 1.75 ms | 4.1× |
| `json::parse()` of `canada.json` | 15.1 ms | 4.35 ms | 3.5× |
| `json::parse()` of `canada.json`, indented by 4 spaces | 33.8 ms | 5.02 ms | 6.7× |
| `ordered_json::parse()` of `citm_catalog.json` | 10.8 ms | 1.64 ms | 6.6× |
| `json::parse()` of `twitter.json` from an `std::ifstream` | 3.34 ms | 1.35 ms | 2.5× |
| `json::parse()` of `citm_catalog.json` from a `FILE*` | 34.6 ms | 7.26 ms | 4.8× |
| `json::accept()` of `citm_catalog.json` | 6.36 ms | 0.91 ms | 7.0× |
| `dump()` of `twitter.json` | 1.39 ms | 0.208 ms | 6.7× |
| `dump()` of `canada.json` | 6.63 ms | 2.25 ms | 2.9× |
| `dump(4)` of `citm_catalog.json` | 1.93 ms | 0.416 ms | 4.6× |
| `to_cbor()` of `twitter.json` | 0.638 ms | 0.142 ms | 4.5× |
| `from_cbor()` of `twitter.json` from memory | 3.00 ms | 0.965 ms | 3.1× |
| `from_cbor()` of `twitter.json` from a `FILE*` | 9.71 ms | 1.54 ms | 6.3× |
| `diff()` of `canada.json` with every eighth scalar changed | 38.3 ms | 3.67 ms | 10.4× |
| iterating over every value of `canada.json` | 0.861 ms | 0.320 ms | 2.7× |
| copying `citm_catalog.json` and destroying the copy | 1.61 ms | 1.45 ms | 1.11× |
| `==` of `citm_catalog.json` and a copy | 0.264 ms | 0.254 ms | 1.04× |
| `json::parse()` of `twitter.json` | 3.26 ms | 1.06 ms | 3.1× |
| `json::parse()` of `citm_catalog.json` | 7.42 ms | 1.77 ms | 4.2× |
| `json::parse()` of `canada.json` | 15.2 ms | 4.5 ms | 3.4× |
| `json::parse()` of `canada.json`, indented by 4 spaces | 34.4 ms | 5.16 ms | 6.7× |
| `ordered_json::parse()` of `citm_catalog.json` | 11.3 ms | 1.67 ms | 6.8× |
| `json::parse()` of `twitter.json` from an `std::ifstream` | 3.45 ms | 1.41 ms | 2.4× |
| `json::parse()` of `citm_catalog.json` from a `FILE*` | 35.5 ms | 7.58 ms | 4.7× |
| `json::accept()` of `citm_catalog.json` | 6.46 ms | 0.934 ms | 6.9× |
| `dump()` of `twitter.json` | 1.42 ms | 0.211 ms | 6.7× |
| `dump()` of `canada.json` | 6.84 ms | 2.35 ms | 2.9× |
| `dump(4)` of `citm_catalog.json` | 1.97 ms | 0.421 ms | 4.7× |
| `to_cbor()` of `twitter.json` | 0.645 ms | 0.145 ms | 4.5× |
| `from_cbor()` of `twitter.json` from memory | 3.16 ms | 0.983 ms | 3.2× |
| `from_cbor()` of `twitter.json` from a `FILE*` | 10.2 ms | 1.60 ms | 6.4× |
| `diff()` of `canada.json` with every eighth scalar changed | 39.4 ms | 3.76 ms | 10.5× |
| iterating over every value of `canada.json` | 0.887 ms | 0.314 ms | 2.8× |
| copying `citm_catalog.json` and destroying the copy | 1.67 ms | 1.50 ms | 1.11× |
| `==` of `citm_catalog.json` and a copy | 0.278 ms | 0.260 ms | 1.07× |
<p class="nj-table-caption" markdown>Time per call with 3.12.0 and 3.13.0, Google Benchmark suite on an Apple M1 Max, median of 8 runs; the speedup is the old time divided by the new one. The parse rows do not include destroying the result (the suite pauses the timer for that).</p>
@@ -1462,188 +1464,188 @@ The rows of the first chart:
| benchmark | 3.12.0 | 3.13.0 | speedup |
| --- | --: | --: | --: |
| `Accept/canada` | 12.7 ms | 2.26 ms | 5.61× |
| `Accept/citm_catalog` | 6.36 ms | 909 µs | 6.99× |
| `Accept/floats` | 113 ms | 24 ms | 4.72× |
| `Accept/jeopardy` | 220 ms | 63.5 ms | 3.47× |
| `Accept/signed_ints` | 115 ms | 28.5 ms | 4.04× |
| `Accept/small_signed_ints` | 55.8 ms | 18.9 ms | 2.96× |
| `Accept/twitter` | 2.46 ms | 458 µs | 5.36× |
| `Accept/unsigned_ints` | 114 ms | 27.4 ms | 4.17× |
| `BinaryToCbor/1024` | 304 ns | 95.9 ns | 3.17× |
| `BinaryToCbor/128` | 247 ns | 110 ns | 2.24× |
| `BinaryToCbor/16384` | 947 ns | 408 ns | 2.32× |
| `BinaryToCbor/16` | 238 ns | 46.5 ns | 5.13× |
| `BinaryToCbor/2048` | 333 ns | 114 ns | 2.92× |
| `BinaryToCbor/256` | 270 ns | 86.3 ns | 3.12× |
| `BinaryToCbor/32768` | 1.54 µs | 807 ns | 1.91× |
| `BinaryToCbor/32` | 252 ns | 47.3 ns | 5.32× |
| `BinaryToCbor/4096` | 402 ns | 159 ns | 2.53× |
| `BinaryToCbor/512` | 291 ns | 92.8 ns | 3.14× |
| `BinaryToCbor/64` | 251 ns | 81.6 ns | 3.07× |
| `BinaryToCbor/8192` | 511 ns | 239 ns | 2.14× |
| `BinaryToCbor/8` | 243 ns | 46.6 ns | 5.21× |
| `Copy/canada` | 3.64 ms | 2.83 ms | 1.29× |
| `Copy/citm_catalog` | 1.61 ms | 1.45 ms | 1.11× |
| `Copy/twitter` | 797 µs | 722 µs | 1.10× |
| `CopyAssign/canada` | 3.69 ms | 2.88 ms | 1.28× |
| `CopyAssign/citm_catalog` | 1.67 ms | 1.48 ms | 1.13× |
| `CopyAssign/twitter` | 805 µs | 735 µs | 1.09× |
| `CopyOnly/canada` | 1.53 ms | 1.5 ms | 1.03× |
| `CopyOnly/citm_catalog` | 735 µs | 784 µs | 0.94× |
| `CopyOnly/twitter` | 394 µs | 399 µs | 0.99× |
| `CopyRing/canada` | 3.69 ms | 2.89 ms | 1.28× |
| `CopyRing/citm_catalog` | 1.7 ms | 1.51 ms | 1.13× |
| `CopyRing/twitter` | 855 µs | 767 µs | 1.12× |
| `DestroyOnly/canada` | 2.14 ms | 1.37 ms | 1.56× |
| `DestroyOnly/citm_catalog` | 874 µs | 664 µs | 1.32× |
| `DestroyOnly/twitter` | 402 µs | 323 µs | 1.25× |
| `Diff/canada` | 38.3 ms | 3.67 ms | 10.4× |
| `Diff/citm_catalog` | 6.74 ms | 1.07 ms | 6.29× |
| `Diff/twitter` | 4.79 ms | 636 µs | 7.54× |
| `Dump/canada / -` | 6.63 ms | 2.25 ms | 2.95× |
| `Dump/canada / 4` | 8.9 ms | 2.99 ms | 2.97× |
| `Dump/citm_catalog / -` | 1.38 ms | 291 µs | 4.74× |
| `Dump/citm_catalog / 4` | 1.93 ms | 416 µs | 4.63× |
| `Dump/floats / -` | 62.8 ms | 23.3 ms | 2.69× |
| `Dump/floats / 4` | 71.1 ms | 24.1 ms | 2.95× |
| `Dump/jeopardy / -` | 201 ms | 30.4 ms | 6.62× |
| `Dump/jeopardy / 4` | 219 ms | 34.4 ms | 6.37× |
| `Dump/signed_ints / -` | 23.4 ms | 16.2 ms | 1.45× |
| `Dump/signed_ints / 4` | 31.8 ms | 16.8 ms | 1.89× |
| `Dump/small_signed_ints / -` | 17.8 ms | 7.87 ms | 2.27× |
| `Dump/small_signed_ints / 4` | 25 ms | 8.63 ms | 2.90× |
| `Dump/twitter / -` | 1.39 ms | 208 µs | 6.67× |
| `Dump/twitter / 4` | 1.56 ms | 248 µs | 6.31× |
| `Dump/unsigned_ints / -` | 23.4 ms | 16.6 ms | 1.41× |
| `Dump/unsigned_ints / 4` | 31.5 ms | 17.4 ms | 1.81× |
| `Equal/canada` | 454 µs | 333 µs | 1.36× |
| `Equal/citm_catalog` | 264 µs | 254 µs | 1.04× |
| `Equal/twitter` | 141 µs | 126 µs | 1.12× |
| `Flatten/canada` | 28.2 ms | 11.1 ms | 2.53× |
| `Flatten/citm_catalog` | 6.44 ms | 2.96 ms | 2.17× |
| `Flatten/twitter` | 3.49 ms | 2.01 ms | 1.74× |
| `FlattenOrdered/citm_catalog` | 253 ms | 1.37 ms | 184× |
| `FlattenOrdered/twitter` | 49.3 ms | 851 µs | 57.8× |
| `FromBinaryBuffer/bjdata / canada` | 8.08 ms | 4.17 ms | 1.94× |
| `FromBinaryBuffer/bjdata / twitter` | 3.12 ms | 963 µs | 3.24× |
| `FromBinaryBuffer/bjdata_optimized / canada` | 8.53 ms | 2.93 ms | 2.91× |
| `FromBinaryBuffer/bjdata_optimized / twitter` | 3.14 ms | 967 µs | 3.25× |
| `FromBinaryBuffer/bson / canada` | 9.21 ms | 5.51 ms | 1.67× |
| `FromBinaryBuffer/bson / citm_catalog` | 3.86 ms | 1.74 ms | 2.23× |
| `FromBinaryBuffer/bson / twitter` | 3.07 ms | 998 µs | 3.08× |
| `FromBinaryBuffer/cbor / canada` | 8.2 ms | 2.31 ms | 3.55× |
| `FromBinaryBuffer/cbor / citm_catalog` | 3.7 ms | 1.46 ms | 2.53× |
| `FromBinaryBuffer/cbor / floats` | 28.8 ms | 8.23 ms | 3.51× |
| `FromBinaryBuffer/cbor / jeopardy` | 352 ms | 116 ms | 3.04× |
| `FromBinaryBuffer/cbor / signed_ints` | 35.7 ms | 12.8 ms | 2.79× |
| `FromBinaryBuffer/cbor / twitter` | 3 ms | 965 µs | 3.11× |
| `FromBinaryBuffer/msgpack / canada` | 8.21 ms | 2.28 ms | 3.61× |
| `FromBinaryBuffer/msgpack / citm_catalog` | 3.7 ms | 1.42 ms | 2.60× |
| `FromBinaryBuffer/msgpack / jeopardy` | 354 ms | 110 ms | 3.22× |
| `FromBinaryBuffer/msgpack / twitter` | 3.02 ms | 938 µs | 3.22× |
| `FromBinaryBuffer/ubjson / canada` | 8.14 ms | 4.16 ms | 1.96× |
| `FromBinaryBuffer/ubjson / citm_catalog` | 3.81 ms | 1.74 ms | 2.20× |
| `FromBinaryBuffer/ubjson / jeopardy` | 367 ms | 115 ms | 3.19× |
| `FromBinaryBuffer/ubjson / twitter` | 3.12 ms | 963 µs | 3.24× |
| `FromBinaryBuffer/ubjson_optimized / canada` | 8.36 ms | 2.83 ms | 2.96× |
| `FromBinaryBuffer/ubjson_optimized / twitter` | 3.13 ms | 960 µs | 3.26× |
| `FromBinaryFile/bjdata / twitter` | 10.3 ms | 1.9 ms | 5.39× |
| `FromBinaryFile/bson / twitter` | 9.98 ms | 1.78 ms | 5.60× |
| `FromBinaryFile/cbor / canada` | 14.2 ms | 4.38 ms | 3.24× |
| `FromBinaryFile/cbor / twitter` | 9.71 ms | 1.54 ms | 6.31× |
| `FromBinaryFile/ubjson / canada` | 13.4 ms | 6.2 ms | 2.16× |
| `FromBinaryFile/ubjson / twitter` | 10.4 ms | 1.91 ms | 5.47× |
| `FromBinaryShape/containers / bjdata` | 14.1 ms | 7.05 ms | 2.01× |
| `FromBinaryShape/containers / bson` | 17 ms | 9.81 ms | 1.73× |
| `FromBinaryShape/containers / cbor` | 13.8 ms | 3.84 ms | 3.60× |
| `FromBinaryShape/containers / msgpack` | 13.7 ms | 3.71 ms | 3.70× |
| `FromBinaryShape/containers / ubjson_optimized` | 14.7 ms | 4.8 ms | 3.07× |
| `FromBinaryShape/containers / ubjson` | 14.1 ms | 6.87 ms | 2.05× |
| `FromBinaryShape/nested / bjdata` | 96 µs | 37.9 µs | 2.53× |
| `FromBinaryShape/nested / bson` | 102 µs | 46.1 µs | 2.21× |
| `FromBinaryShape/nested / cbor` | 93.1 µs | 34.4 µs | 2.70× |
| `FromBinaryShape/nested / msgpack` | 90.4 µs | 34.2 µs | 2.64× |
| `FromBinaryShape/nested / ubjson` | 96.1 µs | 37.8 µs | 2.54× |
| `FromBinaryShape/scalars / bjdata` | 24.3 ms | 11.2 ms | 2.17× |
| `FromBinaryShape/scalars / cbor` | 25.5 ms | 9.63 ms | 2.65× |
| `FromBinaryShape/scalars / msgpack` | 24.1 ms | 9.78 ms | 2.46× |
| `FromBinaryShape/scalars / ubjson` | 24.7 ms | 11.4 ms | 2.17× |
| `FromCborChunkedString/10000 chunks` | 89.6 µs | 81.3 µs | 1.10× |
| `FromMsgpack/canada` | 14.2 ms | 4.37 ms | 3.26× |
| `FromMsgpack/citm_catalog` | 8.86 ms | 2.25 ms | 3.94× |
| `FromMsgpack/floats` | 59.3 ms | 27.2 ms | 2.18× |
| `FromMsgpack/jeopardy` | 1,120 ms | 181 ms | 6.17× |
| `FromMsgpack/signed_ints` | 62 ms | 31.9 ms | 1.94× |
| `FromMsgpack/small_signed_ints` | 62.8 ms | 33.4 ms | 1.88× |
| `FromMsgpack/twitter` | 9.7 ms | 1.46 ms | 6.64× |
| `FromMsgpack/unsigned_ints` | 55.1 ms | 27.2 ms | 2.02× |
| `GetArray<std::array<int, 1000>>` | 2.23 µs | 630 ns | 3.54× |
| `GetArray<std::deque<int>>` | 8.11 µs | 1.16 µs | 7.02× |
| `GetArray<std::set<int>>` | 58.1 µs | 40.9 µs | 1.42× |
| `GetArray<std::vector<int>>` | 6.59 µs | 655 ns | 10.1× |
| `GetMap/citm_catalog` | 3.41 ms | 2.37 ms | 1.44× |
| `GetVectorDouble/floats` | 6.62 ms | 641 µs | 10.3× |
| `GetVectorInt/signed_ints` | 8.04 ms | 3.36 ms | 2.40× |
| `Iterate/canada` | 861 µs | 320 µs | 2.69× |
| `Iterate/citm_catalog` | 298 µs | 167 µs | 1.78× |
| `Iterate/twitter` | 87.1 µs | 61.8 µs | 1.41× |
| `JsonPointerAt/citm_catalog` | 1.81 ms | 1.11 ms | 1.63× |
| `JsonPointerAt/twitter` | 780 µs | 585 µs | 1.33× |
| `JsonPointerContains/citm_catalog` | 2.72 ms | 1.24 ms | 2.20× |
| `JsonPointerContains/twitter` | 1.28 ms | 606 µs | 2.11× |
| `JsonPointerParse/citm_catalog` | 5.65 ms | 2.17 ms | 2.60× |
| `JsonPointerParse/twitter` | 2.41 ms | 979 µs | 2.46× |
| `JsonPointerToString/citm_catalog` | 6.64 ms | 1.87 ms | 3.55× |
| `JsonPointerToString/twitter` | 2.17 ms | 794 µs | 2.73× |
| `ParseFILE/canada` | 52.2 ms | 13.9 ms | 3.76× |
| `ParseFILE/citm_catalog` | 34.6 ms | 7.26 ms | 4.76× |
| `ParseFILE/twitter` | 13.6 ms | 3.28 ms | 4.14× |
| `ParseFile/canada` | 17.9 ms | 6.12 ms | 2.93× |
| `ParseFile/citm_catalog` | 7.63 ms | 2.4 ms | 3.18× |
| `ParseFile/floats` | 131 ms | 48.9 ms | 2.69× |
| `ParseFile/jeopardy` | 327 ms | 157 ms | 2.08× |
| `ParseFile/signed_ints` | 125 ms | 46.2 ms | 2.70× |
| `ParseFile/small_signed_ints` | 63.1 ms | 31.4 ms | 2.01× |
| `ParseFile/twitter` | 3.34 ms | 1.35 ms | 2.46× |
| `ParseFile/unsigned_ints` | 122 ms | 44 ms | 2.77× |
| `ParseIndented/canada / 4` | 33.8 ms | 5.02 ms | 6.74× |
| `ParseIndented/citm_catalog / 4` | 7.28 ms | 1.75 ms | 4.15× |
| `ParseIndented/jeopardy / 4` | 334 ms | 131 ms | 2.54× |
| `ParseIndented/twitter / 4` | 3.58 ms | 1.11 ms | 3.24× |
| `ParseStreamValues/ndjson` | 6.96 ms | 3.73 ms | 1.87× |
| `ParseStreamValues/numbers` | 1.87 ms | 371 µs | 5.04× |
| `ParseString/canada` | 15.1 ms | 4.35 ms | 3.46× |
| `ParseString/citm_catalog` | 7.2 ms | 1.75 ms | 4.13× |
| `ParseString/floats` | 119 ms | 30.2 ms | 3.93× |
| `ParseString/jeopardy` | 305 ms | 130 ms | 2.35× |
| `ParseString/signed_ints` | 120 ms | 31.4 ms | 3.80× |
| `ParseString/small_signed_ints` | 60.5 ms | 21.9 ms | 2.77× |
| `ParseString/twitter` | 3.16 ms | 1.05 ms | 3.02× |
| `ParseString/unsigned_ints` | 118 ms | 30.3 ms | 3.90× |
| `ParseStringOrdered/canada` | 15 ms | 4.29 ms | 3.49× |
| `ParseStringOrdered/citm_catalog` | 10.8 ms | 1.64 ms | 6.58× |
| `ParseStringOrdered/jeopardy` | 356 ms | 111 ms | 3.21× |
| `ParseStringOrdered/twitter` | 4.32 ms | 911 µs | 4.75× |
| `Patch/canada` | 9.81 ms | 3.36 ms | 2.92× |
| `Patch/citm_catalog` | 2.49 ms | 1.61 ms | 1.55× |
| `Patch/twitter` | 1.45 ms | 849 µs | 1.71× |
| `SaxParse/canada` | 12.8 ms | 3.22 ms | 3.99× |
| `SaxParse/citm_catalog` | 6.34 ms | 970 µs | 6.54× |
| `SaxParse/twitter` | 2.47 ms | 472 µs | 5.23× |
| `ToCbor/canada` | 1.37 ms | 546 µs | 2.51× |
| `ToCbor/citm_catalog` | 1.02 ms | 258 µs | 3.96× |
| `ToCbor/floats` | 8.85 ms | 1.88 ms | 4.69× |
| `ToCbor/jeopardy` | 71.6 ms | 21.1 ms | 3.39× |
| `ToCbor/signed_ints` | 11.3 ms | 2.77 ms | 4.09× |
| `ToCbor/small_signed_ints` | 10.2 ms | 2.39 ms | 4.28× |
| `ToCbor/twitter` | 638 µs | 142 µs | 4.50× |
| `ToCbor/unsigned_ints` | 7.99 ms | 2.76 ms | 2.90× |
| `ToJsonStrings/copy` | 5.83 ms | 5.54 ms | 1.05× |
| `ToJsonStrings/move` | 5.84 ms | 3.02 ms | 1.93× |
| `Unflatten/canada` | 40.5 ms | 10.7 ms | 3.76× |
| `Unflatten/citm_catalog` | 9.66 ms | 3.47 ms | 2.78× |
| `Unflatten/twitter` | 4.48 ms | 2.11 ms | 2.12× |
| `Accept/canada` | 12.9 ms | 2.33 ms | 5.51× |
| `Accept/citm_catalog` | 6.46 ms | 934 µs | 6.92× |
| `Accept/floats` | 114 ms | 24.7 ms | 4.62× |
| `Accept/jeopardy` | 219 ms | 64.9 ms | 3.37× |
| `Accept/signed_ints` | 117 ms | 29 ms | 4.03× |
| `Accept/small_signed_ints` | 57 ms | 19.3 ms | 2.96× |
| `Accept/twitter` | 2.5 ms | 476 µs | 5.25× |
| `Accept/unsigned_ints` | 116 ms | 28.2 ms | 4.11× |
| `BinaryToCbor/1024` | 294 ns | 107 ns | 2.75× |
| `BinaryToCbor/128` | 255 ns | 116 ns | 2.19× |
| `BinaryToCbor/16384` | 957 ns | 410 ns | 2.34× |
| `BinaryToCbor/16` | 248 ns | 49.3 ns | 5.02× |
| `BinaryToCbor/2048` | 332 ns | 127 ns | 2.62× |
| `BinaryToCbor/256` | 271 ns | 91.5 ns | 2.97× |
| `BinaryToCbor/32768` | 1.55 µs | 819 ns | 1.89× |
| `BinaryToCbor/32` | 258 ns | 50.1 ns | 5.14× |
| `BinaryToCbor/4096` | 408 ns | 177 ns | 2.30× |
| `BinaryToCbor/512` | 287 ns | 102 ns | 2.81× |
| `BinaryToCbor/64` | 256 ns | 82.9 ns | 3.09× |
| `BinaryToCbor/8192` | 521 ns | 262 ns | 1.99× |
| `BinaryToCbor/8` | 251 ns | 49 ns | 5.11× |
| `Copy/canada` | 3.76 ms | 2.9 ms | 1.30× |
| `Copy/citm_catalog` | 1.67 ms | 1.50 ms | 1.11× |
| `Copy/twitter` | 817 µs | 748 µs | 1.09× |
| `CopyAssign/canada` | 3.83 ms | 3 ms | 1.27× |
| `CopyAssign/citm_catalog` | 1.75 ms | 1.59 ms | 1.10× |
| `CopyAssign/twitter` | 887 µs | 759 µs | 1.17× |
| `CopyOnly/canada` | 1.58 ms | 1.55 ms | 1.02× |
| `CopyOnly/citm_catalog` | 773 µs | 805 µs | 0.96× |
| `CopyOnly/twitter` | 421 µs | 413 µs | 1.02× |
| `CopyRing/canada` | 3.85 ms | 2.98 ms | 1.29× |
| `CopyRing/citm_catalog` | 1.82 ms | 1.59 ms | 1.15× |
| `CopyRing/twitter` | 923 µs | 837 µs | 1.10× |
| `DestroyOnly/canada` | 2.19 ms | 1.4 ms | 1.56× |
| `DestroyOnly/citm_catalog` | 896 µs | 687 µs | 1.30× |
| `DestroyOnly/twitter` | 416 µs | 327 µs | 1.27× |
| `Diff/canada` | 39.4 ms | 3.76 ms | 10.5× |
| `Diff/citm_catalog` | 7.13 ms | 1.11 ms | 6.44× |
| `Diff/twitter` | 4.95 ms | 655 µs | 7.55× |
| `Dump/canada / -` | 6.84 ms | 2.35 ms | 2.91× |
| `Dump/canada / 4` | 9.03 ms | 3.06 ms | 2.95× |
| `Dump/citm_catalog / -` | 1.41 ms | 297 µs | 4.76× |
| `Dump/citm_catalog / 4` | 1.97 ms | 421 µs | 4.67× |
| `Dump/floats / -` | 64.1 ms | 24 ms | 2.67× |
| `Dump/floats / 4` | 72.1 ms | 24.7 ms | 2.92× |
| `Dump/jeopardy / -` | 205 ms | 32 ms | 6.39× |
| `Dump/jeopardy / 4` | 224 ms | 35.8 ms | 6.24× |
| `Dump/signed_ints / -` | 24 ms | 10.7 ms | 2.23× |
| `Dump/signed_ints / 4` | 32.3 ms | 11.4 ms | 2.83× |
| `Dump/small_signed_ints / -` | 18 ms | 8.03 ms | 2.24× |
| `Dump/small_signed_ints / 4` | 25.2 ms | 8.84 ms | 2.86× |
| `Dump/twitter / -` | 1.42 ms | 211 µs | 6.73× |
| `Dump/twitter / 4` | 1.62 ms | 253 µs | 6.42× |
| `Dump/unsigned_ints / -` | 23.7 ms | 8.12 ms | 2.92× |
| `Dump/unsigned_ints / 4` | 31.9 ms | 8.52 ms | 3.75× |
| `Equal/canada` | 470 µs | 342 µs | 1.37× |
| `Equal/citm_catalog` | 278 µs | 260 µs | 1.07× |
| `Equal/twitter` | 145 µs | 130 µs | 1.11× |
| `Flatten/canada` | 29.2 ms | 11.3 ms | 2.58× |
| `Flatten/citm_catalog` | 6.65 ms | 3.02 ms | 2.20× |
| `Flatten/twitter` | 3.64 ms | 2.09 ms | 1.74× |
| `FlattenOrdered/citm_catalog` | 257 ms | 1.43 ms | 179× |
| `FlattenOrdered/twitter` | 51.1 ms | 878 µs | 58.3× |
| `FromBinaryBuffer/bjdata / canada` | 8.45 ms | 4.18 ms | 2.02× |
| `FromBinaryBuffer/bjdata / twitter` | 3.27 ms | 974 µs | 3.36× |
| `FromBinaryBuffer/bjdata_optimized / canada` | 8.84 ms | 2.93 ms | 3.02× |
| `FromBinaryBuffer/bjdata_optimized / twitter` | 3.22 ms | 972 µs | 3.31× |
| `FromBinaryBuffer/bson / canada` | 9.59 ms | 5.46 ms | 1.76× |
| `FromBinaryBuffer/bson / citm_catalog` | 4.01 ms | 1.77 ms | 2.26× |
| `FromBinaryBuffer/bson / twitter` | 3.2 ms | 1.02 ms | 3.14× |
| `FromBinaryBuffer/cbor / canada` | 8.5 ms | 2.34 ms | 3.63× |
| `FromBinaryBuffer/cbor / citm_catalog` | 3.84 ms | 1.48 ms | 2.58× |
| `FromBinaryBuffer/cbor / floats` | 29.4 ms | 8.37 ms | 3.51× |
| `FromBinaryBuffer/cbor / jeopardy` | 370 ms | 119 ms | 3.10× |
| `FromBinaryBuffer/cbor / signed_ints` | 36.4 ms | 13.2 ms | 2.75× |
| `FromBinaryBuffer/cbor / twitter` | 3.16 ms | 983 µs | 3.21× |
| `FromBinaryBuffer/msgpack / canada` | 8.59 ms | 2.37 ms | 3.62× |
| `FromBinaryBuffer/msgpack / citm_catalog` | 3.83 ms | 1.44 ms | 2.66× |
| `FromBinaryBuffer/msgpack / jeopardy` | 362 ms | 112 ms | 3.23× |
| `FromBinaryBuffer/msgpack / twitter` | 3.13 ms | 956 µs | 3.28× |
| `FromBinaryBuffer/ubjson / canada` | 8.43 ms | 4.2 ms | 2.01× |
| `FromBinaryBuffer/ubjson / citm_catalog` | 3.95 ms | 1.77 ms | 2.23× |
| `FromBinaryBuffer/ubjson / jeopardy` | 373 ms | 117 ms | 3.18× |
| `FromBinaryBuffer/ubjson / twitter` | 3.28 ms | 973 µs | 3.37× |
| `FromBinaryBuffer/ubjson_optimized / canada` | 8.65 ms | 2.86 ms | 3.03× |
| `FromBinaryBuffer/ubjson_optimized / twitter` | 3.22 ms | 976 µs | 3.30× |
| `FromBinaryFile/bjdata / twitter` | 10.8 ms | 1.98 ms | 5.43× |
| `FromBinaryFile/bson / twitter` | 10.6 ms | 1.83 ms | 5.76× |
| `FromBinaryFile/cbor / canada` | 14.6 ms | 4.52 ms | 3.23× |
| `FromBinaryFile/cbor / twitter` | 10.2 ms | 1.6 ms | 6.38× |
| `FromBinaryFile/ubjson / canada` | 13.9 ms | 6.5 ms | 2.15× |
| `FromBinaryFile/ubjson / twitter` | 10.8 ms | 1.97 ms | 5.49× |
| `FromBinaryShape/containers / bjdata` | 14.3 ms | 7.41 ms | 1.94× |
| `FromBinaryShape/containers / bson` | 17.1 ms | 10 ms | 1.70× |
| `FromBinaryShape/containers / cbor` | 14.4 ms | 4 ms | 3.59× |
| `FromBinaryShape/containers / msgpack` | 14.3 ms | 3.9 ms | 3.66× |
| `FromBinaryShape/containers / ubjson_optimized` | 15.1 ms | 4.92 ms | 3.07× |
| `FromBinaryShape/containers / ubjson` | 14.5 ms | 7.34 ms | 1.97× |
| `FromBinaryShape/nested / bjdata` | 97.4 µs | 39 µs | 2.50× |
| `FromBinaryShape/nested / bson` | 104 µs | 47.6 µs | 2.18× |
| `FromBinaryShape/nested / cbor` | 94.1 µs | 35.4 µs | 2.66× |
| `FromBinaryShape/nested / msgpack` | 94.1 µs | 35.2 µs | 2.67× |
| `FromBinaryShape/nested / ubjson` | 98 µs | 38.9 µs | 2.52× |
| `FromBinaryShape/scalars / bjdata` | 25 ms | 11.6 ms | 2.15× |
| `FromBinaryShape/scalars / cbor` | 26 ms | 9.92 ms | 2.62× |
| `FromBinaryShape/scalars / msgpack` | 24.9 ms | 10.6 ms | 2.36× |
| `FromBinaryShape/scalars / ubjson` | 25.1 ms | 11.7 ms | 2.15× |
| `FromCborChunkedString/10000 chunks` | 91.2 µs | 82.7 µs | 1.10× |
| `FromMsgpack/canada` | 14.5 ms | 4.56 ms | 3.19× |
| `FromMsgpack/citm_catalog` | 9.22 ms | 2.32 ms | 3.98× |
| `FromMsgpack/floats` | 60.7 ms | 28.2 ms | 2.15× |
| `FromMsgpack/jeopardy` | 1,150 ms | 187 ms | 6.13× |
| `FromMsgpack/signed_ints` | 63.5 ms | 33 ms | 1.92× |
| `FromMsgpack/small_signed_ints` | 64.1 ms | 34.3 ms | 1.87× |
| `FromMsgpack/twitter` | 10.2 ms | 1.52 ms | 6.69× |
| `FromMsgpack/unsigned_ints` | 57 ms | 28 ms | 2.03× |
| `GetArray<std::array<int, 1000>>` | 2.27 µs | 647 ns | 3.50× |
| `GetArray<std::deque<int>>` | 8.22 µs | 1.18 µs | 6.94× |
| `GetArray<std::set<int>>` | 59.3 µs | 41.9 µs | 1.42× |
| `GetArray<std::vector<int>>` | 6.78 µs | 676 ns | 10× |
| `GetMap/citm_catalog` | 3.53 ms | 2.42 ms | 1.46× |
| `GetVectorDouble/floats` | 6.8 ms | 976 µs | 6.96× |
| `GetVectorInt/signed_ints` | 8.2 ms | 3.48 ms | 2.36× |
| `Iterate/canada` | 887 µs | 314 µs | 2.82× |
| `Iterate/citm_catalog` | 304 µs | 187 µs | 1.63× |
| `Iterate/twitter` | 87.7 µs | 61.9 µs | 1.42× |
| `JsonPointerAt/citm_catalog` | 1.87 ms | 1.18 ms | 1.59× |
| `JsonPointerAt/twitter` | 802 µs | 609 µs | 1.32× |
| `JsonPointerContains/citm_catalog` | 2.78 ms | 1.26 ms | 2.20× |
| `JsonPointerContains/twitter` | 1.32 ms | 626 µs | 2.11× |
| `JsonPointerParse/citm_catalog` | 5.82 ms | 2.23 ms | 2.62× |
| `JsonPointerParse/twitter` | 2.49 ms | 1.01 ms | 2.45× |
| `JsonPointerToString/citm_catalog` | 6.74 ms | 1.94 ms | 3.46× |
| `JsonPointerToString/twitter` | 2.23 ms | 820 µs | 2.72× |
| `ParseFILE/canada` | 53.3 ms | 14.3 ms | 3.72× |
| `ParseFILE/citm_catalog` | 35.5 ms | 7.58 ms | 4.69× |
| `ParseFILE/twitter` | 13.9 ms | 3.37 ms | 4.13× |
| `ParseFile/canada` | 17.9 ms | 6.38 ms | 2.81× |
| `ParseFile/citm_catalog` | 7.98 ms | 2.5 ms | 3.19× |
| `ParseFile/floats` | 129 ms | 50.8 ms | 2.54× |
| `ParseFile/jeopardy` | 335 ms | 163 ms | 2.05× |
| `ParseFile/signed_ints` | 127 ms | 47.8 ms | 2.65× |
| `ParseFile/small_signed_ints` | 64.5 ms | 32.4 ms | 1.99× |
| `ParseFile/twitter` | 3.45 ms | 1.41 ms | 2.44× |
| `ParseFile/unsigned_ints` | 123 ms | 45.5 ms | 2.71× |
| `ParseIndented/canada / 4` | 34.4 ms | 5.16 ms | 6.67× |
| `ParseIndented/citm_catalog / 4` | 7.42 ms | 1.79 ms | 4.15× |
| `ParseIndented/jeopardy / 4` | 342 ms | 133 ms | 2.56× |
| `ParseIndented/twitter / 4` | 3.67 ms | 1.15 ms | 3.19× |
| `ParseStreamValues/ndjson` | 7.13 ms | 3.75 ms | 1.90× |
| `ParseStreamValues/numbers` | 1.91 ms | 380 µs | 5.03× |
| `ParseString/canada` | 15.2 ms | 4.5 ms | 3.38× |
| `ParseString/citm_catalog` | 7.42 ms | 1.77 ms | 4.19× |
| `ParseString/floats` | 120 ms | 31.2 ms | 3.86× |
| `ParseString/jeopardy` | 307 ms | 132 ms | 2.33× |
| `ParseString/signed_ints` | 121 ms | 32.4 ms | 3.74× |
| `ParseString/small_signed_ints` | 62 ms | 22.5 ms | 2.75× |
| `ParseString/twitter` | 3.26 ms | 1.06 ms | 3.08× |
| `ParseString/unsigned_ints` | 119 ms | 30.9 ms | 3.86× |
| `ParseStringOrdered/canada` | 15.4 ms | 4.45 ms | 3.47× |
| `ParseStringOrdered/citm_catalog` | 11.3 ms | 1.67 ms | 6.76× |
| `ParseStringOrdered/jeopardy` | 371 ms | 114 ms | 3.24× |
| `ParseStringOrdered/twitter` | 4.52 ms | 920 µs | 4.91× |
| `Patch/canada` | 10.4 ms | 3.44 ms | 3.02× |
| `Patch/citm_catalog` | 2.65 ms | 1.69 ms | 1.57× |
| `Patch/twitter` | 1.54 ms | 871 µs | 1.77× |
| `SaxParse/canada` | 13 ms | 3.28 ms | 3.97× |
| `SaxParse/citm_catalog` | 6.49 ms | 996 µs | 6.51× |
| `SaxParse/twitter` | 2.51 ms | 478 µs | 5.26× |
| `ToCbor/canada` | 1.41 ms | 564 µs | 2.49× |
| `ToCbor/citm_catalog` | 1.04 ms | 261 µs | 4.00× |
| `ToCbor/floats` | 8.96 ms | 1.9 ms | 4.71× |
| `ToCbor/jeopardy` | 73.8 ms | 22.3 ms | 3.31× |
| `ToCbor/signed_ints` | 11.4 ms | 2.83 ms | 4.03× |
| `ToCbor/small_signed_ints` | 10.3 ms | 2.46 ms | 4.21× |
| `ToCbor/twitter` | 645 µs | 145 µs | 4.45× |
| `ToCbor/unsigned_ints` | 8.05 ms | 2.8 ms | 2.87× |
| `ToJsonStrings/copy` | 6.02 ms | 5.76 ms | 1.05× |
| `ToJsonStrings/move` | 6.05 ms | 3.12 ms | 1.94× |
| `Unflatten/canada` | 42.3 ms | 11 ms | 3.86× |
| `Unflatten/citm_catalog` | 10.1 ms | 3.55 ms | 2.83× |
| `Unflatten/twitter` | 4.79 ms | 2.17 ms | 2.21× |
### C. The timeline
@@ -2210,7 +2212,7 @@ removed because 3.12.0 has no BON8.
| compiler | Apple clang 21, libc++ |
| flags | `-O3 -flto -DNDEBUG`, the compiler's default standard, C++14 |
| suite | 2 rounds × 4 repetitions per version, random interleaving, each round started only when the load average was below 4; the median of all 8 |
| noise | the coefficient of variation was 3 % or less for 176 of the 182 rows with 3.12.0 and 178 with 3.13.0; the largest was 12 % |
| noise | the coefficient of variation was 3 % or less for 163 of the 182 rows with 3.12.0 and 161 with 3.13.0; the largest was 13 % |
| inputs | the files of [Appendix A](#a-test-files), and number-heavy files |
<p class="nj-table-caption" markdown>Setup of the Google Benchmark comparison of 3.12.0 and 3.13.0.</p>
@@ -2381,7 +2383,7 @@ measure binary size or memory use.
[#5628][5628]; `json_document` with `ensure_ascii` [#5879][5879]; short strings [#5878][5878], [#5883][5883];
escape table [#5822][5822]; loop shape [#5490][5490].
- <a class="nj-theme" href="#theme-3" title="theme 3">3</a> **Own the number conversions:** Eisel-Lemire [#5617][5617]; long numbers [#5738][5738]; one pass over the
digits [#5851][5851]; Żmij [#5634][5634]; MSVC intrinsics for the 128-bit multiplication [#5782][5782].
digits [#5851][5851]; Żmij [#5634][5634]; long integers in `dump()` [#5964][5964]; MSVC intrinsics for the 128-bit multiplication [#5782][5782].
- <a class="nj-theme" href="#theme-4" title="theme 4">4</a> **Don't do unnecessary work:** float token text [#5852][5852]; token buffer [#5234][5234], [#5828][5828];
positions on error [#5809][5809];
binary readers' copy [#5501][5501]; `ordered_json` growth [#5609][5609]; arrays at their final size
@@ -2560,3 +2562,4 @@ These are the checks behind the themes:
[5908]: https://github.com/nlohmann/json/pull/5908
[5919]: https://github.com/nlohmann/json/pull/5919
[5926]: https://github.com/nlohmann/json/pull/5926
[5964]: https://github.com/nlohmann/json/pull/5964
@@ -1,6 +1,6 @@
<svg class="nj-fig nj-charts nj-charts--blog" viewBox="0 0 560 250" role="img" aria-labelledby="nj-blog-dist nj-blog-dist-d" xmlns="http://www.w3.org/2000/svg">
<title id="nj-blog-dist">Speedup of 3.13.0 over 3.12.0 for all 182 benchmarks of the suite</title>
<desc id="nj-blog-dist-d">Bars counting the benchmarks per speedup range: below 1x: 2; 1 to 1.5x: 23; 1.5 to 2x: 17; 2 to 3x: 57; 3 to 5x: 54; 5 to 10x: 24; 10x or more: 5. Median 2.9x, geometric mean 2.9x.</desc>
<desc id="nj-blog-dist-d">Bars counting the benchmarks per speedup range: below 1x: 1; 1 to 1.5x: 22; 1.5 to 2x: 17; 2 to 3x: 58; 3 to 5x: 55; 5 to 10x: 25; 10x or more: 4. Median 2.9x, geometric mean 2.9x.</desc>
<line class="nj-charts-grid" x1="52" y1="196" x2="548" y2="196"/>
<text class="nj-charts-tick nj-charts-tick--r" x="46" y="200">0</text>
<line class="nj-charts-grid" x1="52" y1="144.571" x2="548" y2="144.571"/>
@@ -9,26 +9,26 @@
<text class="nj-charts-tick nj-charts-tick--r" x="46" y="97.1429">40</text>
<line class="nj-charts-grid" x1="52" y1="41.7143" x2="548" y2="41.7143"/>
<text class="nj-charts-tick nj-charts-tick--r" x="46" y="45.7143">60</text>
<rect class="nj-charts-c2" x="60.0" y="190.9" width="54.9" height="5.1" rx="3"><title>below 1&#215;: 2</title></rect>
<text class="nj-charts-val" x="87.4" y="185.9" text-anchor="middle">2</text>
<rect class="nj-charts-c2" x="60.0" y="193.4" width="54.9" height="2.6" rx="3"><title>below 1&#215;: 1</title></rect>
<text class="nj-charts-val" x="87.4" y="188.4" text-anchor="middle">1</text>
<text class="nj-charts-tick" x="87.4" y="212.0">below 1&#215;</text>
<rect class="nj-charts-c1" x="130.9" y="136.9" width="54.9" height="59.1" rx="3"><title>1 to 1.5&#215;: 23</title></rect>
<text class="nj-charts-val" x="158.3" y="131.9" text-anchor="middle">23</text>
<rect class="nj-charts-c1" x="130.9" y="139.4" width="54.9" height="56.6" rx="3"><title>1 to 1.5&#215;: 22</title></rect>
<text class="nj-charts-val" x="158.3" y="134.4" text-anchor="middle">22</text>
<text class="nj-charts-tick" x="158.3" y="212.0">1 to 1.5&#215;</text>
<rect class="nj-charts-c1" x="201.7" y="152.3" width="54.9" height="43.7" rx="3"><title>1.5 to 2&#215;: 17</title></rect>
<text class="nj-charts-val" x="229.1" y="147.3" text-anchor="middle">17</text>
<text class="nj-charts-tick" x="229.1" y="212.0">1.5 to 2&#215;</text>
<rect class="nj-charts-c1" x="272.6" y="49.4" width="54.9" height="146.6" rx="3"><title>2 to 3&#215;: 57</title></rect>
<text class="nj-charts-val" x="300.0" y="44.4" text-anchor="middle">57</text>
<rect class="nj-charts-c1" x="272.6" y="46.9" width="54.9" height="149.1" rx="3"><title>2 to 3&#215;: 58</title></rect>
<text class="nj-charts-val" x="300.0" y="41.9" text-anchor="middle">58</text>
<text class="nj-charts-tick" x="300.0" y="212.0">2 to 3&#215;</text>
<rect class="nj-charts-c1" x="343.4" y="57.1" width="54.9" height="138.9" rx="3"><title>3 to 5&#215;: 54</title></rect>
<text class="nj-charts-val" x="370.9" y="52.1" text-anchor="middle">54</text>
<rect class="nj-charts-c1" x="343.4" y="54.6" width="54.9" height="141.4" rx="3"><title>3 to 5&#215;: 55</title></rect>
<text class="nj-charts-val" x="370.9" y="49.6" text-anchor="middle">55</text>
<text class="nj-charts-tick" x="370.9" y="212.0">3 to 5&#215;</text>
<rect class="nj-charts-c1" x="414.3" y="134.3" width="54.9" height="61.7" rx="3"><title>5 to 10&#215;: 24</title></rect>
<text class="nj-charts-val" x="441.7" y="129.3" text-anchor="middle">24</text>
<rect class="nj-charts-c1" x="414.3" y="131.7" width="54.9" height="64.3" rx="3"><title>5 to 10&#215;: 25</title></rect>
<text class="nj-charts-val" x="441.7" y="126.7" text-anchor="middle">25</text>
<text class="nj-charts-tick" x="441.7" y="212.0">5 to 10&#215;</text>
<rect class="nj-charts-c1" x="485.1" y="183.1" width="54.9" height="12.9" rx="3"><title>10&#215; or more: 5</title></rect>
<text class="nj-charts-val" x="512.6" y="178.1" text-anchor="middle">5</text>
<rect class="nj-charts-c1" x="485.1" y="185.7" width="54.9" height="10.3" rx="3"><title>10&#215; or more: 4</title></rect>
<text class="nj-charts-val" x="512.6" y="180.7" text-anchor="middle">4</text>
<text class="nj-charts-tick" x="512.6" y="212.0">10&#215; or more</text>
<line class="nj-charts-axis" x1="52" y1="196" x2="548" y2="196"/>
<text class="nj-charts-tick" x="300" y="240">speedup over 3.12.0, more is better</text>

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

+35 -35
View File
@@ -1,6 +1,6 @@
<svg class="nj-fig nj-charts nj-charts--blog" viewBox="0 0 560 604" role="img" aria-labelledby="nj-blog-overview nj-blog-overview-d" xmlns="http://www.w3.org/2000/svg">
<title id="nj-blog-overview">Speedup of 3.13.0 over 3.12.0 per workload, Apple M1 Max, Apple clang</title>
<desc id="nj-blog-overview-d">Horizontal bars of the speedup, more is better. twitter.json 3.0x; citm_catalog.json 4.1x; canada.json 3.5x; canada.json, indented 6.7x; citm, ordered_json 6.6x; twitter, std::ifstream 2.5x; citm, FILE* 4.8x; citm, accept() 7.0x; dump() twitter 6.7x; dump() canada 3.0x; dump(4) citm 4.6x; to_cbor() twitter 4.5x; twitter, memory 3.1x; twitter, FILE* 6.3x; diff() canada 10x; iterate canada 2.7x; copy + destroy citm 1.11x; == citm 1.04x.</desc>
<desc id="nj-blog-overview-d">Horizontal bars of the speedup, more is better. twitter.json 3.1x; citm_catalog.json 4.2x; canada.json 3.4x; canada.json, indented 6.7x; citm, ordered_json 6.8x; twitter, std::ifstream 2.4x; citm, FILE* 4.7x; citm, accept() 6.9x; dump() twitter 6.7x; dump() canada 2.9x; dump(4) citm 4.7x; to_cbor() twitter 4.5x; twitter, memory 3.2x; twitter, FILE* 6.4x; diff() canada 10x; iterate canada 2.8x; copy + destroy citm 1.11x; == citm 1.07x.</desc>
<text class="nj-charts-panel" x="8" y="20">Parsing</text>
<text class="nj-charts-panel" x="8" y="244">Writing</text>
<text class="nj-charts-panel" x="8" y="372">Reading C&#8203;BOR</text>
@@ -28,59 +28,59 @@
<line class="nj-charts-grid" x1="520" y1="8" x2="520" y2="560"/>
<text class="nj-charts-tick" x="520" y="576">11&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="42" text-anchor="end">twitter.json</text>
<path class="nj-charts-c1" d="M190 30 H276.6 Q280.6 30 280.6 34 V41 Q280.6 45 276.6 45 H190 Z"><title>twitter.json: 3.0&#215;</title></path>
<text class="nj-charts-val" x="285.6" y="42">3.0&#215;</text>
<path class="nj-charts-c1" d="M190 30 H278.4 Q282.4 30 282.4 34 V41 Q282.4 45 278.4 45 H190 Z"><title>twitter.json: 3.1&#215;</title></path>
<text class="nj-charts-val" x="287.4" y="42">3.1&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="66" text-anchor="end">citm_catalog.json</text>
<path class="nj-charts-c1" d="M190 54 H309.9 Q313.9 54 313.9 58 V65 Q313.9 69 309.9 69 H190 Z"><title>citm_catalog.json: 4.1&#215;</title></path>
<text class="nj-charts-val" x="318.9" y="66">4.1&#215;</text>
<path class="nj-charts-c1" d="M190 54 H311.7 Q315.7 54 315.7 58 V65 Q315.7 69 311.7 69 H190 Z"><title>citm_catalog.json: 4.2&#215;</title></path>
<text class="nj-charts-val" x="320.7" y="66">4.2&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="90" text-anchor="end">canada.json</text>
<path class="nj-charts-c1" d="M190 78 H289.8 Q293.8 78 293.8 82 V89 Q293.8 93 289.8 93 H190 Z"><title>canada.json: 3.5&#215;</title></path>
<text class="nj-charts-val" x="298.8" y="90">3.5&#215;</text>
<path class="nj-charts-c1" d="M190 78 H287.4 Q291.4 78 291.4 82 V89 Q291.4 93 287.4 93 H190 Z"><title>canada.json: 3.4&#215;</title></path>
<text class="nj-charts-val" x="296.4" y="90">3.4&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="114" text-anchor="end">canada.json, indented</text>
<path class="nj-charts-c1" d="M190 102 H388.2 Q392.2 102 392.2 106 V113 Q392.2 117 388.2 117 H190 Z"><title>canada.json, indented: 6.7&#215;</title></path>
<text class="nj-charts-val" x="397.2" y="114">6.7&#215;</text>
<path class="nj-charts-c1" d="M190 102 H386.1 Q390.1 102 390.1 106 V113 Q390.1 117 386.1 117 H190 Z"><title>canada.json, indented: 6.7&#215;</title></path>
<text class="nj-charts-val" x="395.1" y="114">6.7&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="138" text-anchor="end">citm, ordered_json</text>
<path class="nj-charts-c1" d="M190 126 H383.4 Q387.4 126 387.4 130 V137 Q387.4 141 383.4 141 H190 Z"><title>citm, ordered_json: 6.6&#215;</title></path>
<text class="nj-charts-val" x="392.4" y="138">6.6&#215;</text>
<path class="nj-charts-c1" d="M190 126 H388.8 Q392.8 126 392.8 130 V137 Q392.8 141 388.8 141 H190 Z"><title>citm, ordered_json: 6.8&#215;</title></path>
<text class="nj-charts-val" x="397.8" y="138">6.8&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="162" text-anchor="end">twitter, std::ifstream</text>
<path class="nj-charts-c1" d="M190 150 H259.8 Q263.8 150 263.8 154 V161 Q263.8 165 259.8 165 H190 Z"><title>twitter, std::ifstream: 2.5&#215;</title></path>
<text class="nj-charts-val" x="268.8" y="162">2.5&#215;</text>
<path class="nj-charts-c1" d="M190 150 H259.2 Q263.2 150 263.2 154 V161 Q263.2 165 259.2 165 H190 Z"><title>twitter, std::ifstream: 2.4&#215;</title></path>
<text class="nj-charts-val" x="268.2" y="162">2.4&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="186" text-anchor="end">citm, FILE*</text>
<path class="nj-charts-c1" d="M190 174 H328.8 Q332.8 174 332.8 178 V185 Q332.8 189 328.8 189 H190 Z"><title>citm, FILE*: 4.8&#215;</title></path>
<text class="nj-charts-val" x="337.8" y="186">4.8&#215;</text>
<path class="nj-charts-c1" d="M190 174 H326.7 Q330.7 174 330.7 178 V185 Q330.7 189 326.7 189 H190 Z"><title>citm, FILE*: 4.7&#215;</title></path>
<text class="nj-charts-val" x="335.7" y="186">4.7&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="210" text-anchor="end">citm, accept()</text>
<path class="nj-charts-c1" d="M190 198 H395.7 Q399.7 198 399.7 202 V209 Q399.7 213 395.7 213 H190 Z"><title>citm, accept(): 7.0&#215;</title></path>
<text class="nj-charts-val" x="404.7" y="210">7.0&#215;</text>
<path class="nj-charts-c1" d="M190 198 H393.6 Q397.6 198 397.6 202 V209 Q397.6 213 393.6 213 H190 Z"><title>citm, accept(): 6.9&#215;</title></path>
<text class="nj-charts-val" x="402.6" y="210">6.9&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="266" text-anchor="end">dump() twitter</text>
<path class="nj-charts-c1" d="M190 254 H386.1 Q390.1 254 390.1 258 V265 Q390.1 269 386.1 269 H190 Z"><title>dump() twitter: 6.7&#215;</title></path>
<text class="nj-charts-val" x="395.1" y="266">6.7&#215;</text>
<path class="nj-charts-c1" d="M190 254 H387.9 Q391.9 254 391.9 258 V265 Q391.9 269 387.9 269 H190 Z"><title>dump() twitter: 6.7&#215;</title></path>
<text class="nj-charts-val" x="396.9" y="266">6.7&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="290" text-anchor="end">dump() canada</text>
<path class="nj-charts-c1" d="M190 278 H274.5 Q278.5 278 278.5 282 V289 Q278.5 293 274.5 293 H190 Z"><title>dump() canada: 3.0&#215;</title></path>
<text class="nj-charts-val" x="283.5" y="290">3.0&#215;</text>
<path class="nj-charts-c1" d="M190 278 H273.6 Q277.6 278 277.6 282 V289 Q277.6 293 273.6 293 H190 Z"><title>dump() canada: 2.9&#215;</title></path>
<text class="nj-charts-val" x="282.6" y="290">2.9&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="314" text-anchor="end">dump(4) citm</text>
<path class="nj-charts-c1" d="M190 302 H324.9 Q328.9 302 328.9 306 V313 Q328.9 317 324.9 317 H190 Z"><title>dump(4) citm: 4.6&#215;</title></path>
<text class="nj-charts-val" x="333.9" y="314">4.6&#215;</text>
<path class="nj-charts-c1" d="M190 302 H326.1 Q330.1 302 330.1 306 V313 Q330.1 317 326.1 317 H190 Z"><title>dump(4) citm: 4.7&#215;</title></path>
<text class="nj-charts-val" x="335.1" y="314">4.7&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="338" text-anchor="end">to_cbor() twitter</text>
<path class="nj-charts-c1" d="M190 326 H321 Q325 326 325 330 V337 Q325 341 321 341 H190 Z"><title>to_cbor() twitter: 4.5&#215;</title></path>
<text class="nj-charts-val" x="330" y="338">4.5&#215;</text>
<path class="nj-charts-c1" d="M190 326 H319.5 Q323.5 326 323.5 330 V337 Q323.5 341 319.5 341 H190 Z"><title>to_cbor() twitter: 4.5&#215;</title></path>
<text class="nj-charts-val" x="328.5" y="338">4.5&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="394" text-anchor="end">twitter, memory</text>
<path class="nj-charts-c1" d="M190 382 H279.3 Q283.3 382 283.3 386 V393 Q283.3 397 279.3 397 H190 Z"><title>twitter, memory: 3.1&#215;</title></path>
<text class="nj-charts-val" x="288.3" y="394">3.1&#215;</text>
<path class="nj-charts-c1" d="M190 382 H282.3 Q286.3 382 286.3 386 V393 Q286.3 397 282.3 397 H190 Z"><title>twitter, memory: 3.2&#215;</title></path>
<text class="nj-charts-val" x="291.3" y="394">3.2&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="418" text-anchor="end">twitter, FILE*</text>
<path class="nj-charts-c1" d="M190 406 H375.3 Q379.3 406 379.3 410 V417 Q379.3 421 375.3 421 H190 Z"><title>twitter, FILE*: 6.3&#215;</title></path>
<text class="nj-charts-val" x="384.3" y="418">6.3&#215;</text>
<path class="nj-charts-c1" d="M190 406 H377.4 Q381.4 406 381.4 410 V417 Q381.4 421 377.4 421 H190 Z"><title>twitter, FILE*: 6.4&#215;</title></path>
<text class="nj-charts-val" x="386.4" y="418">6.4&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="474" text-anchor="end">diff() canada</text>
<path class="nj-charts-c1" d="M190 462 H499.2 Q503.2 462 503.2 466 V473 Q503.2 477 499.2 477 H190 Z"><title>diff() canada: 10&#215;</title></path>
<text class="nj-charts-val" x="508.2" y="474">10&#215;</text>
<path class="nj-charts-c1" d="M190 462 H500.4 Q504.4 462 504.4 466 V473 Q504.4 477 500.4 477 H190 Z"><title>diff() canada: 10&#215;</title></path>
<text class="nj-charts-val" x="509.4" y="474">10&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="498" text-anchor="end">iterate canada</text>
<path class="nj-charts-c1" d="M190 486 H266.7 Q270.7 486 270.7 490 V497 Q270.7 501 266.7 501 H190 Z"><title>iterate canada: 2.7&#215;</title></path>
<text class="nj-charts-val" x="275.7" y="498">2.7&#215;</text>
<path class="nj-charts-c1" d="M190 486 H270.6 Q274.6 486 274.6 490 V497 Q274.6 501 270.6 501 H190 Z"><title>iterate canada: 2.8&#215;</title></path>
<text class="nj-charts-val" x="279.6" y="498">2.8&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="522" text-anchor="end">copy + destroy citm</text>
<path class="nj-charts-c1" d="M190 510 H219.3 Q223.3 510 223.3 514 V521 Q223.3 525 219.3 525 H190 Z"><title>copy + destroy citm: 1.11&#215;</title></path>
<text class="nj-charts-val" x="228.3" y="522">1.11&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="546" text-anchor="end">== citm</text>
<path class="nj-charts-c1" d="M190 534 H217.2 Q221.2 534 221.2 538 V545 Q221.2 549 217.2 549 H190 Z"><title>== citm: 1.04&#215;</title></path>
<text class="nj-charts-val" x="226.2" y="546">1.04&#215;</text>
<path class="nj-charts-c1" d="M190 534 H218.1 Q222.1 534 222.1 538 V545 Q222.1 549 218.1 549 H190 Z"><title>== citm: 1.07&#215;</title></path>
<text class="nj-charts-val" x="227.1" y="546">1.07&#215;</text>
<line class="nj-charts-ref" x1="220" y1="8" x2="220" y2="560"/>
<line class="nj-charts-zero" x1="190" y1="8" x2="190" y2="560"/>
<text class="nj-charts-tick" x="355" y="594">speedup over 3.12.0 (3.12.0 = 1&#215;), more is better</text>

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

@@ -1,6 +1,6 @@
<svg class="nj-fig nj-charts nj-charts--timeline" viewBox="0 0 340 270" role="img" aria-labelledby="nj-blog-tl-accept_twitter nj-blog-tl-accept_twitter-d" xmlns="http://www.w3.org/2000/svg">
<title id="nj-blog-tl-accept_twitter">accept() twitter.json: speedup over 3.12.0 by commit</title>
<desc id="nj-blog-tl-accept_twitter-d">accept() twitter.json: speedup over 3.12.0 at each of 317 commits, ending at 5.0x. Labeled steps, by theme: 4, 1, 4, 4, 2, 2.</desc>
<desc id="nj-blog-tl-accept_twitter-d">accept() twitter.json: speedup over 3.12.0 at each of 317 commits, ending at 4.9x. Labeled steps, by theme: 4, 1, 4, 4, 2, 2.</desc>
<text class="nj-charts-panel" x="8" y="18">accept() twitter.json</text>
<line class="nj-charts-grid" x1="44" y1="208" x2="330" y2="208"/>
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="212">1&#215;</text>
@@ -16,7 +16,7 @@
<text class="nj-charts-tick" x="126.361" y="225">Sep 2026</text>
<line class="nj-charts-axis" x1="215.962" y1="208" x2="215.962" y2="212"/>
<text class="nj-charts-tick" x="215.962" y="225">Oct</text>
<polyline class="nj-charts-json" points="44.0,208.0 44.9,208.0 44.9,208.1 45.8,208.1 45.8,207.8 46.7,207.8 46.7,208.0 47.6,208.0 47.6,207.7 48.5,207.7 48.5,207.9 49.4,207.9 49.4,208.0 50.3,208.0 50.3,208.1 51.2,208.1 51.2,208.4 52.1,208.4 52.1,207.1 53.1,207.1 53.1,207.9 54.0,207.9 54.0,208.2 54.9,208.2 54.9,207.9 55.8,207.9 55.8,207.9 56.7,207.9 56.7,207.7 57.6,207.7 57.6,207.9 58.5,207.9 58.5,207.8 59.4,207.8 59.4,207.7 60.3,207.7 60.3,208.2 61.2,208.2 61.2,207.3 62.1,207.3 62.1,208.0 63.0,208.0 63.0,208.0 63.9,208.0 63.9,207.8 64.8,207.8 64.8,207.9 65.7,207.9 65.7,207.9 66.6,207.9 66.6,207.2 67.5,207.2 67.5,207.8 68.4,207.8 68.4,207.6 69.3,207.6 69.3,207.8 70.2,207.8 70.2,207.9 71.2,207.9 71.2,207.9 72.1,207.9 72.1,207.4 73.0,207.4 73.0,207.7 73.9,207.7 73.9,207.6 74.8,207.6 74.8,207.7 75.7,207.7 75.7,208.1 76.6,208.1 76.6,207.8 77.5,207.8 77.5,207.1 78.4,207.1 78.4,207.9 79.3,207.9 79.3,207.1 80.2,207.1 80.2,207.8 81.1,207.8 81.1,207.3 82.0,207.3 82.0,208.1 82.9,208.1 82.9,207.6 83.8,207.6 83.8,207.6 84.7,207.6 84.7,208.1 85.6,208.1 85.6,208.3 86.5,208.3 86.5,207.8 87.4,207.8 87.4,207.7 88.3,207.7 88.3,207.9 89.3,207.9 89.3,207.8 90.2,207.8 90.2,207.5 91.1,207.5 91.1,207.9 92.0,207.9 92.0,207.8 92.9,207.8 92.9,208.0 93.8,208.0 93.8,194.6 94.7,194.6 94.7,195.3 95.6,195.3 95.6,195.6 96.5,195.6 96.5,195.1 97.4,195.1 97.4,195.6 98.3,195.6 98.3,194.6 99.2,194.6 99.2,194.7 100.1,194.7 100.1,195.3 101.0,195.3 101.0,195.1 101.9,195.1 101.9,195.1 102.8,195.1 102.8,195.6 103.7,195.6 103.7,194.6 104.6,194.6 104.6,195.2 105.5,195.2 105.5,195.3 106.4,195.3 106.4,195.6 107.4,195.6 107.4,195.3 108.3,195.3 108.3,195.4 109.2,195.4 109.2,195.2 110.1,195.2 110.1,195.8 111.0,195.8 111.0,195.1 111.9,195.1 111.9,195.3 112.8,195.3 112.8,196.2 113.7,196.2 113.7,195.7 114.6,195.7 114.6,194.5 115.5,194.5 115.5,194.7 116.4,194.7 116.4,195.1 117.3,195.1 117.3,195.6 118.2,195.6 118.2,195.6 119.1,195.6 119.1,195.5 120.0,195.5 120.0,194.6 120.9,194.6 120.9,194.4 121.8,194.4 121.8,195.1 122.7,195.1 122.7,195.4 123.6,195.4 123.6,195.8 124.6,195.8 124.6,194.6 125.5,194.6 125.5,195.0 126.4,195.0 126.4,195.4 127.3,195.4 127.3,195.1 128.2,195.1 128.2,195.5 129.1,195.5 129.1,193.5 130.0,193.5 130.0,194.9 130.9,194.9 130.9,195.1 131.8,195.1 131.8,194.8 132.7,194.8 132.7,194.6 133.6,194.6 133.6,194.7 134.5,194.7 134.5,195.1 135.4,195.1 135.4,195.0 136.3,195.0 136.3,194.7 137.2,194.7 137.2,195.3 138.1,195.3 138.1,194.6 139.0,194.6 139.0,194.7 139.9,194.7 139.9,143.3 140.8,143.3 140.8,143.0 141.7,143.0 141.7,142.2 142.7,142.2 142.7,141.9 143.6,141.9 143.6,143.0 144.5,143.0 144.5,142.6 145.4,142.6 145.4,142.4 146.3,142.4 146.3,142.9 147.2,142.9 147.2,143.1 148.1,143.1 148.1,143.2 149.0,143.2 149.0,142.1 149.9,142.1 149.9,143.1 150.8,143.1 150.8,142.4 151.7,142.4 151.7,143.0 152.6,143.0 152.6,141.8 153.5,141.8 153.5,143.1 154.4,143.1 154.4,141.9 155.3,141.9 155.3,143.1 156.2,143.1 156.2,142.9 157.1,142.9 157.1,142.0 158.0,142.0 158.0,142.5 158.9,142.5 158.9,142.4 159.8,142.4 159.8,143.5 160.8,143.5 160.8,142.9 161.7,142.9 161.7,142.3 162.6,142.3 162.6,143.1 163.5,143.1 163.5,141.9 164.4,141.9 164.4,142.4 165.3,142.4 165.3,141.9 166.2,141.9 166.2,141.8 167.1,141.8 167.1,141.3 168.0,141.3 168.0,142.9 168.9,142.9 168.9,141.2 169.8,141.2 169.8,142.8 170.7,142.8 170.7,142.6 171.6,142.6 171.6,142.3 172.5,142.3 172.5,142.7 173.4,142.7 173.4,142.0 174.3,142.0 174.3,141.5 175.2,141.5 175.2,141.2 176.1,141.2 176.1,141.4 177.0,141.4 177.0,141.9 177.9,141.9 177.9,141.6 178.9,141.6 178.9,141.8 179.8,141.8 179.8,142.0 180.7,142.0 180.7,142.0 181.6,142.0 181.6,141.5 182.5,141.5 182.5,142.4 183.4,142.4 183.4,141.7 184.3,141.7 184.3,142.4 185.2,142.4 185.2,141.9 186.1,141.9 186.1,141.7 187.0,141.7 187.0,141.1 187.9,141.1 187.9,141.5 188.8,141.5 188.8,141.6 189.7,141.6 189.7,141.7 190.6,141.7 190.6,140.3 191.5,140.3 191.5,140.7 192.4,140.7 192.4,140.6 193.3,140.6 193.3,141.0 194.2,141.0 194.2,141.8 195.1,141.8 195.1,141.6 196.1,141.6 196.1,141.5 197.0,141.5 197.0,141.0 197.9,141.0 197.9,141.1 198.8,141.1 198.8,140.7 199.7,140.7 199.7,140.4 200.6,140.4 200.6,142.1 201.5,142.1 201.5,141.7 202.4,141.7 202.4,141.2 203.3,141.2 203.3,141.5 204.2,141.5 204.2,140.4 205.1,140.4 205.1,141.0 206.0,141.0 206.0,141.5 206.9,141.5 206.9,141.2 207.8,141.2 207.8,142.1 208.7,142.1 208.7,140.4 209.6,140.4 209.6,141.1 210.5,141.1 210.5,141.5 211.4,141.5 211.4,140.9 212.3,140.9 212.3,141.7 213.2,141.7 213.2,140.4 214.2,140.4 214.2,141.9 215.1,141.9 215.1,141.1 216.0,141.1 216.0,141.4 216.9,141.4 216.9,140.6 217.8,140.6 217.8,141.4 218.7,141.4 218.7,140.1 219.6,140.1 219.6,141.2 220.5,141.2 220.5,140.8 221.4,140.8 221.4,141.4 222.3,141.4 222.3,141.5 223.2,141.5 223.2,141.2 224.1,141.2 224.1,142.0 225.0,142.0 225.0,142.6 225.9,142.6 225.9,142.3 226.8,142.3 226.8,140.6 227.7,140.6 227.7,140.8 228.6,140.8 228.6,140.9 229.5,140.9 229.5,141.1 230.4,141.1 230.4,141.6 231.3,141.6 231.3,141.0 232.3,141.0 232.3,141.5 233.2,141.5 233.2,141.4 234.1,141.4 234.1,142.0 235.0,142.0 235.0,140.6 235.9Line truncated
<polyline class="nj-charts-json" points="44.0,208.0 44.9,208.0 44.9,208.1 45.8,208.1 45.8,207.8 46.7,207.8 46.7,208.0 47.6,208.0 47.6,207.7 48.5,207.7 48.5,207.9 49.4,207.9 49.4,208.0 50.3,208.0 50.3,208.1 51.2,208.1 51.2,208.4 52.1,208.4 52.1,207.1 53.1,207.1 53.1,207.9 54.0,207.9 54.0,208.2 54.9,208.2 54.9,207.9 55.8,207.9 55.8,207.9 56.7,207.9 56.7,207.7 57.6,207.7 57.6,207.9 58.5,207.9 58.5,207.8 59.4,207.8 59.4,207.7 60.3,207.7 60.3,208.2 61.2,208.2 61.2,207.3 62.1,207.3 62.1,208.0 63.0,208.0 63.0,208.0 63.9,208.0 63.9,207.8 64.8,207.8 64.8,207.9 65.7,207.9 65.7,207.9 66.6,207.9 66.6,207.2 67.5,207.2 67.5,207.8 68.4,207.8 68.4,207.6 69.3,207.6 69.3,207.8 70.2,207.8 70.2,207.9 71.2,207.9 71.2,207.9 72.1,207.9 72.1,207.4 73.0,207.4 73.0,207.7 73.9,207.7 73.9,207.6 74.8,207.6 74.8,207.7 75.7,207.7 75.7,208.1 76.6,208.1 76.6,207.8 77.5,207.8 77.5,207.1 78.4,207.1 78.4,207.9 79.3,207.9 79.3,207.1 80.2,207.1 80.2,207.8 81.1,207.8 81.1,207.3 82.0,207.3 82.0,208.1 82.9,208.1 82.9,207.6 83.8,207.6 83.8,207.6 84.7,207.6 84.7,208.1 85.6,208.1 85.6,208.3 86.5,208.3 86.5,207.8 87.4,207.8 87.4,207.7 88.3,207.7 88.3,207.9 89.3,207.9 89.3,207.8 90.2,207.8 90.2,207.5 91.1,207.5 91.1,207.9 92.0,207.9 92.0,207.8 92.9,207.8 92.9,208.0 93.8,208.0 93.8,194.6 94.7,194.6 94.7,195.3 95.6,195.3 95.6,195.6 96.5,195.6 96.5,195.1 97.4,195.1 97.4,195.6 98.3,195.6 98.3,194.6 99.2,194.6 99.2,194.7 100.1,194.7 100.1,195.3 101.0,195.3 101.0,195.1 101.9,195.1 101.9,195.1 102.8,195.1 102.8,195.6 103.7,195.6 103.7,194.6 104.6,194.6 104.6,195.2 105.5,195.2 105.5,195.3 106.4,195.3 106.4,195.6 107.4,195.6 107.4,195.3 108.3,195.3 108.3,195.4 109.2,195.4 109.2,195.2 110.1,195.2 110.1,195.8 111.0,195.8 111.0,195.1 111.9,195.1 111.9,195.3 112.8,195.3 112.8,196.2 113.7,196.2 113.7,195.7 114.6,195.7 114.6,194.5 115.5,194.5 115.5,194.7 116.4,194.7 116.4,195.1 117.3,195.1 117.3,195.6 118.2,195.6 118.2,195.6 119.1,195.6 119.1,195.5 120.0,195.5 120.0,194.6 120.9,194.6 120.9,194.4 121.8,194.4 121.8,195.1 122.7,195.1 122.7,195.4 123.6,195.4 123.6,195.8 124.6,195.8 124.6,194.6 125.5,194.6 125.5,195.0 126.4,195.0 126.4,195.4 127.3,195.4 127.3,195.1 128.2,195.1 128.2,195.5 129.1,195.5 129.1,193.5 130.0,193.5 130.0,194.9 130.9,194.9 130.9,195.1 131.8,195.1 131.8,194.8 132.7,194.8 132.7,194.6 133.6,194.6 133.6,194.7 134.5,194.7 134.5,195.1 135.4,195.1 135.4,195.0 136.3,195.0 136.3,194.7 137.2,194.7 137.2,195.3 138.1,195.3 138.1,194.6 139.0,194.6 139.0,194.7 139.9,194.7 139.9,143.3 140.8,143.3 140.8,143.0 141.7,143.0 141.7,142.2 142.7,142.2 142.7,141.9 143.6,141.9 143.6,143.0 144.5,143.0 144.5,142.6 145.4,142.6 145.4,142.4 146.3,142.4 146.3,142.9 147.2,142.9 147.2,143.1 148.1,143.1 148.1,143.2 149.0,143.2 149.0,142.1 149.9,142.1 149.9,143.1 150.8,143.1 150.8,142.4 151.7,142.4 151.7,143.0 152.6,143.0 152.6,141.8 153.5,141.8 153.5,143.1 154.4,143.1 154.4,141.9 155.3,141.9 155.3,143.1 156.2,143.1 156.2,142.9 157.1,142.9 157.1,142.0 158.0,142.0 158.0,142.5 158.9,142.5 158.9,142.4 159.8,142.4 159.8,143.5 160.8,143.5 160.8,142.9 161.7,142.9 161.7,142.3 162.6,142.3 162.6,143.1 163.5,143.1 163.5,141.9 164.4,141.9 164.4,142.4 165.3,142.4 165.3,141.9 166.2,141.9 166.2,141.8 167.1,141.8 167.1,141.3 168.0,141.3 168.0,142.9 168.9,142.9 168.9,141.2 169.8,141.2 169.8,142.8 170.7,142.8 170.7,142.6 171.6,142.6 171.6,142.3 172.5,142.3 172.5,142.7 173.4,142.7 173.4,142.0 174.3,142.0 174.3,141.5 175.2,141.5 175.2,141.2 176.1,141.2 176.1,141.4 177.0,141.4 177.0,141.9 177.9,141.9 177.9,141.6 178.9,141.6 178.9,141.8 179.8,141.8 179.8,142.0 180.7,142.0 180.7,142.0 181.6,142.0 181.6,141.5 182.5,141.5 182.5,142.4 183.4,142.4 183.4,141.7 184.3,141.7 184.3,142.4 185.2,142.4 185.2,141.9 186.1,141.9 186.1,141.7 187.0,141.7 187.0,141.1 187.9,141.1 187.9,141.5 188.8,141.5 188.8,141.6 189.7,141.6 189.7,141.7 190.6,141.7 190.6,140.3 191.5,140.3 191.5,140.7 192.4,140.7 192.4,140.6 193.3,140.6 193.3,141.0 194.2,141.0 194.2,141.8 195.1,141.8 195.1,141.6 196.1,141.6 196.1,141.5 197.0,141.5 197.0,141.0 197.9,141.0 197.9,141.1 198.8,141.1 198.8,140.7 199.7,140.7 199.7,140.4 200.6,140.4 200.6,142.1 201.5,142.1 201.5,141.7 202.4,141.7 202.4,141.2 203.3,141.2 203.3,141.5 204.2,141.5 204.2,140.4 205.1,140.4 205.1,141.0 206.0,141.0 206.0,141.5 206.9,141.5 206.9,141.2 207.8,141.2 207.8,142.1 208.7,142.1 208.7,140.4 209.6,140.4 209.6,141.1 210.5,141.1 210.5,141.5 211.4,141.5 211.4,140.9 212.3,140.9 212.3,141.7 213.2,141.7 213.2,140.4 214.2,140.4 214.2,141.9 215.1,141.9 215.1,141.1 216.0,141.1 216.0,141.4 216.9,141.4 216.9,140.6 217.8,140.6 217.8,141.4 218.7,141.4 218.7,140.1 219.6,140.1 219.6,141.2 220.5,141.2 220.5,140.8 221.4,140.8 221.4,141.4 222.3,141.4 222.3,141.5 223.2,141.5 223.2,141.2 224.1,141.2 224.1,142.0 225.0,142.0 225.0,142.6 225.9,142.6 225.9,142.3 226.8,142.3 226.8,140.6 227.7,140.6 227.7,140.8 228.6,140.8 228.6,140.9 229.5,140.9 229.5,141.1 230.4,141.1 230.4,141.6 231.3,141.6 231.3,141.0 232.3,141.0 232.3,141.5 233.2,141.5 233.2,141.4 234.1,141.4 234.1,142.0 235.0,142.0 235.0,140.6 235.9Line truncated
<circle class="nj-charts-json-dot" cx="93.8" cy="194.6" r="3.5"><title>#5234: 1.22&#215;</title></circle>
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="93.8" y1="54.0" x2="93.8" y2="189.6"/>
<circle class="nj-theme-dot" cx="93.8" cy="46.0" r="7.5"/>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

@@ -16,7 +16,7 @@
<text class="nj-charts-tick" x="126.361" y="225">Sep 2026</text>
<line class="nj-charts-axis" x1="215.962" y1="208" x2="215.962" y2="212"/>
<text class="nj-charts-tick" x="215.962" y="225">Oct</text>
<polyline class="nj-charts-json" points="44.0,208.0 44.9,208.0 44.9,208.0 45.8,208.0 45.8,207.2 46.7,207.2 46.7,207.9 47.6,207.9 47.6,206.7 48.5,206.7 48.5,207.5 49.4,207.5 49.4,207.7 50.3,207.7 50.3,207.3 51.2,207.3 51.2,207.9 52.1,207.9 52.1,206.6 53.1,206.6 53.1,207.5 54.0,207.5 54.0,208.0 54.9,208.0 54.9,207.6 55.8,207.6 55.8,207.2 56.7,207.2 56.7,207.5 57.6,207.5 57.6,206.6 58.5,206.6 58.5,207.1 59.4,207.1 59.4,207.1 60.3,207.1 60.3,207.2 61.2,207.2 61.2,206.6 62.1,206.6 62.1,207.5 63.0,207.5 63.0,207.6 63.9,207.6 63.9,207.7 64.8,207.7 64.8,207.2 65.7,207.2 65.7,206.5 66.6,206.5 66.6,206.8 67.5,206.8 67.5,207.1 68.4,207.1 68.4,207.0 69.3,207.0 69.3,207.1 70.2,207.1 70.2,206.7 71.2,206.7 71.2,208.2 72.1,208.2 72.1,207.5 73.0,207.5 73.0,206.6 73.9,206.6 73.9,206.7 74.8,206.7 74.8,206.3 75.7,206.3 75.7,208.4 76.6,208.4 76.6,207.3 77.5,207.3 77.5,206.8 78.4,206.8 78.4,208.0 79.3,208.0 79.3,207.8 80.2,207.8 80.2,207.1 81.1,207.1 81.1,207.5 82.0,207.5 82.0,207.9 82.9,207.9 82.9,206.3 83.8,206.3 83.8,206.8 84.7,206.8 84.7,207.5 85.6,207.5 85.6,208.1 86.5,208.1 86.5,206.6 87.4,206.6 87.4,207.2 88.3,207.2 88.3,207.2 89.3,207.2 89.3,207.4 90.2,207.4 90.2,207.0 91.1,207.0 91.1,206.7 92.0,206.7 92.0,206.5 92.9,206.5 92.9,207.6 93.8,207.6 93.8,207.4 94.7,207.4 94.7,207.2 95.6,207.2 95.6,207.5 96.5,207.5 96.5,207.6 97.4,207.6 97.4,208.0 98.3,208.0 98.3,208.2 99.2,208.2 99.2,206.7 100.1,206.7 100.1,207.4 101.0,207.4 101.0,206.7 101.9,206.7 101.9,206.6 102.8,206.6 102.8,208.0 103.7,208.0 103.7,208.0 104.6,208.0 104.6,206.3 105.5,206.3 105.5,208.3 106.4,208.3 106.4,207.8 107.4,207.8 107.4,207.4 108.3,207.4 108.3,206.3 109.2,206.3 109.2,208.1 110.1,208.1 110.1,207.5 111.0,207.5 111.0,207.4 111.9,207.4 111.9,207.5 112.8,207.5 112.8,207.7 113.7,207.7 113.7,208.0 114.6,208.0 114.6,207.0 115.5,207.0 115.5,207.5 116.4,207.5 116.4,207.2 117.3,207.2 117.3,207.7 118.2,207.7 118.2,207.3 119.1,207.3 119.1,208.0 120.0,208.0 120.0,206.7 120.9,206.7 120.9,206.6 121.8,206.6 121.8,207.2 122.7,207.2 122.7,208.1 123.6,208.1 123.6,208.1 124.6,208.1 124.6,206.7 125.5,206.7 125.5,207.8 126.4,207.8 126.4,207.6 127.3,207.6 127.3,207.4 128.2,207.4 128.2,207.1 129.1,207.1 129.1,207.5 130.0,207.5 130.0,208.8 130.9,208.8 130.9,209.2 131.8,209.2 131.8,208.4 132.7,208.4 132.7,208.3 133.6,208.3 133.6,208.0 134.5,208.0 134.5,209.0 135.4,209.0 135.4,208.5 136.3,208.5 136.3,209.1 137.2,209.1 137.2,209.2 138.1,209.2 138.1,208.6 139.0,208.6 139.0,207.7 139.9,207.7 139.9,207.7 140.8,207.7 140.8,207.5 141.7,207.5 141.7,202.2 142.7,202.2 142.7,202.3 143.6,202.3 143.6,201.7 144.5,201.7 144.5,202.3 145.4,202.3 145.4,201.9 146.3,201.9 146.3,201.2 147.2,201.2 147.2,202.1 148.1,202.1 148.1,202.6 149.0,202.6 149.0,201.5 149.9,201.5 149.9,202.3 150.8,202.3 150.8,202.3 151.7,202.3 151.7,201.7 152.6,201.7 152.6,201.3 153.5,201.3 153.5,202.5 154.4,202.5 154.4,201.1 155.3,201.1 155.3,202.9 156.2,202.9 156.2,202.2 157.1,202.2 157.1,201.7 158.0,201.7 158.0,201.7 158.9,201.7 158.9,201.6 159.8,201.6 159.8,203.0 160.8,203.0 160.8,202.7 161.7,202.7 161.7,202.4 162.6,202.4 162.6,202.8 163.5,202.8 163.5,202.1 164.4,202.1 164.4,203.1 165.3,203.1 165.3,202.3 166.2,202.3 166.2,202.3 167.1,202.3 167.1,201.8 168.0,201.8 168.0,203.1 168.9,203.1 168.9,201.8 169.8,201.8 169.8,202.6 170.7,202.6 170.7,202.6 171.6,202.6 171.6,202.9 172.5,202.9 172.5,202.3 173.4,202.3 173.4,202.3 174.3,202.3 174.3,201.6 175.2,201.6 175.2,201.5 176.1,201.5 176.1,202.4 177.0,202.4 177.0,201.7 177.9,201.7 177.9,201.2 178.9,201.2 178.9,202.2 179.8,202.2 179.8,201.6 180.7,201.6 180.7,201.6 181.6,201.6 181.6,201.8 182.5,201.8 182.5,202.1 183.4,202.1 183.4,201.7 184.3,201.7 184.3,201.4 185.2,201.4 185.2,202.2 186.1,202.2 186.1,202.7 187.0,202.7 187.0,202.4 187.9,202.4 187.9,201.7 188.8,201.7 188.8,201.7 189.7,201.7 189.7,202.3 190.6,202.3 190.6,201.6 191.5,201.6 191.5,201.7 192.4,201.7 192.4,202.2 193.3,202.2 193.3,202.2 194.2,202.2 194.2,202.4 195.1,202.4 195.1,201.7 196.1,201.7 196.1,202.1 197.0,202.1 197.0,201.6 197.9,201.6 197.9,202.2 198.8,202.2 198.8,201.9 199.7,201.9 199.7,201.9 200.6,201.9 200.6,202.5 201.5,202.5 201.5,201.6 202.4,201.6 202.4,202.1 203.3,202.1 203.3,202.3 204.2,202.3 204.2,201.8 205.1,201.8 205.1,201.5 206.0,201.5 206.0,202.3 206.9,202.3 206.9,202.2 207.8,202.2 207.8,202.9 208.7,202.9 208.7,201.3 209.6,201.3 209.6,202.2 210.5,202.2 210.5,203.6 211.4,203.6 211.4,201.9 212.3,201.9 212.3,202.4 213.2,202.4 213.2,201.7 214.2,201.7 214.2,202.7 215.1,202.7 215.1,202.3 216.0,202.3 216.0,202.5 216.9,202.5 216.9,202.1 217.8,202.1 217.8,203.4 218.7,203.4 218.7,202.1 219.6,202.1 219.6,202.3 220.5,202.3 220.5,201.9 221.4,201.9 221.4,202.3 222.3,202.3 222.3,201.7 223.2,201.7 223.2,202.4 224.1,202.4 224.1,202.3 225.0,202.3 225.0,202.9 225.9,202.9 225.9,202.9 226.8,202.9 226.8,202.2 227.7,202.2 227.7,202.4 228.6,202.4 228.6,202.2 229.5,202.2 229.5,202.7 230.4,202.7 230.4,202.5 231.3,202.5 231.3,202.5 232.3,202.5 232.3,201.5 233.2,201.5 233.2,203.1 234.1,203.1 234.1,203.2 235.0,203.2 235.0,201.5 235.9Line truncated
<polyline class="nj-charts-json" points="44.0,208.0 44.9,208.0 44.9,208.0 45.8,208.0 45.8,207.2 46.7,207.2 46.7,207.9 47.6,207.9 47.6,206.7 48.5,206.7 48.5,207.5 49.4,207.5 49.4,207.7 50.3,207.7 50.3,207.3 51.2,207.3 51.2,207.9 52.1,207.9 52.1,206.6 53.1,206.6 53.1,207.5 54.0,207.5 54.0,208.0 54.9,208.0 54.9,207.6 55.8,207.6 55.8,207.2 56.7,207.2 56.7,207.5 57.6,207.5 57.6,206.6 58.5,206.6 58.5,207.1 59.4,207.1 59.4,207.1 60.3,207.1 60.3,207.2 61.2,207.2 61.2,206.6 62.1,206.6 62.1,207.5 63.0,207.5 63.0,207.6 63.9,207.6 63.9,207.7 64.8,207.7 64.8,207.2 65.7,207.2 65.7,206.5 66.6,206.5 66.6,206.8 67.5,206.8 67.5,207.1 68.4,207.1 68.4,207.0 69.3,207.0 69.3,207.1 70.2,207.1 70.2,206.7 71.2,206.7 71.2,208.2 72.1,208.2 72.1,207.5 73.0,207.5 73.0,206.6 73.9,206.6 73.9,206.7 74.8,206.7 74.8,206.3 75.7,206.3 75.7,208.4 76.6,208.4 76.6,207.3 77.5,207.3 77.5,206.8 78.4,206.8 78.4,208.0 79.3,208.0 79.3,207.8 80.2,207.8 80.2,207.1 81.1,207.1 81.1,207.5 82.0,207.5 82.0,207.9 82.9,207.9 82.9,206.3 83.8,206.3 83.8,206.8 84.7,206.8 84.7,207.5 85.6,207.5 85.6,208.1 86.5,208.1 86.5,206.6 87.4,206.6 87.4,207.2 88.3,207.2 88.3,207.2 89.3,207.2 89.3,207.4 90.2,207.4 90.2,207.0 91.1,207.0 91.1,206.7 92.0,206.7 92.0,206.5 92.9,206.5 92.9,207.6 93.8,207.6 93.8,207.4 94.7,207.4 94.7,207.2 95.6,207.2 95.6,207.5 96.5,207.5 96.5,207.6 97.4,207.6 97.4,208.0 98.3,208.0 98.3,208.2 99.2,208.2 99.2,206.7 100.1,206.7 100.1,207.4 101.0,207.4 101.0,206.7 101.9,206.7 101.9,206.6 102.8,206.6 102.8,208.0 103.7,208.0 103.7,208.0 104.6,208.0 104.6,206.3 105.5,206.3 105.5,208.3 106.4,208.3 106.4,207.8 107.4,207.8 107.4,207.4 108.3,207.4 108.3,206.3 109.2,206.3 109.2,208.1 110.1,208.1 110.1,207.5 111.0,207.5 111.0,207.4 111.9,207.4 111.9,207.5 112.8,207.5 112.8,207.7 113.7,207.7 113.7,208.0 114.6,208.0 114.6,207.0 115.5,207.0 115.5,207.5 116.4,207.5 116.4,207.2 117.3,207.2 117.3,207.7 118.2,207.7 118.2,207.3 119.1,207.3 119.1,208.0 120.0,208.0 120.0,206.7 120.9,206.7 120.9,206.6 121.8,206.6 121.8,207.2 122.7,207.2 122.7,208.1 123.6,208.1 123.6,208.1 124.6,208.1 124.6,206.7 125.5,206.7 125.5,207.8 126.4,207.8 126.4,207.6 127.3,207.6 127.3,207.4 128.2,207.4 128.2,207.1 129.1,207.1 129.1,207.5 130.0,207.5 130.0,208.8 130.9,208.8 130.9,209.2 131.8,209.2 131.8,208.4 132.7,208.4 132.7,208.3 133.6,208.3 133.6,208.0 134.5,208.0 134.5,209.0 135.4,209.0 135.4,208.5 136.3,208.5 136.3,209.1 137.2,209.1 137.2,209.2 138.1,209.2 138.1,208.6 139.0,208.6 139.0,207.7 139.9,207.7 139.9,207.7 140.8,207.7 140.8,207.5 141.7,207.5 141.7,202.2 142.7,202.2 142.7,202.3 143.6,202.3 143.6,201.7 144.5,201.7 144.5,202.3 145.4,202.3 145.4,201.9 146.3,201.9 146.3,201.2 147.2,201.2 147.2,202.1 148.1,202.1 148.1,202.6 149.0,202.6 149.0,201.5 149.9,201.5 149.9,202.3 150.8,202.3 150.8,202.3 151.7,202.3 151.7,201.7 152.6,201.7 152.6,201.3 153.5,201.3 153.5,202.5 154.4,202.5 154.4,201.1 155.3,201.1 155.3,202.9 156.2,202.9 156.2,202.2 157.1,202.2 157.1,201.7 158.0,201.7 158.0,201.7 158.9,201.7 158.9,201.6 159.8,201.6 159.8,203.0 160.8,203.0 160.8,202.7 161.7,202.7 161.7,202.4 162.6,202.4 162.6,202.8 163.5,202.8 163.5,202.1 164.4,202.1 164.4,203.1 165.3,203.1 165.3,202.3 166.2,202.3 166.2,202.3 167.1,202.3 167.1,201.8 168.0,201.8 168.0,203.1 168.9,203.1 168.9,201.8 169.8,201.8 169.8,202.6 170.7,202.6 170.7,202.6 171.6,202.6 171.6,202.9 172.5,202.9 172.5,202.3 173.4,202.3 173.4,202.3 174.3,202.3 174.3,201.6 175.2,201.6 175.2,201.5 176.1,201.5 176.1,202.4 177.0,202.4 177.0,201.7 177.9,201.7 177.9,201.2 178.9,201.2 178.9,202.2 179.8,202.2 179.8,201.6 180.7,201.6 180.7,201.6 181.6,201.6 181.6,201.8 182.5,201.8 182.5,202.1 183.4,202.1 183.4,201.7 184.3,201.7 184.3,201.4 185.2,201.4 185.2,202.2 186.1,202.2 186.1,202.7 187.0,202.7 187.0,202.4 187.9,202.4 187.9,201.7 188.8,201.7 188.8,201.7 189.7,201.7 189.7,202.3 190.6,202.3 190.6,201.6 191.5,201.6 191.5,201.7 192.4,201.7 192.4,202.2 193.3,202.2 193.3,202.2 194.2,202.2 194.2,202.4 195.1,202.4 195.1,201.7 196.1,201.7 196.1,202.1 197.0,202.1 197.0,201.6 197.9,201.6 197.9,202.2 198.8,202.2 198.8,201.9 199.7,201.9 199.7,201.9 200.6,201.9 200.6,202.5 201.5,202.5 201.5,201.6 202.4,201.6 202.4,202.1 203.3,202.1 203.3,202.3 204.2,202.3 204.2,201.8 205.1,201.8 205.1,201.5 206.0,201.5 206.0,202.3 206.9,202.3 206.9,202.2 207.8,202.2 207.8,202.9 208.7,202.9 208.7,201.3 209.6,201.3 209.6,202.2 210.5,202.2 210.5,203.6 211.4,203.6 211.4,201.9 212.3,201.9 212.3,202.4 213.2,202.4 213.2,201.7 214.2,201.7 214.2,202.7 215.1,202.7 215.1,202.3 216.0,202.3 216.0,202.5 216.9,202.5 216.9,202.1 217.8,202.1 217.8,203.4 218.7,203.4 218.7,202.1 219.6,202.1 219.6,202.3 220.5,202.3 220.5,201.9 221.4,201.9 221.4,202.3 222.3,202.3 222.3,201.7 223.2,201.7 223.2,202.4 224.1,202.4 224.1,202.3 225.0,202.3 225.0,202.9 225.9,202.9 225.9,202.9 226.8,202.9 226.8,202.2 227.7,202.2 227.7,202.4 228.6,202.4 228.6,202.2 229.5,202.2 229.5,202.7 230.4,202.7 230.4,202.5 231.3,202.5 231.3,202.5 232.3,202.5 232.3,201.5 233.2,201.5 233.2,203.1 234.1,203.1 234.1,203.2 235.0,203.2 235.0,201.5 235.9Line truncated
<circle class="nj-charts-json-dot" cx="141.7" cy="202.2" r="3.5"><title>#5285: 1.09&#215;</title></circle>
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="141.7" y1="54.0" x2="141.7" y2="197.2"/>
<circle class="nj-theme-dot" cx="141.7" cy="46.0" r="7.5"/>

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

@@ -1,6 +1,6 @@
<svg class="nj-fig nj-charts nj-charts--timeline" viewBox="0 0 340 270" role="img" aria-labelledby="nj-blog-tl-dump_twitter nj-blog-tl-dump_twitter-d" xmlns="http://www.w3.org/2000/svg">
<title id="nj-blog-tl-dump_twitter">dump() twitter.json: speedup over 3.12.0 by commit</title>
<desc id="nj-blog-tl-dump_twitter-d">dump() twitter.json: speedup over 3.12.0 at each of 317 commits, ending at 6.7x. Labeled steps, by theme: 6, 2, 2, 2.</desc>
<desc id="nj-blog-tl-dump_twitter-d">dump() twitter.json: speedup over 3.12.0 at each of 317 commits, ending at 6.9x. Labeled steps, by theme: 6, 2, 2, 2.</desc>
<text class="nj-charts-panel" x="8" y="18">dump() twitter.json</text>
<line class="nj-charts-grid" x1="44" y1="208" x2="330" y2="208"/>
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="212">1&#215;</text>
@@ -18,7 +18,7 @@
<text class="nj-charts-tick" x="126.361" y="225">Sep 2026</text>
<line class="nj-charts-axis" x1="215.962" y1="208" x2="215.962" y2="212"/>
<text class="nj-charts-tick" x="215.962" y="225">Oct</text>
<polyline class="nj-charts-json" points="44.0,208.0 44.9,208.0 44.9,208.0 45.8,208.0 45.8,207.2 46.7,207.2 46.7,207.9 47.6,207.9 47.6,206.8 48.5,206.8 48.5,208.0 49.4,208.0 49.4,207.4 50.3,207.4 50.3,207.3 51.2,207.3 51.2,208.0 52.1,208.0 52.1,206.8 53.1,206.8 53.1,207.2 54.0,207.2 54.0,208.0 54.9,208.0 54.9,207.2 55.8,207.2 55.8,207.5 56.7,207.5 56.7,206.8 57.6,206.8 57.6,206.9 58.5,206.9 58.5,207.5 59.4,207.5 59.4,207.3 60.3,207.3 60.3,207.8 61.2,207.8 61.2,206.8 62.1,206.8 62.1,207.8 63.0,207.8 63.0,207.4 63.9,207.4 63.9,208.0 64.8,208.0 64.8,207.4 65.7,207.4 65.7,207.3 66.6,207.3 66.6,206.9 67.5,206.9 67.5,207.3 68.4,207.3 68.4,207.4 69.3,207.4 69.3,207.6 70.2,207.6 70.2,207.5 71.2,207.5 71.2,207.6 72.1,207.6 72.1,207.4 73.0,207.4 73.0,207.2 73.9,207.2 73.9,207.1 74.8,207.1 74.8,207.3 75.7,207.3 75.7,207.7 76.6,207.7 76.6,207.8 77.5,207.8 77.5,206.9 78.4,206.9 78.4,207.6 79.3,207.6 79.3,207.0 80.2,207.0 80.2,207.0 81.1,207.0 81.1,207.3 82.0,207.3 82.0,207.6 82.9,207.6 82.9,206.8 83.8,206.8 83.8,207.7 84.7,207.7 84.7,207.4 85.6,207.4 85.6,207.5 86.5,207.5 86.5,207.1 87.4,207.1 87.4,207.3 88.3,207.3 88.3,207.5 89.3,207.5 89.3,207.3 90.2,207.3 90.2,207.3 91.1,207.3 91.1,206.9 92.0,206.9 92.0,207.4 92.9,207.4 92.9,207.9 93.8,207.9 93.8,207.3 94.7,207.3 94.7,206.8 95.6,206.8 95.6,207.6 96.5,207.6 96.5,207.7 97.4,207.7 97.4,208.6 98.3,208.6 98.3,208.5 99.2,208.5 99.2,208.6 100.1,208.6 100.1,209.2 101.0,209.2 101.0,208.5 101.9,208.5 101.9,208.2 102.8,208.2 102.8,209.3 103.7,209.3 103.7,208.4 104.6,208.4 104.6,208.4 105.5,208.4 105.5,209.0 106.4,209.0 106.4,209.0 107.4,209.0 107.4,208.7 108.3,208.7 108.3,208.9 109.2,208.9 109.2,208.7 110.1,208.7 110.1,209.0 111.0,209.0 111.0,208.8 111.9,208.8 111.9,208.7 112.8,208.7 112.8,209.3 113.7,209.3 113.7,208.6 114.6,208.6 114.6,208.5 115.5,208.5 115.5,208.4 116.4,208.4 116.4,208.0 117.3,208.0 117.3,208.9 118.2,208.9 118.2,208.6 119.1,208.6 119.1,208.9 120.0,208.9 120.0,208.1 120.9,208.1 120.9,208.0 121.8,208.0 121.8,208.6 122.7,208.6 122.7,208.5 123.6,208.5 123.6,209.1 124.6,209.1 124.6,208.0 125.5,208.0 125.5,209.1 126.4,209.1 126.4,208.9 127.3,208.9 127.3,208.5 128.2,208.5 128.2,209.1 129.1,209.1 129.1,209.0 130.0,209.0 130.0,208.8 130.9,208.8 130.9,208.6 131.8,208.6 131.8,208.6 132.7,208.6 132.7,208.2 133.6,208.2 133.6,209.0 134.5,209.0 134.5,209.2 135.4,209.2 135.4,209.1 136.3,209.1 136.3,209.2 137.2,209.2 137.2,209.2 138.1,209.2 138.1,208.5 139.0,208.5 139.0,208.7 139.9,208.7 139.9,209.5 140.8,209.5 140.8,208.4 141.7,208.4 141.7,147.4 142.7,147.4 142.7,148.3 143.6,148.3 143.6,148.4 144.5,148.4 144.5,147.5 145.4,147.5 145.4,147.5 146.3,147.5 146.3,147.7 147.2,147.7 147.2,148.2 148.1,148.2 148.1,148.2 149.0,148.2 149.0,147.3 149.9,147.3 149.9,148.1 150.8,148.1 150.8,147.2 151.7,147.2 151.7,147.5 152.6,147.5 152.6,147.3 153.5,147.3 153.5,148.4 154.4,148.4 154.4,147.4 155.3,147.4 155.3,148.3 156.2,148.3 156.2,148.5 157.1,148.5 157.1,147.7 158.0,147.7 158.0,147.8 158.9,147.8 158.9,148.0 159.8,148.0 159.8,148.5 160.8,148.5 160.8,148.0 161.7,148.0 161.7,148.1 162.6,148.1 162.6,148.2 163.5,148.2 163.5,148.3 164.4,148.3 164.4,149.0 165.3,149.0 165.3,148.7 166.2,148.7 166.2,148.2 167.1,148.2 167.1,148.1 168.0,148.1 168.0,148.9 168.9,148.9 168.9,147.7 169.8,147.7 169.8,149.2 170.7,149.2 170.7,149.1 171.6,149.1 171.6,148.8 172.5,148.8 172.5,148.1 173.4,148.1 173.4,148.7 174.3,148.7 174.3,147.7 175.2,147.7 175.2,147.9 176.1,147.9 176.1,147.7 177.0,147.7 177.0,148.3 177.9,148.3 177.9,148.0 178.9,148.0 178.9,148.2 179.8,148.2 179.8,148.4 180.7,148.4 180.7,148.3 181.6,148.3 181.6,148.1 182.5,148.1 182.5,149.0 183.4,149.0 183.4,147.8 184.3,147.8 184.3,148.8 185.2,148.8 185.2,148.3 186.1,148.3 186.1,148.0 187.0,148.0 187.0,147.8 187.9,147.8 187.9,148.0 188.8,148.0 188.8,147.7 189.7,147.7 189.7,148.2 190.6,148.2 190.6,147.1 191.5,147.1 191.5,147.9 192.4,147.9 192.4,147.9 193.3,147.9 193.3,147.9 194.2,147.9 194.2,147.7 195.1,147.7 195.1,148.0 196.1,148.0 196.1,147.4 197.0,147.4 197.0,147.5 197.9,147.5 197.9,147.5 198.8,147.5 198.8,147.0 199.7,147.0 199.7,147.0 200.6,147.0 200.6,148.2 201.5,148.2 201.5,147.7 202.4,147.7 202.4,148.0 203.3,148.0 203.3,148.2 204.2,148.2 204.2,147.7 205.1,147.7 205.1,147.8 206.0,147.8 206.0,148.2 206.9,148.2 206.9,148.3 207.8,148.3 207.8,148.5 208.7,148.5 208.7,148.1 209.6,148.1 209.6,147.9 210.5,147.9 210.5,148.2 211.4,148.2 211.4,147.5 212.3,147.5 212.3,148.1 213.2,148.1 213.2,147.6 214.2,147.6 214.2,148.4 215.1,148.4 215.1,148.2 216.0,148.2 216.0,148.3 216.9,148.3 216.9,148.7 217.8,148.7 217.8,149.4 218.7,149.4 218.7,148.7 219.6,148.7 219.6,149.5 220.5,149.5 220.5,148.2 221.4,148.2 221.4,148.5 222.3,148.5 222.3,149.1 223.2,149.1 223.2,148.8 224.1,148.8 224.1,149.2 225.0,149.2 225.0,149.3 225.9,149.3 225.9,149.1 226.8,149.1 226.8,148.6 227.7,148.6 227.7,148.9 228.6,148.9 228.6,148.5 229.5,148.5 229.5,148.9 230.4,148.9 230.4,149.0 231.3,149.0 231.3,149.0 232.3,149.0 232.3,148.5 233.2,148.5 233.2,149.1 234.1,149.1 234.1,149.2 235.0,149.2 235.0,148.3 235.9Line truncated
<polyline class="nj-charts-json" points="44.0,208.0 44.9,208.0 44.9,208.0 45.8,208.0 45.8,207.2 46.7,207.2 46.7,207.9 47.6,207.9 47.6,206.8 48.5,206.8 48.5,208.0 49.4,208.0 49.4,207.4 50.3,207.4 50.3,207.3 51.2,207.3 51.2,208.0 52.1,208.0 52.1,206.8 53.1,206.8 53.1,207.2 54.0,207.2 54.0,208.0 54.9,208.0 54.9,207.2 55.8,207.2 55.8,207.5 56.7,207.5 56.7,206.8 57.6,206.8 57.6,206.9 58.5,206.9 58.5,207.5 59.4,207.5 59.4,207.3 60.3,207.3 60.3,207.8 61.2,207.8 61.2,206.8 62.1,206.8 62.1,207.8 63.0,207.8 63.0,207.4 63.9,207.4 63.9,208.0 64.8,208.0 64.8,207.4 65.7,207.4 65.7,207.3 66.6,207.3 66.6,206.9 67.5,206.9 67.5,207.3 68.4,207.3 68.4,207.4 69.3,207.4 69.3,207.6 70.2,207.6 70.2,207.5 71.2,207.5 71.2,207.6 72.1,207.6 72.1,207.4 73.0,207.4 73.0,207.2 73.9,207.2 73.9,207.1 74.8,207.1 74.8,207.3 75.7,207.3 75.7,207.7 76.6,207.7 76.6,207.8 77.5,207.8 77.5,206.9 78.4,206.9 78.4,207.6 79.3,207.6 79.3,207.0 80.2,207.0 80.2,207.0 81.1,207.0 81.1,207.3 82.0,207.3 82.0,207.6 82.9,207.6 82.9,206.8 83.8,206.8 83.8,207.7 84.7,207.7 84.7,207.4 85.6,207.4 85.6,207.5 86.5,207.5 86.5,207.1 87.4,207.1 87.4,207.3 88.3,207.3 88.3,207.5 89.3,207.5 89.3,207.3 90.2,207.3 90.2,207.3 91.1,207.3 91.1,206.9 92.0,206.9 92.0,207.4 92.9,207.4 92.9,207.9 93.8,207.9 93.8,207.3 94.7,207.3 94.7,206.8 95.6,206.8 95.6,207.6 96.5,207.6 96.5,207.7 97.4,207.7 97.4,208.6 98.3,208.6 98.3,208.5 99.2,208.5 99.2,208.6 100.1,208.6 100.1,209.2 101.0,209.2 101.0,208.5 101.9,208.5 101.9,208.2 102.8,208.2 102.8,209.3 103.7,209.3 103.7,208.4 104.6,208.4 104.6,208.4 105.5,208.4 105.5,209.0 106.4,209.0 106.4,209.0 107.4,209.0 107.4,208.7 108.3,208.7 108.3,208.9 109.2,208.9 109.2,208.7 110.1,208.7 110.1,209.0 111.0,209.0 111.0,208.8 111.9,208.8 111.9,208.7 112.8,208.7 112.8,209.3 113.7,209.3 113.7,208.6 114.6,208.6 114.6,208.5 115.5,208.5 115.5,208.4 116.4,208.4 116.4,208.0 117.3,208.0 117.3,208.9 118.2,208.9 118.2,208.6 119.1,208.6 119.1,208.9 120.0,208.9 120.0,208.1 120.9,208.1 120.9,208.0 121.8,208.0 121.8,208.6 122.7,208.6 122.7,208.5 123.6,208.5 123.6,209.1 124.6,209.1 124.6,208.0 125.5,208.0 125.5,209.1 126.4,209.1 126.4,208.9 127.3,208.9 127.3,208.5 128.2,208.5 128.2,209.1 129.1,209.1 129.1,209.0 130.0,209.0 130.0,208.8 130.9,208.8 130.9,208.6 131.8,208.6 131.8,208.6 132.7,208.6 132.7,208.2 133.6,208.2 133.6,209.0 134.5,209.0 134.5,209.2 135.4,209.2 135.4,209.1 136.3,209.1 136.3,209.2 137.2,209.2 137.2,209.2 138.1,209.2 138.1,208.5 139.0,208.5 139.0,208.7 139.9,208.7 139.9,209.5 140.8,209.5 140.8,208.4 141.7,208.4 141.7,147.4 142.7,147.4 142.7,148.3 143.6,148.3 143.6,148.4 144.5,148.4 144.5,147.5 145.4,147.5 145.4,147.5 146.3,147.5 146.3,147.7 147.2,147.7 147.2,148.2 148.1,148.2 148.1,148.2 149.0,148.2 149.0,147.3 149.9,147.3 149.9,148.1 150.8,148.1 150.8,147.2 151.7,147.2 151.7,147.5 152.6,147.5 152.6,147.3 153.5,147.3 153.5,148.4 154.4,148.4 154.4,147.4 155.3,147.4 155.3,148.3 156.2,148.3 156.2,148.5 157.1,148.5 157.1,147.7 158.0,147.7 158.0,147.8 158.9,147.8 158.9,148.0 159.8,148.0 159.8,148.5 160.8,148.5 160.8,148.0 161.7,148.0 161.7,148.1 162.6,148.1 162.6,148.2 163.5,148.2 163.5,148.3 164.4,148.3 164.4,149.0 165.3,149.0 165.3,148.7 166.2,148.7 166.2,148.2 167.1,148.2 167.1,148.1 168.0,148.1 168.0,148.9 168.9,148.9 168.9,147.7 169.8,147.7 169.8,149.2 170.7,149.2 170.7,149.1 171.6,149.1 171.6,148.8 172.5,148.8 172.5,148.1 173.4,148.1 173.4,148.7 174.3,148.7 174.3,147.7 175.2,147.7 175.2,147.9 176.1,147.9 176.1,147.7 177.0,147.7 177.0,148.3 177.9,148.3 177.9,148.0 178.9,148.0 178.9,148.2 179.8,148.2 179.8,148.4 180.7,148.4 180.7,148.3 181.6,148.3 181.6,148.1 182.5,148.1 182.5,149.0 183.4,149.0 183.4,147.8 184.3,147.8 184.3,148.8 185.2,148.8 185.2,148.3 186.1,148.3 186.1,148.0 187.0,148.0 187.0,147.8 187.9,147.8 187.9,148.0 188.8,148.0 188.8,147.7 189.7,147.7 189.7,148.2 190.6,148.2 190.6,147.1 191.5,147.1 191.5,147.9 192.4,147.9 192.4,147.9 193.3,147.9 193.3,147.9 194.2,147.9 194.2,147.7 195.1,147.7 195.1,148.0 196.1,148.0 196.1,147.4 197.0,147.4 197.0,147.5 197.9,147.5 197.9,147.5 198.8,147.5 198.8,147.0 199.7,147.0 199.7,147.0 200.6,147.0 200.6,148.2 201.5,148.2 201.5,147.7 202.4,147.7 202.4,148.0 203.3,148.0 203.3,148.2 204.2,148.2 204.2,147.7 205.1,147.7 205.1,147.8 206.0,147.8 206.0,148.2 206.9,148.2 206.9,148.3 207.8,148.3 207.8,148.5 208.7,148.5 208.7,148.1 209.6,148.1 209.6,147.9 210.5,147.9 210.5,148.2 211.4,148.2 211.4,147.5 212.3,147.5 212.3,148.1 213.2,148.1 213.2,147.6 214.2,147.6 214.2,148.4 215.1,148.4 215.1,148.2 216.0,148.2 216.0,148.3 216.9,148.3 216.9,148.7 217.8,148.7 217.8,149.4 218.7,149.4 218.7,148.7 219.6,148.7 219.6,149.5 220.5,149.5 220.5,148.2 221.4,148.2 221.4,148.5 222.3,148.5 222.3,149.1 223.2,149.1 223.2,148.8 224.1,148.8 224.1,149.2 225.0,149.2 225.0,149.3 225.9,149.3 225.9,149.1 226.8,149.1 226.8,148.6 227.7,148.6 227.7,148.9 228.6,148.9 228.6,148.5 229.5,148.5 229.5,148.9 230.4,148.9 230.4,149.0 231.3,149.0 231.3,149.0 232.3,149.0 232.3,148.5 233.2,148.5 233.2,149.1 234.1,149.1 234.1,149.2 235.0,149.2 235.0,148.3 235.9Line truncated
<circle class="nj-charts-json-dot" cx="141.7" cy="147.4" r="3.5"><title>#5285: 3.3&#215;</title></circle>
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="141.7" y1="54.0" x2="141.7" y2="142.4"/>
<circle class="nj-theme-dot" cx="141.7" cy="46.0" r="7.5"/>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

@@ -14,7 +14,7 @@
<text class="nj-charts-tick" x="126.361" y="225">Sep 2026</text>
<line class="nj-charts-axis" x1="215.962" y1="208" x2="215.962" y2="212"/>
<text class="nj-charts-tick" x="215.962" y="225">Oct</text>
<polyline class="nj-charts-json" points="44.0,208.0 44.9,208.0 44.9,209.1 45.8,209.1 45.8,208.2 46.7,208.2 46.7,208.6 47.6,208.6 47.6,208.0 48.5,208.0 48.5,208.4 49.4,208.4 49.4,208.6 50.3,208.6 50.3,208.3 51.2,208.3 51.2,209.1 52.1,209.1 52.1,207.8 53.1,207.8 53.1,208.5 54.0,208.5 54.0,208.6 54.9,208.6 54.9,208.6 55.8,208.6 55.8,207.7 56.7,207.7 56.7,207.1 57.6,207.1 57.6,207.3 58.5,207.3 58.5,206.9 59.4,206.9 59.4,207.1 60.3,207.1 60.3,207.0 61.2,207.0 61.2,207.1 62.1,207.1 62.1,207.1 63.0,207.1 63.0,207.5 63.9,207.5 63.9,207.5 64.8,207.5 64.8,206.9 65.7,206.9 65.7,207.0 66.6,207.0 66.6,206.2 67.5,206.2 67.5,207.1 68.4,207.1 68.4,208.5 69.3,208.5 69.3,208.0 70.2,208.0 70.2,207.8 71.2,207.8 71.2,208.5 72.1,208.5 72.1,207.8 73.0,207.8 73.0,207.0 73.9,207.0 73.9,208.1 74.8,208.1 74.8,208.2 75.7,208.2 75.7,208.6 76.6,208.6 76.6,208.1 77.5,208.1 77.5,207.2 78.4,207.2 78.4,208.3 79.3,208.3 79.3,207.4 80.2,207.4 80.2,207.9 81.1,207.9 81.1,207.7 82.0,207.7 82.0,208.6 82.9,208.6 82.9,207.3 83.8,207.3 83.8,207.9 84.7,207.9 84.7,208.4 85.6,208.4 85.6,208.5 86.5,208.5 86.5,208.0 87.4,208.0 87.4,207.1 88.3,207.1 88.3,208.1 89.3,208.1 89.3,208.1 90.2,208.1 90.2,207.8 91.1,207.8 91.1,207.9 92.0,207.9 92.0,207.9 92.9,207.9 92.9,208.7 93.8,208.7 93.8,208.1 94.7,208.1 94.7,168.9 95.6,168.9 95.6,170.3 96.5,170.3 96.5,169.9 97.4,169.9 97.4,169.0 98.3,169.0 98.3,169.6 99.2,169.6 99.2,169.1 100.1,169.1 100.1,170.1 101.0,170.1 101.0,168.8 101.9,168.8 101.9,167.9 102.8,167.9 102.8,170.4 103.7,170.4 103.7,169.5 104.6,169.5 104.6,169.7 105.5,169.7 105.5,172.9 106.4,172.9 106.4,170.5 107.4,170.5 107.4,170.4 108.3,170.4 108.3,170.1 109.2,170.1 109.2,170.2 110.1,170.2 110.1,170.7 111.0,170.7 111.0,170.5 111.9,170.5 111.9,170.4 112.8,170.4 112.8,171.1 113.7,171.1 113.7,170.2 114.6,170.2 114.6,168.6 115.5,168.6 115.5,168.9 116.4,168.9 116.4,168.8 117.3,168.8 117.3,170.5 118.2,170.5 118.2,169.2 119.1,169.2 119.1,169.8 120.0,169.8 120.0,168.2 120.9,168.2 120.9,168.3 121.8,168.3 121.8,169.9 122.7,169.9 122.7,170.3 123.6,170.3 123.6,170.5 124.6,170.5 124.6,169.2 125.5,169.2 125.5,170.5 126.4,170.5 126.4,170.1 127.3,170.1 127.3,170.0 128.2,170.0 128.2,170.0 129.1,170.0 129.1,169.7 130.0,169.7 130.0,169.9 130.9,169.9 130.9,169.2 131.8,169.2 131.8,169.6 132.7,169.6 132.7,170.0 133.6,170.0 133.6,170.0 134.5,170.0 134.5,170.5 135.4,170.5 135.4,170.8 136.3,170.8 136.3,170.5 137.2,170.5 137.2,170.8 138.1,170.8 138.1,169.2 139.0,169.2 139.0,128.6 139.9,128.6 139.9,121.0 140.8,121.0 140.8,120.5 141.7,120.5 141.7,120.8 142.7,120.8 142.7,120.9 143.6,120.9 143.6,120.2 144.5,120.2 144.5,116.5 145.4,116.5 145.4,117.5 146.3,117.5 146.3,117.4 147.2,117.4 147.2,118.0 148.1,118.0 148.1,118.3 149.0,118.3 149.0,118.0 149.9,118.0 149.9,120.1 150.8,120.1 150.8,118.9 151.7,118.9 151.7,119.6 152.6,119.6 152.6,119.0 153.5,119.0 153.5,120.9 154.4,120.9 154.4,118.6 155.3,118.6 155.3,121.1 156.2,121.1 156.2,120.1 157.1,120.1 157.1,118.4 158.0,118.4 158.0,119.3 158.9,119.3 158.9,119.0 159.8,119.0 159.8,120.2 160.8,120.2 160.8,119.0 161.7,119.0 161.7,119.4 162.6,119.4 162.6,119.8 163.5,119.8 163.5,120.4 164.4,120.4 164.4,120.6 165.3,120.6 165.3,119.6 166.2,119.6 166.2,118.8 167.1,118.8 167.1,118.4 168.0,118.4 168.0,120.2 168.9,120.2 168.9,119.3 169.8,119.3 169.8,119.9 170.7,119.9 170.7,119.6 171.6,119.6 171.6,119.7 172.5,119.7 172.5,119.2 173.4,119.2 173.4,119.5 174.3,119.5 174.3,118.0 175.2,118.0 175.2,150.3 176.1,150.3 176.1,150.5 177.0,150.5 177.0,150.6 177.9,150.6 177.9,151.3 178.9,151.3 178.9,151.4 179.8,151.4 179.8,150.7 180.7,150.7 180.7,152.1 181.6,152.1 181.6,151.8 182.5,151.8 182.5,152.4 183.4,152.4 183.4,150.6 184.3,150.6 184.3,152.8 185.2,152.8 185.2,154.2 186.1,154.2 186.1,152.8 187.0,152.8 187.0,152.9 187.9,152.9 187.9,153.6 188.8,153.6 188.8,151.7 189.7,151.7 189.7,153.8 190.6,153.8 190.6,151.6 191.5,151.6 191.5,152.6 192.4,152.6 192.4,153.5 193.3,153.5 193.3,151.8 194.2,151.8 194.2,152.7 195.1,152.7 195.1,153.6 196.1,153.6 196.1,152.7 197.0,152.7 197.0,152.5 197.9,152.5 197.9,152.7 198.8,152.7 198.8,151.6 199.7,151.6 199.7,153.2 200.6,153.2 200.6,154.6 201.5,154.6 201.5,152.1 202.4,152.1 202.4,152.9 203.3,152.9 203.3,153.9 204.2,153.9 204.2,153.0 205.1,153.0 205.1,152.6 206.0,152.6 206.0,154.0 206.9,154.0 206.9,154.0 207.8,154.0 207.8,154.3 208.7,154.3 208.7,152.5 209.6,152.5 209.6,154.4 210.5,154.4 210.5,154.2 211.4,154.2 211.4,151.8 212.3,151.8 212.3,154.0 213.2,154.0 213.2,153.0 214.2,153.0 214.2,152.2 215.1,152.2 215.1,153.7 216.0,153.7 216.0,153.8 216.9,153.8 216.9,153.9 217.8,153.9 217.8,155.5 218.7,155.5 218.7,153.4 219.6,153.4 219.6,155.4 220.5,155.4 220.5,152.8 221.4,152.8 221.4,154.0 222.3,154.0 222.3,152.3 223.2,152.3 223.2,153.2 224.1,153.2 224.1,153.5 225.0,153.5 225.0,153.6 225.9,153.6 225.9,154.6 226.8,154.6 226.8,152.7 227.7,152.7 227.7,155.4 228.6,155.4 228.6,152.5 229.5,152.5 229.5,153.3 230.4,153.3 230.4,153.3 231.3,153.3 231.3,154.5 232.3,154.5 232.3,152.6 233.2,152.6 233.2,153.0 234.1,153.0 234.1,154.3 235.0,154.3 235.0,122.0 235.9Line truncated
<polyline class="nj-charts-json" points="44.0,208.0 44.9,208.0 44.9,209.1 45.8,209.1 45.8,208.2 46.7,208.2 46.7,208.6 47.6,208.6 47.6,208.0 48.5,208.0 48.5,208.4 49.4,208.4 49.4,208.6 50.3,208.6 50.3,208.3 51.2,208.3 51.2,209.1 52.1,209.1 52.1,207.8 53.1,207.8 53.1,208.5 54.0,208.5 54.0,208.6 54.9,208.6 54.9,208.6 55.8,208.6 55.8,207.7 56.7,207.7 56.7,207.1 57.6,207.1 57.6,207.3 58.5,207.3 58.5,206.9 59.4,206.9 59.4,207.1 60.3,207.1 60.3,207.0 61.2,207.0 61.2,207.1 62.1,207.1 62.1,207.1 63.0,207.1 63.0,207.5 63.9,207.5 63.9,207.5 64.8,207.5 64.8,206.9 65.7,206.9 65.7,207.0 66.6,207.0 66.6,206.2 67.5,206.2 67.5,207.1 68.4,207.1 68.4,208.5 69.3,208.5 69.3,208.0 70.2,208.0 70.2,207.8 71.2,207.8 71.2,208.5 72.1,208.5 72.1,207.8 73.0,207.8 73.0,207.0 73.9,207.0 73.9,208.1 74.8,208.1 74.8,208.2 75.7,208.2 75.7,208.6 76.6,208.6 76.6,208.1 77.5,208.1 77.5,207.2 78.4,207.2 78.4,208.3 79.3,208.3 79.3,207.4 80.2,207.4 80.2,207.9 81.1,207.9 81.1,207.7 82.0,207.7 82.0,208.6 82.9,208.6 82.9,207.3 83.8,207.3 83.8,207.9 84.7,207.9 84.7,208.4 85.6,208.4 85.6,208.5 86.5,208.5 86.5,208.0 87.4,208.0 87.4,207.1 88.3,207.1 88.3,208.1 89.3,208.1 89.3,208.1 90.2,208.1 90.2,207.8 91.1,207.8 91.1,207.9 92.0,207.9 92.0,207.9 92.9,207.9 92.9,208.7 93.8,208.7 93.8,208.1 94.7,208.1 94.7,168.9 95.6,168.9 95.6,170.3 96.5,170.3 96.5,169.9 97.4,169.9 97.4,169.0 98.3,169.0 98.3,169.6 99.2,169.6 99.2,169.1 100.1,169.1 100.1,170.1 101.0,170.1 101.0,168.8 101.9,168.8 101.9,167.9 102.8,167.9 102.8,170.4 103.7,170.4 103.7,169.5 104.6,169.5 104.6,169.7 105.5,169.7 105.5,172.9 106.4,172.9 106.4,170.5 107.4,170.5 107.4,170.4 108.3,170.4 108.3,170.1 109.2,170.1 109.2,170.2 110.1,170.2 110.1,170.7 111.0,170.7 111.0,170.5 111.9,170.5 111.9,170.4 112.8,170.4 112.8,171.1 113.7,171.1 113.7,170.2 114.6,170.2 114.6,168.6 115.5,168.6 115.5,168.9 116.4,168.9 116.4,168.8 117.3,168.8 117.3,170.5 118.2,170.5 118.2,169.2 119.1,169.2 119.1,169.8 120.0,169.8 120.0,168.2 120.9,168.2 120.9,168.3 121.8,168.3 121.8,169.9 122.7,169.9 122.7,170.3 123.6,170.3 123.6,170.5 124.6,170.5 124.6,169.2 125.5,169.2 125.5,170.5 126.4,170.5 126.4,170.1 127.3,170.1 127.3,170.0 128.2,170.0 128.2,170.0 129.1,170.0 129.1,169.7 130.0,169.7 130.0,169.9 130.9,169.9 130.9,169.2 131.8,169.2 131.8,169.6 132.7,169.6 132.7,170.0 133.6,170.0 133.6,170.0 134.5,170.0 134.5,170.5 135.4,170.5 135.4,170.8 136.3,170.8 136.3,170.5 137.2,170.5 137.2,170.8 138.1,170.8 138.1,169.2 139.0,169.2 139.0,128.6 139.9,128.6 139.9,121.0 140.8,121.0 140.8,120.5 141.7,120.5 141.7,120.8 142.7,120.8 142.7,120.9 143.6,120.9 143.6,120.2 144.5,120.2 144.5,116.5 145.4,116.5 145.4,117.5 146.3,117.5 146.3,117.4 147.2,117.4 147.2,118.0 148.1,118.0 148.1,118.3 149.0,118.3 149.0,118.0 149.9,118.0 149.9,120.1 150.8,120.1 150.8,118.9 151.7,118.9 151.7,119.6 152.6,119.6 152.6,119.0 153.5,119.0 153.5,120.9 154.4,120.9 154.4,118.6 155.3,118.6 155.3,121.1 156.2,121.1 156.2,120.1 157.1,120.1 157.1,118.4 158.0,118.4 158.0,119.3 158.9,119.3 158.9,119.0 159.8,119.0 159.8,120.2 160.8,120.2 160.8,119.0 161.7,119.0 161.7,119.4 162.6,119.4 162.6,119.8 163.5,119.8 163.5,120.4 164.4,120.4 164.4,120.6 165.3,120.6 165.3,119.6 166.2,119.6 166.2,118.8 167.1,118.8 167.1,118.4 168.0,118.4 168.0,120.2 168.9,120.2 168.9,119.3 169.8,119.3 169.8,119.9 170.7,119.9 170.7,119.6 171.6,119.6 171.6,119.7 172.5,119.7 172.5,119.2 173.4,119.2 173.4,119.5 174.3,119.5 174.3,118.0 175.2,118.0 175.2,150.3 176.1,150.3 176.1,150.5 177.0,150.5 177.0,150.6 177.9,150.6 177.9,151.3 178.9,151.3 178.9,151.4 179.8,151.4 179.8,150.7 180.7,150.7 180.7,152.1 181.6,152.1 181.6,151.8 182.5,151.8 182.5,152.4 183.4,152.4 183.4,150.6 184.3,150.6 184.3,152.8 185.2,152.8 185.2,154.2 186.1,154.2 186.1,152.8 187.0,152.8 187.0,152.9 187.9,152.9 187.9,153.6 188.8,153.6 188.8,151.7 189.7,151.7 189.7,153.8 190.6,153.8 190.6,151.6 191.5,151.6 191.5,152.6 192.4,152.6 192.4,153.5 193.3,153.5 193.3,151.8 194.2,151.8 194.2,152.7 195.1,152.7 195.1,153.6 196.1,153.6 196.1,152.7 197.0,152.7 197.0,152.5 197.9,152.5 197.9,152.7 198.8,152.7 198.8,151.6 199.7,151.6 199.7,153.2 200.6,153.2 200.6,154.6 201.5,154.6 201.5,152.1 202.4,152.1 202.4,152.9 203.3,152.9 203.3,153.9 204.2,153.9 204.2,153.0 205.1,153.0 205.1,152.6 206.0,152.6 206.0,154.0 206.9,154.0 206.9,154.0 207.8,154.0 207.8,154.3 208.7,154.3 208.7,152.5 209.6,152.5 209.6,154.4 210.5,154.4 210.5,154.2 211.4,154.2 211.4,151.8 212.3,151.8 212.3,154.0 213.2,154.0 213.2,153.0 214.2,153.0 214.2,152.2 215.1,152.2 215.1,153.7 216.0,153.7 216.0,153.8 216.9,153.8 216.9,153.9 217.8,153.9 217.8,155.5 218.7,155.5 218.7,153.4 219.6,153.4 219.6,155.4 220.5,155.4 220.5,152.8 221.4,152.8 221.4,154.0 222.3,154.0 222.3,152.3 223.2,152.3 223.2,153.2 224.1,153.2 224.1,153.5 225.0,153.5 225.0,153.6 225.9,153.6 225.9,154.6 226.8,154.6 226.8,152.7 227.7,152.7 227.7,155.4 228.6,155.4 228.6,152.5 229.5,152.5 229.5,153.3 230.4,153.3 230.4,153.3 231.3,153.3 231.3,154.5 232.3,154.5 232.3,152.6 233.2,152.6 233.2,153.0 234.1,153.0 234.1,154.3 235.0,154.3 235.0,122.0 235.9Line truncated
<circle class="nj-charts-json-dot" cx="94.7" cy="168.9" r="3.5"><title>#5233: 1.47&#215;</title></circle>
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="94.7" y1="54.0" x2="94.7" y2="163.9"/>
<circle class="nj-theme-dot" cx="94.7" cy="46.0" r="7.5"/>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

@@ -14,7 +14,7 @@
<text class="nj-charts-tick" x="126.361" y="225">Sep 2026</text>
<line class="nj-charts-axis" x1="215.962" y1="208" x2="215.962" y2="212"/>
<text class="nj-charts-tick" x="215.962" y="225">Oct</text>
<polyline class="nj-charts-json" points="44.0,208.0 44.9,208.0 44.9,208.2 45.8,208.2 45.8,208.1 46.7,208.1 46.7,207.7 47.6,207.7 47.6,207.2 48.5,207.2 48.5,208.0 49.4,208.0 49.4,208.2 50.3,208.2 50.3,207.8 51.2,207.8 51.2,208.5 52.1,208.5 52.1,207.3 53.1,207.3 53.1,208.0 54.0,208.0 54.0,209.1 54.9,209.1 54.9,208.5 55.8,208.5 55.8,208.1 56.7,208.1 56.7,207.7 57.6,207.7 57.6,209.8 58.5,209.8 58.5,208.6 59.4,208.6 59.4,208.1 60.3,208.1 60.3,208.1 61.2,208.1 61.2,207.0 62.1,207.0 62.1,207.8 63.0,207.8 63.0,207.6 63.9,207.6 63.9,208.1 64.8,208.1 64.8,208.4 65.7,208.4 65.7,207.8 66.6,207.8 66.6,207.4 67.5,207.4 67.5,208.3 68.4,208.3 68.4,207.3 69.3,207.3 69.3,207.8 70.2,207.8 70.2,207.9 71.2,207.9 71.2,207.9 72.1,207.9 72.1,207.5 73.0,207.5 73.0,207.5 73.9,207.5 73.9,208.1 74.8,208.1 74.8,208.1 75.7,208.1 75.7,207.9 76.6,207.9 76.6,207.8 77.5,207.8 77.5,207.1 78.4,207.1 78.4,207.6 79.3,207.6 79.3,207.8 80.2,207.8 80.2,207.3 81.1,207.3 81.1,207.6 82.0,207.6 82.0,208.6 82.9,208.6 82.9,206.5 83.8,206.5 83.8,208.0 84.7,208.0 84.7,208.7 85.6,208.7 85.6,208.0 86.5,208.0 86.5,207.7 87.4,207.7 87.4,208.4 88.3,208.4 88.3,207.9 89.3,207.9 89.3,207.5 90.2,207.5 90.2,207.9 91.1,207.9 91.1,207.4 92.0,207.4 92.0,207.5 92.9,207.5 92.9,208.5 93.8,208.5 93.8,197.5 94.7,197.5 94.7,197.9 95.6,197.9 95.6,196.9 96.5,196.9 96.5,197.0 97.4,197.0 97.4,197.7 98.3,197.7 98.3,196.0 99.2,196.0 99.2,197.3 100.1,197.3 100.1,198.1 101.0,198.1 101.0,197.4 101.9,197.4 101.9,197.0 102.8,197.0 102.8,197.5 103.7,197.5 103.7,197.3 104.6,197.3 104.6,197.7 105.5,197.7 105.5,197.7 106.4,197.7 106.4,197.6 107.4,197.6 107.4,196.9 108.3,196.9 108.3,197.9 109.2,197.9 109.2,197.9 110.1,197.9 110.1,197.6 111.0,197.6 111.0,197.6 111.9,197.6 111.9,197.6 112.8,197.6 112.8,198.1 113.7,198.1 113.7,198.0 114.6,198.0 114.6,195.3 115.5,195.3 115.5,196.6 116.4,196.6 116.4,197.9 117.3,197.9 117.3,197.0 118.2,197.0 118.2,196.3 119.1,196.3 119.1,196.8 120.0,196.8 120.0,196.6 120.9,196.6 120.9,196.6 121.8,196.6 121.8,197.7 122.7,197.7 122.7,197.5 123.6,197.5 123.6,198.1 124.6,198.1 124.6,195.9 125.5,195.9 125.5,197.5 126.4,197.5 126.4,197.6 127.3,197.6 127.3,196.7 128.2,196.7 128.2,197.0 129.1,197.0 129.1,198.0 130.0,198.0 130.0,197.0 130.9,197.0 130.9,197.2 131.8,197.2 131.8,196.6 132.7,196.6 132.7,197.0 133.6,197.0 133.6,197.2 134.5,197.2 134.5,197.6 135.4,197.6 135.4,197.8 136.3,197.8 136.3,197.2 137.2,197.2 137.2,197.6 138.1,197.6 138.1,197.3 139.0,197.3 139.0,197.0 139.9,197.0 139.9,168.6 140.8,168.6 140.8,169.7 141.7,169.7 141.7,170.1 142.7,170.1 142.7,168.9 143.6,168.9 143.6,168.3 144.5,168.3 144.5,169.9 145.4,169.9 145.4,168.7 146.3,168.7 146.3,168.3 147.2,168.3 147.2,169.7 148.1,169.7 148.1,170.9 149.0,170.9 149.0,168.1 149.9,168.1 149.9,170.2 150.8,170.2 150.8,169.1 151.7,169.1 151.7,170.1 152.6,170.1 152.6,168.5 153.5,168.5 153.5,169.7 154.4,169.7 154.4,170.1 155.3,170.1 155.3,169.8 156.2,169.8 156.2,169.1 157.1,169.1 157.1,167.2 158.0,167.2 158.0,169.7 158.9,169.7 158.9,168.6 159.8,168.6 159.8,170.3 160.8,170.3 160.8,169.7 161.7,169.7 161.7,168.7 162.6,168.7 162.6,169.3 163.5,169.3 163.5,172.3 164.4,172.3 164.4,171.2 165.3,171.2 165.3,169.1 166.2,169.1 166.2,167.8 167.1,167.8 167.1,169.3 168.0,169.3 168.0,169.1 168.9,169.1 168.9,168.5 169.8,168.5 169.8,168.7 170.7,168.7 170.7,168.6 171.6,168.6 171.6,169.0 172.5,169.0 172.5,168.5 173.4,168.5 173.4,170.9 174.3,170.9 174.3,169.9 175.2,169.9 175.2,168.0 176.1,168.0 176.1,168.8 177.0,168.8 177.0,168.5 177.9,168.5 177.9,168.5 178.9,168.5 178.9,169.9 179.8,169.9 179.8,169.1 180.7,169.1 180.7,168.6 181.6,168.6 181.6,168.6 182.5,168.6 182.5,169.4 183.4,169.4 183.4,169.1 184.3,169.1 184.3,170.2 185.2,170.2 185.2,178.0 186.1,178.0 186.1,177.3 187.0,177.3 187.0,167.7 187.9,167.7 187.9,168.5 188.8,168.5 188.8,168.7 189.7,168.7 189.7,168.5 190.6,168.5 190.6,168.8 191.5,168.8 191.5,168.0 192.4,168.0 192.4,168.2 193.3,168.2 193.3,167.7 194.2,167.7 194.2,167.5 195.1,167.5 195.1,168.1 196.1,168.1 196.1,168.3 197.0,168.3 197.0,168.1 197.9,168.1 197.9,168.1 198.8,168.1 198.8,167.5 199.7,167.5 199.7,166.5 200.6,166.5 200.6,169.1 201.5,169.1 201.5,168.6 202.4,168.6 202.4,168.5 203.3,168.5 203.3,168.1 204.2,168.1 204.2,167.3 205.1,167.3 205.1,168.0 206.0,168.0 206.0,168.3 206.9,168.3 206.9,168.6 207.8,168.6 207.8,169.0 208.7,169.0 208.7,166.6 209.6,166.6 209.6,169.4 210.5,169.4 210.5,169.3 211.4,169.3 211.4,167.3 212.3,167.3 212.3,168.5 213.2,168.5 213.2,167.1 214.2,167.1 214.2,169.4 215.1,169.4 215.1,168.9 216.0,168.9 216.0,167.4 216.9,167.4 216.9,168.4 217.8,168.4 217.8,168.5 218.7,168.5 218.7,166.9 219.6,166.9 219.6,168.7 220.5,168.7 220.5,165.7 221.4,165.7 221.4,167.0 222.3,167.0 222.3,166.6 223.2,166.6 223.2,167.4 224.1,167.4 224.1,167.6 225.0,167.6 225.0,167.2 225.9,167.2 225.9,167.4 226.8,167.4 226.8,166.6 227.7,166.6 227.7,166.2 228.6,166.2 228.6,168.4 229.5,168.4 229.5,167.2 230.4,167.2 230.4,166.7 231.3,166.7 231.3,166.5 232.3,166.5 232.3,166.0 233.2,166.0 233.2,167.4 234.1,167.4 234.1,167.3 235.0,167.3 235.0,167.3 235.9Line truncated
<polyline class="nj-charts-json" points="44.0,208.0 44.9,208.0 44.9,208.2 45.8,208.2 45.8,208.1 46.7,208.1 46.7,207.7 47.6,207.7 47.6,207.2 48.5,207.2 48.5,208.0 49.4,208.0 49.4,208.2 50.3,208.2 50.3,207.8 51.2,207.8 51.2,208.5 52.1,208.5 52.1,207.3 53.1,207.3 53.1,208.0 54.0,208.0 54.0,209.1 54.9,209.1 54.9,208.5 55.8,208.5 55.8,208.1 56.7,208.1 56.7,207.7 57.6,207.7 57.6,209.8 58.5,209.8 58.5,208.6 59.4,208.6 59.4,208.1 60.3,208.1 60.3,208.1 61.2,208.1 61.2,207.0 62.1,207.0 62.1,207.8 63.0,207.8 63.0,207.6 63.9,207.6 63.9,208.1 64.8,208.1 64.8,208.4 65.7,208.4 65.7,207.8 66.6,207.8 66.6,207.4 67.5,207.4 67.5,208.3 68.4,208.3 68.4,207.3 69.3,207.3 69.3,207.8 70.2,207.8 70.2,207.9 71.2,207.9 71.2,207.9 72.1,207.9 72.1,207.5 73.0,207.5 73.0,207.5 73.9,207.5 73.9,208.1 74.8,208.1 74.8,208.1 75.7,208.1 75.7,207.9 76.6,207.9 76.6,207.8 77.5,207.8 77.5,207.1 78.4,207.1 78.4,207.6 79.3,207.6 79.3,207.8 80.2,207.8 80.2,207.3 81.1,207.3 81.1,207.6 82.0,207.6 82.0,208.6 82.9,208.6 82.9,206.5 83.8,206.5 83.8,208.0 84.7,208.0 84.7,208.7 85.6,208.7 85.6,208.0 86.5,208.0 86.5,207.7 87.4,207.7 87.4,208.4 88.3,208.4 88.3,207.9 89.3,207.9 89.3,207.5 90.2,207.5 90.2,207.9 91.1,207.9 91.1,207.4 92.0,207.4 92.0,207.5 92.9,207.5 92.9,208.5 93.8,208.5 93.8,197.5 94.7,197.5 94.7,197.9 95.6,197.9 95.6,196.9 96.5,196.9 96.5,197.0 97.4,197.0 97.4,197.7 98.3,197.7 98.3,196.0 99.2,196.0 99.2,197.3 100.1,197.3 100.1,198.1 101.0,198.1 101.0,197.4 101.9,197.4 101.9,197.0 102.8,197.0 102.8,197.5 103.7,197.5 103.7,197.3 104.6,197.3 104.6,197.7 105.5,197.7 105.5,197.7 106.4,197.7 106.4,197.6 107.4,197.6 107.4,196.9 108.3,196.9 108.3,197.9 109.2,197.9 109.2,197.9 110.1,197.9 110.1,197.6 111.0,197.6 111.0,197.6 111.9,197.6 111.9,197.6 112.8,197.6 112.8,198.1 113.7,198.1 113.7,198.0 114.6,198.0 114.6,195.3 115.5,195.3 115.5,196.6 116.4,196.6 116.4,197.9 117.3,197.9 117.3,197.0 118.2,197.0 118.2,196.3 119.1,196.3 119.1,196.8 120.0,196.8 120.0,196.6 120.9,196.6 120.9,196.6 121.8,196.6 121.8,197.7 122.7,197.7 122.7,197.5 123.6,197.5 123.6,198.1 124.6,198.1 124.6,195.9 125.5,195.9 125.5,197.5 126.4,197.5 126.4,197.6 127.3,197.6 127.3,196.7 128.2,196.7 128.2,197.0 129.1,197.0 129.1,198.0 130.0,198.0 130.0,197.0 130.9,197.0 130.9,197.2 131.8,197.2 131.8,196.6 132.7,196.6 132.7,197.0 133.6,197.0 133.6,197.2 134.5,197.2 134.5,197.6 135.4,197.6 135.4,197.8 136.3,197.8 136.3,197.2 137.2,197.2 137.2,197.6 138.1,197.6 138.1,197.3 139.0,197.3 139.0,197.0 139.9,197.0 139.9,168.6 140.8,168.6 140.8,169.7 141.7,169.7 141.7,170.1 142.7,170.1 142.7,168.9 143.6,168.9 143.6,168.3 144.5,168.3 144.5,169.9 145.4,169.9 145.4,168.7 146.3,168.7 146.3,168.3 147.2,168.3 147.2,169.7 148.1,169.7 148.1,170.9 149.0,170.9 149.0,168.1 149.9,168.1 149.9,170.2 150.8,170.2 150.8,169.1 151.7,169.1 151.7,170.1 152.6,170.1 152.6,168.5 153.5,168.5 153.5,169.7 154.4,169.7 154.4,170.1 155.3,170.1 155.3,169.8 156.2,169.8 156.2,169.1 157.1,169.1 157.1,167.2 158.0,167.2 158.0,169.7 158.9,169.7 158.9,168.6 159.8,168.6 159.8,170.3 160.8,170.3 160.8,169.7 161.7,169.7 161.7,168.7 162.6,168.7 162.6,169.3 163.5,169.3 163.5,172.3 164.4,172.3 164.4,171.2 165.3,171.2 165.3,169.1 166.2,169.1 166.2,167.8 167.1,167.8 167.1,169.3 168.0,169.3 168.0,169.1 168.9,169.1 168.9,168.5 169.8,168.5 169.8,168.7 170.7,168.7 170.7,168.6 171.6,168.6 171.6,169.0 172.5,169.0 172.5,168.5 173.4,168.5 173.4,170.9 174.3,170.9 174.3,169.9 175.2,169.9 175.2,168.0 176.1,168.0 176.1,168.8 177.0,168.8 177.0,168.5 177.9,168.5 177.9,168.5 178.9,168.5 178.9,169.9 179.8,169.9 179.8,169.1 180.7,169.1 180.7,168.6 181.6,168.6 181.6,168.6 182.5,168.6 182.5,169.4 183.4,169.4 183.4,169.1 184.3,169.1 184.3,170.2 185.2,170.2 185.2,178.0 186.1,178.0 186.1,177.3 187.0,177.3 187.0,167.7 187.9,167.7 187.9,168.5 188.8,168.5 188.8,168.7 189.7,168.7 189.7,168.5 190.6,168.5 190.6,168.8 191.5,168.8 191.5,168.0 192.4,168.0 192.4,168.2 193.3,168.2 193.3,167.7 194.2,167.7 194.2,167.5 195.1,167.5 195.1,168.1 196.1,168.1 196.1,168.3 197.0,168.3 197.0,168.1 197.9,168.1 197.9,168.1 198.8,168.1 198.8,167.5 199.7,167.5 199.7,166.5 200.6,166.5 200.6,169.1 201.5,169.1 201.5,168.6 202.4,168.6 202.4,168.5 203.3,168.5 203.3,168.1 204.2,168.1 204.2,167.3 205.1,167.3 205.1,168.0 206.0,168.0 206.0,168.3 206.9,168.3 206.9,168.6 207.8,168.6 207.8,169.0 208.7,169.0 208.7,166.6 209.6,166.6 209.6,169.4 210.5,169.4 210.5,169.3 211.4,169.3 211.4,167.3 212.3,167.3 212.3,168.5 213.2,168.5 213.2,167.1 214.2,167.1 214.2,169.4 215.1,169.4 215.1,168.9 216.0,168.9 216.0,167.4 216.9,167.4 216.9,168.4 217.8,168.4 217.8,168.5 218.7,168.5 218.7,166.9 219.6,166.9 219.6,168.7 220.5,168.7 220.5,165.7 221.4,165.7 221.4,167.0 222.3,167.0 222.3,166.6 223.2,166.6 223.2,167.4 224.1,167.4 224.1,167.6 225.0,167.6 225.0,167.2 225.9,167.2 225.9,167.4 226.8,167.4 226.8,166.6 227.7,166.6 227.7,166.2 228.6,166.2 228.6,168.4 229.5,168.4 229.5,167.2 230.4,167.2 230.4,166.7 231.3,166.7 231.3,166.5 232.3,166.5 232.3,166.0 233.2,166.0 233.2,167.4 234.1,167.4 234.1,167.3 235.0,167.3 235.0,167.3 235.9Line truncated
<circle class="nj-charts-json-dot" cx="93.8" cy="197.5" r="3.5"><title>#5234: 1.11&#215;</title></circle>
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="93.8" y1="54.0" x2="93.8" y2="192.5"/>
<circle class="nj-theme-dot" cx="93.8" cy="46.0" r="7.5"/>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

@@ -14,7 +14,7 @@
<text class="nj-charts-tick" x="126.361" y="225">Sep 2026</text>
<line class="nj-charts-axis" x1="215.962" y1="208" x2="215.962" y2="212"/>
<text class="nj-charts-tick" x="215.962" y="225">Oct</text>
<polyline class="nj-charts-json" points="44.0,208.0 44.9,208.0 44.9,209.3 45.8,209.3 45.8,206.6 46.7,206.6 46.7,208.3 47.6,208.3 47.6,205.9 48.5,205.9 48.5,209.3 49.4,209.3 49.4,208.3 50.3,208.3 50.3,207.9 51.2,207.9 51.2,209.4 52.1,209.4 52.1,205.8 53.1,205.8 53.1,206.7 54.0,206.7 54.0,209.2 54.9,209.2 54.9,208.1 55.8,208.1 55.8,206.9 56.7,206.9 56.7,207.5 57.6,207.5 57.6,207.5 58.5,207.5 58.5,207.6 59.4,207.6 59.4,206.9 60.3,206.9 60.3,206.9 61.2,206.9 61.2,208.4 62.1,208.4 62.1,208.6 63.0,208.6 63.0,209.1 63.9,209.1 63.9,207.7 64.8,207.7 64.8,207.0 65.7,207.0 65.7,206.7 66.6,206.7 66.6,206.1 67.5,206.1 67.5,207.5 68.4,207.5 68.4,206.4 69.3,206.4 69.3,206.7 70.2,206.7 70.2,206.8 71.2,206.8 71.2,209.3 72.1,209.3 72.1,206.7 73.0,206.7 73.0,206.8 73.9,206.8 73.9,206.6 74.8,206.6 74.8,206.8 75.7,206.8 75.7,209.2 76.6,209.2 76.6,207.6 77.5,207.6 77.5,205.9 78.4,205.9 78.4,209.1 79.3,209.1 79.3,206.6 80.2,206.6 80.2,207.4 81.1,207.4 81.1,207.0 82.0,207.0 82.0,209.1 82.9,209.1 82.9,205.8 83.8,205.8 83.8,206.9 84.7,206.9 84.7,208.0 85.6,208.0 85.6,208.5 86.5,208.5 86.5,206.6 87.4,206.6 87.4,206.0 88.3,206.0 88.3,207.9 89.3,207.9 89.3,206.6 90.2,206.6 90.2,206.5 91.1,206.5 91.1,206.6 92.0,206.6 92.0,207.2 92.9,207.2 92.9,208.0 93.8,208.0 93.8,208.1 94.7,208.1 94.7,206.7 95.6,206.7 95.6,207.8 96.5,207.8 96.5,206.7 97.4,206.7 97.4,208.1 98.3,208.1 98.3,205.9 99.2,205.9 99.2,206.8 100.1,206.8 100.1,208.0 101.0,208.0 101.0,207.3 101.9,207.3 101.9,206.7 102.8,206.7 102.8,209.3 103.7,209.3 103.7,206.5 104.6,206.5 104.6,207.2 105.5,207.2 105.5,208.2 106.4,208.2 106.4,209.3 107.4,209.3 107.4,207.8 108.3,207.8 108.3,206.9 109.2,206.9 109.2,206.7 110.1,206.7 110.1,209.0 111.0,209.0 111.0,208.0 111.9,208.0 111.9,208.1 112.8,208.1 112.8,209.1 113.7,209.1 113.7,208.1 114.6,208.1 114.6,205.6 115.5,205.6 115.5,207.0 116.4,207.0 116.4,206.7 117.3,206.7 117.3,207.9 118.2,207.9 118.2,206.7 119.1,206.7 119.1,206.9 120.0,206.9 120.0,206.8 120.9,206.8 120.9,206.4 121.8,206.4 121.8,207.1 122.7,207.1 122.7,208.6 123.6,208.6 123.6,208.7 124.6,208.7 124.6,206.6 125.5,206.6 125.5,209.3 126.4,209.3 126.4,208.0 127.3,208.0 127.3,206.7 128.2,206.7 128.2,207.7 129.1,207.7 129.1,206.9 130.0,206.9 130.0,208.8 130.9,208.8 130.9,208.7 131.8,208.7 131.8,207.7 132.7,207.7 132.7,208.8 133.6,208.8 133.6,207.8 134.5,207.8 134.5,210.3 135.4,210.3 135.4,208.9 136.3,208.9 136.3,208.9 137.2,208.9 137.2,209.0 138.1,209.0 138.1,208.0 139.0,208.0 139.0,207.7 139.9,207.7 139.9,208.3 140.8,208.3 140.8,207.0 141.7,207.0 141.7,207.2 142.7,207.2 142.7,207.5 143.6,207.5 143.6,208.0 144.5,208.0 144.5,207.6 145.4,207.6 145.4,207.9 146.3,207.9 146.3,207.6 147.2,207.6 147.2,208.5 148.1,208.5 148.1,209.2 149.0,209.2 149.0,206.3 149.9,206.3 149.9,208.7 150.8,208.7 150.8,207.6 151.7,207.6 151.7,207.4 152.6,207.4 152.6,207.5 153.5,207.5 153.5,209.0 154.4,209.0 154.4,206.9 155.3,206.9 155.3,209.3 156.2,209.3 156.2,209.9 157.1,209.9 157.1,207.0 158.0,207.0 158.0,207.3 158.9,207.3 158.9,208.1 159.8,208.1 159.8,209.8 160.8,209.8 160.8,208.1 161.7,208.1 161.7,208.1 162.6,208.1 162.6,208.5 163.5,208.5 163.5,208.2 164.4,208.2 164.4,210.4 165.3,210.4 165.3,207.7 166.2,207.7 166.2,207.2 167.1,207.2 167.1,206.7 168.0,206.7 168.0,209.9 168.9,209.9 168.9,206.6 169.8,206.6 169.8,209.9 170.7,209.9 170.7,208.8 171.6,208.8 171.6,208.8 172.5,208.8 172.5,209.5 173.4,209.5 173.4,208.9 174.3,208.9 174.3,206.4 175.2,206.4 175.2,207.2 176.1,207.2 176.1,207.0 177.0,207.0 177.0,207.2 177.9,207.2 177.9,206.6 178.9,206.6 178.9,207.2 179.8,207.2 179.8,208.0 180.7,208.0 180.7,207.6 181.6,207.6 181.6,207.9 182.5,207.9 182.5,207.5 183.4,207.5 183.4,205.6 184.3,205.6 184.3,208.0 185.2,208.0 185.2,209.7 186.1,209.7 186.1,207.9 187.0,207.9 187.0,207.6 187.9,207.6 187.9,208.5 188.8,208.5 188.8,207.9 189.7,207.9 189.7,210.4 190.6,210.4 190.6,206.7 191.5,206.7 191.5,207.7 192.4,207.7 192.4,209.2 193.3,209.2 193.3,206.8 194.2,206.8 194.2,209.3 195.1,209.3 195.1,208.0 196.1,208.0 196.1,208.0 197.0,208.0 197.0,207.9 197.9,207.9 197.9,208.2 198.8,208.2 198.8,207.9 199.7,207.9 199.7,207.0 200.6,207.0 200.6,208.8 201.5,208.8 201.5,208.0 202.4,208.0 202.4,208.0 203.3,208.0 203.3,209.2 204.2,209.2 204.2,206.7 205.1,206.7 205.1,206.7 206.0,206.7 206.0,208.5 206.9,208.5 206.9,208.9 207.8,208.9 207.8,210.1 208.7,210.1 208.7,206.4 209.6,206.4 209.6,209.4 210.5,209.4 210.5,210.1 211.4,210.1 211.4,207.6 212.3,207.6 212.3,209.5 213.2,209.5 213.2,208.7 214.2,208.7 214.2,211.1 215.1,211.1 215.1,210.1 216.0,210.1 216.0,211.7 216.9,211.7 216.9,208.8 217.8,208.8 217.8,209.2 218.7,209.2 218.7,207.7 219.6,207.7 219.6,208.1 220.5,208.1 220.5,206.4 221.4,206.4 221.4,206.7 222.3,206.7 222.3,207.3 223.2,207.3 223.2,207.8 224.1,207.8 224.1,208.7 225.0,208.7 225.0,210.1 225.9,210.1 225.9,210.0 226.8,210.0 226.8,206.9 227.7,206.9 227.7,209.0 228.6,209.0 228.6,208.7 229.5,208.7 229.5,209.1 230.4,209.1 230.4,208.6 231.3,208.6 231.3,208.9 232.3,208.9 232.3,207.3 233.2,207.3 233.2,208.9 234.1,208.9 234.1,209.2 235.0,209.2 235.0,207.3 235.9Line truncated
<polyline class="nj-charts-json" points="44.0,208.0 44.9,208.0 44.9,209.3 45.8,209.3 45.8,206.6 46.7,206.6 46.7,208.3 47.6,208.3 47.6,205.9 48.5,205.9 48.5,209.3 49.4,209.3 49.4,208.3 50.3,208.3 50.3,207.9 51.2,207.9 51.2,209.4 52.1,209.4 52.1,205.8 53.1,205.8 53.1,206.7 54.0,206.7 54.0,209.2 54.9,209.2 54.9,208.1 55.8,208.1 55.8,206.9 56.7,206.9 56.7,207.5 57.6,207.5 57.6,207.5 58.5,207.5 58.5,207.6 59.4,207.6 59.4,206.9 60.3,206.9 60.3,206.9 61.2,206.9 61.2,208.4 62.1,208.4 62.1,208.6 63.0,208.6 63.0,209.1 63.9,209.1 63.9,207.7 64.8,207.7 64.8,207.0 65.7,207.0 65.7,206.7 66.6,206.7 66.6,206.1 67.5,206.1 67.5,207.5 68.4,207.5 68.4,206.4 69.3,206.4 69.3,206.7 70.2,206.7 70.2,206.8 71.2,206.8 71.2,209.3 72.1,209.3 72.1,206.7 73.0,206.7 73.0,206.8 73.9,206.8 73.9,206.6 74.8,206.6 74.8,206.8 75.7,206.8 75.7,209.2 76.6,209.2 76.6,207.6 77.5,207.6 77.5,205.9 78.4,205.9 78.4,209.1 79.3,209.1 79.3,206.6 80.2,206.6 80.2,207.4 81.1,207.4 81.1,207.0 82.0,207.0 82.0,209.1 82.9,209.1 82.9,205.8 83.8,205.8 83.8,206.9 84.7,206.9 84.7,208.0 85.6,208.0 85.6,208.5 86.5,208.5 86.5,206.6 87.4,206.6 87.4,206.0 88.3,206.0 88.3,207.9 89.3,207.9 89.3,206.6 90.2,206.6 90.2,206.5 91.1,206.5 91.1,206.6 92.0,206.6 92.0,207.2 92.9,207.2 92.9,208.0 93.8,208.0 93.8,208.1 94.7,208.1 94.7,206.7 95.6,206.7 95.6,207.8 96.5,207.8 96.5,206.7 97.4,206.7 97.4,208.1 98.3,208.1 98.3,205.9 99.2,205.9 99.2,206.8 100.1,206.8 100.1,208.0 101.0,208.0 101.0,207.3 101.9,207.3 101.9,206.7 102.8,206.7 102.8,209.3 103.7,209.3 103.7,206.5 104.6,206.5 104.6,207.2 105.5,207.2 105.5,208.2 106.4,208.2 106.4,209.3 107.4,209.3 107.4,207.8 108.3,207.8 108.3,206.9 109.2,206.9 109.2,206.7 110.1,206.7 110.1,209.0 111.0,209.0 111.0,208.0 111.9,208.0 111.9,208.1 112.8,208.1 112.8,209.1 113.7,209.1 113.7,208.1 114.6,208.1 114.6,205.6 115.5,205.6 115.5,207.0 116.4,207.0 116.4,206.7 117.3,206.7 117.3,207.9 118.2,207.9 118.2,206.7 119.1,206.7 119.1,206.9 120.0,206.9 120.0,206.8 120.9,206.8 120.9,206.4 121.8,206.4 121.8,207.1 122.7,207.1 122.7,208.6 123.6,208.6 123.6,208.7 124.6,208.7 124.6,206.6 125.5,206.6 125.5,209.3 126.4,209.3 126.4,208.0 127.3,208.0 127.3,206.7 128.2,206.7 128.2,207.7 129.1,207.7 129.1,206.9 130.0,206.9 130.0,208.8 130.9,208.8 130.9,208.7 131.8,208.7 131.8,207.7 132.7,207.7 132.7,208.8 133.6,208.8 133.6,207.8 134.5,207.8 134.5,210.3 135.4,210.3 135.4,208.9 136.3,208.9 136.3,208.9 137.2,208.9 137.2,209.0 138.1,209.0 138.1,208.0 139.0,208.0 139.0,207.7 139.9,207.7 139.9,208.3 140.8,208.3 140.8,207.0 141.7,207.0 141.7,207.2 142.7,207.2 142.7,207.5 143.6,207.5 143.6,208.0 144.5,208.0 144.5,207.6 145.4,207.6 145.4,207.9 146.3,207.9 146.3,207.6 147.2,207.6 147.2,208.5 148.1,208.5 148.1,209.2 149.0,209.2 149.0,206.3 149.9,206.3 149.9,208.7 150.8,208.7 150.8,207.6 151.7,207.6 151.7,207.4 152.6,207.4 152.6,207.5 153.5,207.5 153.5,209.0 154.4,209.0 154.4,206.9 155.3,206.9 155.3,209.3 156.2,209.3 156.2,209.9 157.1,209.9 157.1,207.0 158.0,207.0 158.0,207.3 158.9,207.3 158.9,208.1 159.8,208.1 159.8,209.8 160.8,209.8 160.8,208.1 161.7,208.1 161.7,208.1 162.6,208.1 162.6,208.5 163.5,208.5 163.5,208.2 164.4,208.2 164.4,210.4 165.3,210.4 165.3,207.7 166.2,207.7 166.2,207.2 167.1,207.2 167.1,206.7 168.0,206.7 168.0,209.9 168.9,209.9 168.9,206.6 169.8,206.6 169.8,209.9 170.7,209.9 170.7,208.8 171.6,208.8 171.6,208.8 172.5,208.8 172.5,209.5 173.4,209.5 173.4,208.9 174.3,208.9 174.3,206.4 175.2,206.4 175.2,207.2 176.1,207.2 176.1,207.0 177.0,207.0 177.0,207.2 177.9,207.2 177.9,206.6 178.9,206.6 178.9,207.2 179.8,207.2 179.8,208.0 180.7,208.0 180.7,207.6 181.6,207.6 181.6,207.9 182.5,207.9 182.5,207.5 183.4,207.5 183.4,205.6 184.3,205.6 184.3,208.0 185.2,208.0 185.2,209.7 186.1,209.7 186.1,207.9 187.0,207.9 187.0,207.6 187.9,207.6 187.9,208.5 188.8,208.5 188.8,207.9 189.7,207.9 189.7,210.4 190.6,210.4 190.6,206.7 191.5,206.7 191.5,207.7 192.4,207.7 192.4,209.2 193.3,209.2 193.3,206.8 194.2,206.8 194.2,209.3 195.1,209.3 195.1,208.0 196.1,208.0 196.1,208.0 197.0,208.0 197.0,207.9 197.9,207.9 197.9,208.2 198.8,208.2 198.8,207.9 199.7,207.9 199.7,207.0 200.6,207.0 200.6,208.8 201.5,208.8 201.5,208.0 202.4,208.0 202.4,208.0 203.3,208.0 203.3,209.2 204.2,209.2 204.2,206.7 205.1,206.7 205.1,206.7 206.0,206.7 206.0,208.5 206.9,208.5 206.9,208.9 207.8,208.9 207.8,210.1 208.7,210.1 208.7,206.4 209.6,206.4 209.6,209.4 210.5,209.4 210.5,210.1 211.4,210.1 211.4,207.6 212.3,207.6 212.3,209.5 213.2,209.5 213.2,208.7 214.2,208.7 214.2,211.1 215.1,211.1 215.1,210.1 216.0,210.1 216.0,211.7 216.9,211.7 216.9,208.8 217.8,208.8 217.8,209.2 218.7,209.2 218.7,207.7 219.6,207.7 219.6,208.1 220.5,208.1 220.5,206.4 221.4,206.4 221.4,206.7 222.3,206.7 222.3,207.3 223.2,207.3 223.2,207.8 224.1,207.8 224.1,208.7 225.0,208.7 225.0,210.1 225.9,210.1 225.9,210.0 226.8,210.0 226.8,206.9 227.7,206.9 227.7,209.0 228.6,209.0 228.6,208.7 229.5,208.7 229.5,209.1 230.4,209.1 230.4,208.6 231.3,208.6 231.3,208.9 232.3,208.9 232.3,207.3 233.2,207.3 233.2,208.9 234.1,208.9 234.1,209.2 235.0,209.2 235.0,207.3 235.9Line truncated
<circle class="nj-charts-json-dot" cx="287.5" cy="138.8" r="3.5"><title>#5828: 1.97&#215;</title></circle>
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="287.5" y1="54.0" x2="287.5" y2="133.8"/>
<circle class="nj-theme-dot" cx="287.5" cy="46.0" r="7.5"/>

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

@@ -1,6 +1,6 @@
<svg class="nj-fig nj-charts nj-charts--timeline" viewBox="0 0 340 270" role="img" aria-labelledby="nj-blog-tl-to_cbor_twitter nj-blog-tl-to_cbor_twitter-d" xmlns="http://www.w3.org/2000/svg">
<title id="nj-blog-tl-to_cbor_twitter">to_cbor() twitter: speedup over 3.12.0 by commit</title>
<desc id="nj-blog-tl-to_cbor_twitter-d">to_cbor() twitter: speedup over 3.12.0 at each of 317 commits, ending at 5.0x. Labeled steps, by theme: 4, 6, 6.</desc>
<desc id="nj-blog-tl-to_cbor_twitter-d">to_cbor() twitter: speedup over 3.12.0 at each of 317 commits, ending at 5.1x. Labeled steps, by theme: 4, 6, 6.</desc>
<text class="nj-charts-panel" x="8" y="18">to_cbor() twitter</text>
<line class="nj-charts-grid" x1="44" y1="208" x2="330" y2="208"/>
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="212">1&#215;</text>
@@ -16,7 +16,7 @@
<text class="nj-charts-tick" x="126.361" y="225">Sep 2026</text>
<line class="nj-charts-axis" x1="215.962" y1="208" x2="215.962" y2="212"/>
<text class="nj-charts-tick" x="215.962" y="225">Oct</text>
<polyline class="nj-charts-json" points="44.0,208.0 44.9,208.0 44.9,208.0 45.8,208.0 45.8,204.9 46.7,204.9 46.7,205.2 47.6,205.2 47.6,204.7 48.5,204.7 48.5,205.2 49.4,205.2 49.4,205.0 50.3,205.0 50.3,204.9 51.2,204.9 51.2,205.0 52.1,205.0 52.1,205.0 53.1,205.0 53.1,205.1 54.0,205.1 54.0,205.4 54.9,205.4 54.9,205.0 55.8,205.0 55.8,205.2 56.7,205.2 56.7,211.6 57.6,211.6 57.6,206.8 58.5,206.8 58.5,204.2 59.4,204.2 59.4,207.6 60.3,207.6 60.3,204.1 61.2,204.1 61.2,203.8 62.1,203.8 62.1,204.2 63.0,204.2 63.0,205.1 63.9,205.1 63.9,204.4 64.8,204.4 64.8,204.3 65.7,204.3 65.7,204.0 66.6,204.0 66.6,202.7 67.5,202.7 67.5,204.2 68.4,204.2 68.4,204.2 69.3,204.2 69.3,204.2 70.2,204.2 70.2,204.4 71.2,204.4 71.2,206.2 72.1,206.2 72.1,204.3 73.0,204.3 73.0,204.1 73.9,204.1 73.9,204.3 74.8,204.3 74.8,204.3 75.7,204.3 75.7,204.3 76.6,204.3 76.6,204.3 77.5,204.3 77.5,204.4 78.4,204.4 78.4,204.8 79.3,204.8 79.3,208.4 80.2,208.4 80.2,203.5 81.1,203.5 81.1,206.2 82.0,206.2 82.0,204.4 82.9,204.4 82.9,203.2 83.8,203.2 83.8,204.1 84.7,204.1 84.7,204.2 85.6,204.2 85.6,203.7 86.5,203.7 86.5,204.2 87.4,204.2 87.4,203.2 88.3,203.2 88.3,204.2 89.3,204.2 89.3,204.4 90.2,204.4 90.2,203.8 91.1,203.8 91.1,204.4 92.0,204.4 92.0,204.7 92.9,204.7 92.9,204.6 93.8,204.6 93.8,208.7 94.7,208.7 94.7,205.2 95.6,205.2 95.6,205.5 96.5,205.5 96.5,205.2 97.4,205.2 97.4,205.3 98.3,205.3 98.3,206.8 99.2,206.8 99.2,204.6 100.1,204.6 100.1,205.5 101.0,205.5 101.0,205.1 101.9,205.1 101.9,204.7 102.8,204.7 102.8,205.7 103.7,205.7 103.7,205.0 104.6,205.0 104.6,204.9 105.5,204.9 105.5,206.5 106.4,206.5 106.4,205.6 107.4,205.6 107.4,205.0 108.3,205.0 108.3,209.2 109.2,209.2 109.2,205.9 110.1,205.9 110.1,206.5 111.0,206.5 111.0,205.5 111.9,205.5 111.9,205.3 112.8,205.3 112.8,205.3 113.7,205.3 113.7,205.1 114.6,205.1 114.6,204.4 115.5,204.4 115.5,204.6 116.4,204.6 116.4,204.8 117.3,204.8 117.3,204.2 118.2,204.2 118.2,203.8 119.1,203.8 119.1,204.4 120.0,204.4 120.0,202.8 120.9,202.8 120.9,203.5 121.8,203.5 121.8,204.0 122.7,204.0 122.7,204.3 123.6,204.3 123.6,202.9 124.6,202.9 124.6,203.3 125.5,203.3 125.5,204.4 126.4,204.4 126.4,204.5 127.3,204.5 127.3,204.1 128.2,204.1 128.2,208.3 129.1,208.3 129.1,203.8 130.0,203.8 130.0,207.0 130.9,207.0 130.9,205.9 131.8,205.9 131.8,205.4 132.7,205.4 132.7,205.3 133.6,205.3 133.6,205.8 134.5,205.8 134.5,205.4 135.4,205.4 135.4,205.6 136.3,205.6 136.3,206.3 137.2,206.3 137.2,205.5 138.1,205.5 138.1,204.8 139.0,204.8 139.0,204.6 139.9,204.6 139.9,206.1 140.8,206.1 140.8,204.6 141.7,204.6 141.7,204.1 142.7,204.1 142.7,204.3 143.6,204.3 143.6,205.6 144.5,205.6 144.5,203.9 145.4,203.9 145.4,204.0 146.3,204.0 146.3,203.9 147.2,203.9 147.2,204.6 148.1,204.6 148.1,204.1 149.0,204.1 149.0,203.9 149.9,203.9 149.9,204.8 150.8,204.8 150.8,203.2 151.7,203.2 151.7,203.3 152.6,203.3 152.6,204.7 153.5,204.7 153.5,208.3 154.4,208.3 154.4,204.3 155.3,204.3 155.3,207.4 156.2,207.4 156.2,204.4 157.1,204.4 157.1,208.2 158.0,208.2 158.0,205.0 158.9,205.0 158.9,204.9 159.8,204.9 159.8,208.8 160.8,208.8 160.8,207.9 161.7,207.9 161.7,206.2 162.6,206.2 162.6,204.2 163.5,204.2 163.5,204.1 164.4,204.1 164.4,204.2 165.3,204.2 165.3,202.2 166.2,202.2 166.2,205.6 167.1,205.6 167.1,203.0 168.0,203.0 168.0,203.4 168.9,203.4 168.9,202.7 169.8,202.7 169.8,203.6 170.7,203.6 170.7,203.3 171.6,203.3 171.6,203.2 172.5,203.2 172.5,204.9 173.4,204.9 173.4,202.9 174.3,202.9 174.3,202.2 175.2,202.2 175.2,202.5 176.1,202.5 176.1,202.9 177.0,202.9 177.0,202.9 177.9,202.9 177.9,202.3 178.9,202.3 178.9,202.9 179.8,202.9 179.8,203.7 180.7,203.7 180.7,204.1 181.6,204.1 181.6,203.9 182.5,203.9 182.5,203.7 183.4,203.7 183.4,203.3 184.3,203.3 184.3,203.8 185.2,203.8 185.2,205.0 186.1,205.0 186.1,208.0 187.0,208.0 187.0,205.1 187.9,205.1 187.9,206.5 188.8,206.5 188.8,205.4 189.7,205.4 189.7,205.4 190.6,205.4 190.6,207.0 191.5,207.0 191.5,204.9 192.4,204.9 192.4,205.4 193.3,205.4 193.3,203.6 194.2,203.6 194.2,205.7 195.1,205.7 195.1,204.5 196.1,204.5 196.1,205.0 197.0,205.0 197.0,205.2 197.9,205.2 197.9,204.9 198.8,204.9 198.8,204.5 199.7,204.5 199.7,204.9 200.6,204.9 200.6,205.3 201.5,205.3 201.5,203.9 202.4,203.9 202.4,204.8 203.3,204.8 203.3,204.8 204.2,204.8 204.2,203.6 205.1,203.6 205.1,203.4 206.0,203.4 206.0,203.8 206.9,203.8 206.9,205.1 207.8,205.1 207.8,205.5 208.7,205.5 208.7,204.0 209.6,204.0 209.6,204.9 210.5,204.9 210.5,205.0 211.4,205.0 211.4,206.4 212.3,206.4 212.3,205.1 213.2,205.1 213.2,204.5 214.2,204.5 214.2,204.8 215.1,204.8 215.1,205.2 216.0,205.2 216.0,205.0 216.9,205.0 216.9,204.6 217.8,204.6 217.8,203.9 218.7,203.9 218.7,203.5 219.6,203.5 219.6,203.6 220.5,203.6 220.5,204.2 221.4,204.2 221.4,205.9 222.3,205.9 222.3,205.2 223.2,205.2 223.2,204.8 224.1,204.8 224.1,207.3 225.0,207.3 225.0,205.2 225.9,205.2 225.9,208.6 226.8,208.6 226.8,204.3 227.7,204.3 227.7,203.9 228.6,203.9 228.6,203.2 229.5,203.2 229.5,203.9 230.4,203.9 230.4,205.9 231.3,205.9 231.3,204.8 232.3,204.8 232.3,204.7 233.2,204.7 233.2,203.6 234.1,203.6 234.1,203.7 235.0,203.7 235.0,208.2 235.9Line truncated
<polyline class="nj-charts-json" points="44.0,208.0 44.9,208.0 44.9,208.0 45.8,208.0 45.8,204.9 46.7,204.9 46.7,205.2 47.6,205.2 47.6,204.7 48.5,204.7 48.5,205.2 49.4,205.2 49.4,205.0 50.3,205.0 50.3,204.9 51.2,204.9 51.2,205.0 52.1,205.0 52.1,205.0 53.1,205.0 53.1,205.1 54.0,205.1 54.0,205.4 54.9,205.4 54.9,205.0 55.8,205.0 55.8,205.2 56.7,205.2 56.7,211.6 57.6,211.6 57.6,206.8 58.5,206.8 58.5,204.2 59.4,204.2 59.4,207.6 60.3,207.6 60.3,204.1 61.2,204.1 61.2,203.8 62.1,203.8 62.1,204.2 63.0,204.2 63.0,205.1 63.9,205.1 63.9,204.4 64.8,204.4 64.8,204.3 65.7,204.3 65.7,204.0 66.6,204.0 66.6,202.7 67.5,202.7 67.5,204.2 68.4,204.2 68.4,204.2 69.3,204.2 69.3,204.2 70.2,204.2 70.2,204.4 71.2,204.4 71.2,206.2 72.1,206.2 72.1,204.3 73.0,204.3 73.0,204.1 73.9,204.1 73.9,204.3 74.8,204.3 74.8,204.3 75.7,204.3 75.7,204.3 76.6,204.3 76.6,204.3 77.5,204.3 77.5,204.4 78.4,204.4 78.4,204.8 79.3,204.8 79.3,208.4 80.2,208.4 80.2,203.5 81.1,203.5 81.1,206.2 82.0,206.2 82.0,204.4 82.9,204.4 82.9,203.2 83.8,203.2 83.8,204.1 84.7,204.1 84.7,204.2 85.6,204.2 85.6,203.7 86.5,203.7 86.5,204.2 87.4,204.2 87.4,203.2 88.3,203.2 88.3,204.2 89.3,204.2 89.3,204.4 90.2,204.4 90.2,203.8 91.1,203.8 91.1,204.4 92.0,204.4 92.0,204.7 92.9,204.7 92.9,204.6 93.8,204.6 93.8,208.7 94.7,208.7 94.7,205.2 95.6,205.2 95.6,205.5 96.5,205.5 96.5,205.2 97.4,205.2 97.4,205.3 98.3,205.3 98.3,206.8 99.2,206.8 99.2,204.6 100.1,204.6 100.1,205.5 101.0,205.5 101.0,205.1 101.9,205.1 101.9,204.7 102.8,204.7 102.8,205.7 103.7,205.7 103.7,205.0 104.6,205.0 104.6,204.9 105.5,204.9 105.5,206.5 106.4,206.5 106.4,205.6 107.4,205.6 107.4,205.0 108.3,205.0 108.3,209.2 109.2,209.2 109.2,205.9 110.1,205.9 110.1,206.5 111.0,206.5 111.0,205.5 111.9,205.5 111.9,205.3 112.8,205.3 112.8,205.3 113.7,205.3 113.7,205.1 114.6,205.1 114.6,204.4 115.5,204.4 115.5,204.6 116.4,204.6 116.4,204.8 117.3,204.8 117.3,204.2 118.2,204.2 118.2,203.8 119.1,203.8 119.1,204.4 120.0,204.4 120.0,202.8 120.9,202.8 120.9,203.5 121.8,203.5 121.8,204.0 122.7,204.0 122.7,204.3 123.6,204.3 123.6,202.9 124.6,202.9 124.6,203.3 125.5,203.3 125.5,204.4 126.4,204.4 126.4,204.5 127.3,204.5 127.3,204.1 128.2,204.1 128.2,208.3 129.1,208.3 129.1,203.8 130.0,203.8 130.0,207.0 130.9,207.0 130.9,205.9 131.8,205.9 131.8,205.4 132.7,205.4 132.7,205.3 133.6,205.3 133.6,205.8 134.5,205.8 134.5,205.4 135.4,205.4 135.4,205.6 136.3,205.6 136.3,206.3 137.2,206.3 137.2,205.5 138.1,205.5 138.1,204.8 139.0,204.8 139.0,204.6 139.9,204.6 139.9,206.1 140.8,206.1 140.8,204.6 141.7,204.6 141.7,204.1 142.7,204.1 142.7,204.3 143.6,204.3 143.6,205.6 144.5,205.6 144.5,203.9 145.4,203.9 145.4,204.0 146.3,204.0 146.3,203.9 147.2,203.9 147.2,204.6 148.1,204.6 148.1,204.1 149.0,204.1 149.0,203.9 149.9,203.9 149.9,204.8 150.8,204.8 150.8,203.2 151.7,203.2 151.7,203.3 152.6,203.3 152.6,204.7 153.5,204.7 153.5,208.3 154.4,208.3 154.4,204.3 155.3,204.3 155.3,207.4 156.2,207.4 156.2,204.4 157.1,204.4 157.1,208.2 158.0,208.2 158.0,205.0 158.9,205.0 158.9,204.9 159.8,204.9 159.8,208.8 160.8,208.8 160.8,207.9 161.7,207.9 161.7,206.2 162.6,206.2 162.6,204.2 163.5,204.2 163.5,204.1 164.4,204.1 164.4,204.2 165.3,204.2 165.3,202.2 166.2,202.2 166.2,205.6 167.1,205.6 167.1,203.0 168.0,203.0 168.0,203.4 168.9,203.4 168.9,202.7 169.8,202.7 169.8,203.6 170.7,203.6 170.7,203.3 171.6,203.3 171.6,203.2 172.5,203.2 172.5,204.9 173.4,204.9 173.4,202.9 174.3,202.9 174.3,202.2 175.2,202.2 175.2,202.5 176.1,202.5 176.1,202.9 177.0,202.9 177.0,202.9 177.9,202.9 177.9,202.3 178.9,202.3 178.9,202.9 179.8,202.9 179.8,203.7 180.7,203.7 180.7,204.1 181.6,204.1 181.6,203.9 182.5,203.9 182.5,203.7 183.4,203.7 183.4,203.3 184.3,203.3 184.3,203.8 185.2,203.8 185.2,205.0 186.1,205.0 186.1,208.0 187.0,208.0 187.0,205.1 187.9,205.1 187.9,206.5 188.8,206.5 188.8,205.4 189.7,205.4 189.7,205.4 190.6,205.4 190.6,207.0 191.5,207.0 191.5,204.9 192.4,204.9 192.4,205.4 193.3,205.4 193.3,203.6 194.2,203.6 194.2,205.7 195.1,205.7 195.1,204.5 196.1,204.5 196.1,205.0 197.0,205.0 197.0,205.2 197.9,205.2 197.9,204.9 198.8,204.9 198.8,204.5 199.7,204.5 199.7,204.9 200.6,204.9 200.6,205.3 201.5,205.3 201.5,203.9 202.4,203.9 202.4,204.8 203.3,204.8 203.3,204.8 204.2,204.8 204.2,203.6 205.1,203.6 205.1,203.4 206.0,203.4 206.0,203.8 206.9,203.8 206.9,205.1 207.8,205.1 207.8,205.5 208.7,205.5 208.7,204.0 209.6,204.0 209.6,204.9 210.5,204.9 210.5,205.0 211.4,205.0 211.4,206.4 212.3,206.4 212.3,205.1 213.2,205.1 213.2,204.5 214.2,204.5 214.2,204.8 215.1,204.8 215.1,205.2 216.0,205.2 216.0,205.0 216.9,205.0 216.9,204.6 217.8,204.6 217.8,203.9 218.7,203.9 218.7,203.5 219.6,203.5 219.6,203.6 220.5,203.6 220.5,204.2 221.4,204.2 221.4,205.9 222.3,205.9 222.3,205.2 223.2,205.2 223.2,204.8 224.1,204.8 224.1,207.3 225.0,207.3 225.0,205.2 225.9,205.2 225.9,208.6 226.8,208.6 226.8,204.3 227.7,204.3 227.7,203.9 228.6,203.9 228.6,203.2 229.5,203.2 229.5,203.9 230.4,203.9 230.4,205.9 231.3,205.9 231.3,204.8 232.3,204.8 232.3,204.7 233.2,204.7 233.2,203.6 234.1,203.6 234.1,203.7 235.0,203.7 235.0,208.2 235.9Line truncated
<circle class="nj-charts-json-dot" cx="256.7" cy="153.7" r="3.5"><title>#5328: 2.2&#215;</title></circle>
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="256.7" y1="54.0" x2="256.7" y2="148.7"/>
<circle class="nj-theme-dot" cx="256.7" cy="46.0" r="7.5"/>

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

+182 -182
View File
@@ -1,183 +1,183 @@
benchmark,unit,3.12.0,3.13.0,speedup
FromBinaryBuffer/bson / twitter,ns,3.07203e+06,998445,3.077
ParseStringOrdered/jeopardy,ns,3.56038e+08,1.10829e+08,3.213
JsonPointerToString/twitter,ns,2.16889e+06,793513,2.733
BinaryToCbor/8192,ns,511.25,238.725,2.142
FromMsgpack/unsigned_ints,ns,5.51164e+07,2.72444e+07,2.023
JsonPointerAt/twitter,ns,780306,585055,1.334
CopyOnly/twitter,ns,393964,399209,0.987
FlattenOrdered/citm_catalog,ns,2.52682e+08,1.37388e+06,183.919
FromBinaryFile/ubjson / canada,ns,1.34e+07,6.20075e+06,2.161
FromBinaryShape/containers / bjdata,ns,1.41456e+07,7.04794e+06,2.007
ParseIndented/jeopardy / 4,ns,3.33616e+08,1.31177e+08,2.543
FromMsgpack/signed_ints,ns,6.19882e+07,3.19294e+07,1.941
FromBinaryShape/containers / bson,ns,1.69936e+07,9.81169e+06,1.732
BinaryToCbor/128,ns,247.24,110.472,2.238
FromBinaryBuffer/cbor / jeopardy,ns,3.52319e+08,1.15873e+08,3.041
ParseFile/jeopardy,ns,3.26899e+08,1.57231e+08,2.079
FromMsgpack/jeopardy,ns,1.11847e+09,1.81305e+08,6.169
FromBinaryFile/cbor / twitter,ns,9.70523e+06,1.5381e+06,6.310
ToCbor/floats,ns,8.8461e+06,1.88426e+06,4.695
ParseFile/small_signed_ints,ns,6.30771e+07,3.13826e+07,2.010
FromBinaryBuffer/msgpack / twitter,ns,3.01937e+06,937570,3.220
BinaryToCbor/16384,ns,947.242,408.275,2.320
FromBinaryFile/bson / twitter,ns,9.98109e+06,1.78121e+06,5.604
ParseString/twitter,ns,3.15572e+06,1.04655e+06,3.015
Unflatten/twitter,ns,4.47709e+06,2.11403e+06,2.118
BinaryToCbor/8,ns,242.891,46.6253,5.209
BinaryToCbor/16,ns,238.431,46.5179,5.126
Dump/small_signed_ints / 4,ns,2.49933e+07,8.62966e+06,2.896
ParseString/jeopardy,ns,3.04927e+08,1.29515e+08,2.354
Dump/signed_ints / 4,ns,3.18294e+07,1.68297e+07,1.891
Flatten/twitter,ns,3.4886e+06,2.00532e+06,1.740
FromBinaryBuffer/cbor / twitter,ns,3.00428e+06,964870,3.114
Dump/jeopardy / 4,ns,2.19025e+08,3.43818e+07,6.370
SaxParse/citm_catalog,ns,6.33865e+06,969665,6.537
JsonPointerAt/citm_catalog,ns,1.80656e+06,1.10975e+06,1.628
DestroyOnly/citm_catalog,ns,874073,663615,1.317
FromBinaryShape/scalars / ubjson,ns,2.46643e+07,1.13906e+07,2.165
Unflatten/canada,ns,4.04569e+07,1.07458e+07,3.765
ParseString/floats,ns,1.18934e+08,3.02332e+07,3.934
ParseIndented/canada / 4,ns,3.38495e+07,5.02409e+06,6.737
ParseString/signed_ints,ns,1.19593e+08,3.14351e+07,3.804
ParseFile/signed_ints,ns,1.24813e+08,4.61765e+07,2.703
JsonPointerContains/twitter,ns,1.27938e+06,606069,2.111
Dump/floats / 4,ns,7.10935e+07,2.41369e+07,2.945
Dump/floats / -,ns,6.27641e+07,2.33213e+07,2.691
ToCbor/canada,ns,1.36795e+06,546001,2.505
FromBinaryBuffer/bson / canada,ns,9.21307e+06,5.51059e+06,1.672
ToCbor/twitter,ns,638321,141975,4.496
ParseIndented/twitter / 4,ns,3.58298e+06,1.10646e+06,3.238
Iterate/citm_catalog,ns,297646,167302,1.779
FromBinaryBuffer/bjdata / canada,ns,8.08015e+06,4.17334e+06,1.936
ParseStreamValues/ndjson,ns,6.96248e+06,3.7254e+06,1.869
Diff/twitter,ns,4.79296e+06,635531,7.542
Dump/citm_catalog / -,ns,1.37753e+06,290658,4.739
FromBinaryShape/nested / bjdata,ns,96017.5,37882.1,2.535
ToJsonStrings/copy,ns,5.83243e+06,5.54046e+06,1.053
Dump/canada / 4,ns,8.9039e+06,2.9943e+06,2.974
CopyRing/twitter,ns,855374,766521,1.116
FromBinaryBuffer/cbor / citm_catalog,ns,3.70397e+06,1.46121e+06,2.535
FromBinaryFile/bjdata / twitter,ns,1.02688e+07,1.90492e+06,5.391
FromBinaryShape/containers / ubjson_optimized,ns,1.4727e+07,4.80309e+06,3.066
FromMsgpack/citm_catalog,ns,8.85701e+06,2.2473e+06,3.941
CopyOnly/canada,ns,1.53425e+06,1.49609e+06,1.026
Equal/canada,ns,453965,332795,1.364
Diff/citm_catalog,ns,6.74369e+06,1.07135e+06,6.295
ParseStringOrdered/canada,ns,1.49834e+07,4.29102e+06,3.492
Flatten/canada,ns,2.82148e+07,1.11369e+07,2.533
Accept/canada,ns,1.26836e+07,2.25933e+06,5.614
CopyAssign/twitter,ns,804857,735341,1.095
BinaryToCbor/4096,ns,402.442,159.22,2.528
ParseFILE/citm_catalog,ns,3.45528e+07,7.26455e+06,4.756
ToCbor/signed_ints,ns,1.13256e+07,2.76748e+06,4.092
Patch/canada,ns,9.80719e+06,3.36006e+06,2.919
GetArray<std::vector<int>>,ns,6589.63,655.021,10.060
Dump/canada / -,ns,6.62927e+06,2.24661e+06,2.951
GetVectorDouble/floats,ns,6.62214e+06,641259,10.327
Accept/citm_catalog,ns,6.3596e+06,909397,6.993
ParseFILE/twitter,ns,1.35627e+07,3.27982e+06,4.135
FromBinaryBuffer/msgpack / jeopardy,ns,3.54302e+08,1.10166e+08,3.216
ParseFile/floats,ns,1.3128e+08,4.88806e+07,2.686
Accept/small_signed_ints,ns,5.5849e+07,1.88756e+07,2.959
Accept/jeopardy,ns,2.2049e+08,6.3504e+07,3.472
Accept/signed_ints,ns,1.15055e+08,2.84818e+07,4.040
CopyRing/canada,ns,3.68758e+06,2.88527e+06,1.278
Patch/twitter,ns,1.44963e+06,848729,1.708
Iterate/twitter,ns,87147.2,61831.9,1.409
ParseFile/twitter,ns,3.33795e+06,1.3545e+06,2.464
GetArray<std::deque<int>>,ns,8110.78,1156.06,7.016
FromBinaryBuffer/cbor / canada,ns,8.20468e+06,2.31071e+06,3.551
Equal/twitter,ns,141057,125995,1.120
ParseStreamValues/numbers,ns,1.87073e+06,370959,5.043
Dump/small_signed_ints / -,ns,1.78162e+07,7.86562e+06,2.265
JsonPointerToString/citm_catalog,ns,6.63798e+06,1.869e+06,3.552
Copy/twitter,ns,797034,721889,1.104
Diff/canada,ns,3.83337e+07,3.67301e+06,10.437
FromBinaryBuffer/ubjson_optimized / twitter,ns,3.1281e+06,959992,3.258
BinaryToCbor/32,ns,251.857,47.32,5.322
GetArray<std::set<int>>,ns,58113.1,40911.2,1.420
CopyAssign/citm_catalog,ns,1.66804e+06,1.48043e+06,1.127
ToCbor/jeopardy,ns,7.16464e+07,2.11077e+07,3.394
CopyRing/citm_catalog,ns,1.70236e+06,1.50767e+06,1.129
FromBinaryBuffer/ubjson / canada,ns,8.14082e+06,4.15725e+06,1.958
ToCbor/small_signed_ints,ns,1.02087e+07,2.3872e+06,4.276
DestroyOnly/canada,ns,2.13545e+06,1.37061e+06,1.558
FromBinaryBuffer/ubjson / citm_catalog,ns,3.81161e+06,1.73601e+06,2.196
Dump/jeopardy / -,ns,2.01242e+08,3.04052e+07,6.619
FromBinaryBuffer/msgpack / citm_catalog,ns,3.70428e+06,1.42385e+06,2.602
ParseStringOrdered/citm_catalog,ns,1.07899e+07,1.63999e+06,6.579
ParseString/unsigned_ints,ns,1.17897e+08,3.02538e+07,3.897
Patch/citm_catalog,ns,2.48869e+06,1.60776e+06,1.548
SaxParse/canada,ns,1.28389e+07,3.21707e+06,3.991
ParseString/citm_catalog,ns,7.20303e+06,1.7454e+06,4.127
FromBinaryFile/cbor / canada,ns,1.42056e+07,4.37844e+06,3.244
BinaryToCbor/256,ns,269.641,86.3027,3.124
ParseFILE/canada,ns,5.22098e+07,1.38907e+07,3.759
BinaryToCbor/32768,ns,1538.42,806.578,1.907
Accept/floats,ns,1.13316e+08,2.40029e+07,4.721
FromMsgpack/floats,ns,5.92985e+07,2.71551e+07,2.184
ParseString/small_signed_ints,ns,6.05098e+07,2.18687e+07,2.767
JsonPointerParse/citm_catalog,ns,5.64871e+06,2.16902e+06,2.604
Copy/canada,ns,3.64004e+06,2.8296e+06,1.286
Dump/twitter / 4,ns,1.56293e+06,247785,6.308
FromBinaryShape/nested / msgpack,ns,90351.2,34224,2.640
FromBinaryBuffer/ubjson_optimized / canada,ns,8.36221e+06,2.82594e+06,2.959
JsonPointerContains/citm_catalog,ns,2.71985e+06,1.23844e+06,2.196
FromMsgpack/small_signed_ints,ns,6.27969e+07,3.33815e+07,1.881
DestroyOnly/twitter,ns,401772,322543,1.246
FromBinaryShape/containers / msgpack,ns,1.37471e+07,3.71417e+06,3.701
FromBinaryShape/scalars / msgpack,ns,2.40944e+07,9.77821e+06,2.464
ToCbor/citm_catalog,ns,1.02089e+06,257529,3.964
GetVectorInt/signed_ints,ns,8.04308e+06,3.35704e+06,2.396
Accept/twitter,ns,2.45943e+06,458446,5.365
Iterate/canada,ns,861455,320474,2.688
ToCbor/unsigned_ints,ns,7.98977e+06,2.75684e+06,2.898
FromBinaryShape/scalars / bjdata,ns,2.43317e+07,1.12007e+07,2.172
BinaryToCbor/2048,ns,332.826,114.084,2.917
BinaryToCbor/512,ns,291.316,92.8039,3.139
FlattenOrdered/twitter,ns,4.92534e+07,851500,57.843
Copy/citm_catalog,ns,1.61348e+06,1.44942e+06,1.113
FromBinaryShape/containers / ubjson,ns,1.40981e+07,6.87399e+06,2.051
BinaryToCbor/1024,ns,304.119,95.8643,3.172
FromBinaryBuffer/ubjson / twitter,ns,3.12147e+06,962822,3.242
Dump/signed_ints / -,ns,2.34455e+07,1.61521e+07,1.452
FromBinaryShape/scalars / cbor,ns,2.54779e+07,9.63099e+06,2.645
FromBinaryBuffer/cbor / signed_ints,ns,3.57449e+07,1.2803e+07,2.792
CopyOnly/citm_catalog,ns,734852,783826,0.938
Dump/unsigned_ints / -,ns,2.3437e+07,1.6565e+07,1.415
Accept/unsigned_ints,ns,1.14173e+08,2.74092e+07,4.165
FromMsgpack/canada,ns,1.42472e+07,4.37022e+06,3.260
ParseStringOrdered/twitter,ns,4.32143e+06,910717,4.745
Dump/twitter / -,ns,1.38581e+06,207620,6.675
BinaryToCbor/64,ns,250.506,81.5793,3.071
JsonPointerParse/twitter,ns,2.40825e+06,979256,2.459
GetMap/citm_catalog,ns,3.41415e+06,2.37109e+06,1.440
ToJsonStrings/move,ns,5.83899e+06,3.02241e+06,1.932
FromBinaryBuffer/ubjson / jeopardy,ns,3.67059e+08,1.15063e+08,3.190
FromBinaryShape/nested / ubjson,ns,96068.6,37753.5,2.545
FromBinaryBuffer/bjdata / twitter,ns,3.11851e+06,963022,3.238
FromBinaryShape/nested / cbor,ns,93124.8,34434.7,2.704
ParseFile/citm_catalog,ns,7.62707e+06,2.39694e+06,3.182
FromBinaryFile/ubjson / twitter,ns,1.04355e+07,1.90842e+06,5.468
Dump/citm_catalog / 4,ns,1.92608e+06,416105,4.629
CopyAssign/canada,ns,3.68545e+06,2.87633e+06,1.281
Unflatten/citm_catalog,ns,9.65545e+06,3.47021e+06,2.782
FromBinaryBuffer/bjdata_optimized / twitter,ns,3.14359e+06,967149,3.250
FromBinaryBuffer/cbor / floats,ns,2.88404e+07,8.22731e+06,3.505
Equal/citm_catalog,ns,264018,254367,1.038
FromBinaryShape/containers / cbor,ns,1.38356e+07,3.8445e+06,3.599
Flatten/citm_catalog,ns,6.43708e+06,2.96328e+06,2.172
FromMsgpack/twitter,ns,9.69832e+06,1.46011e+06,6.642
FromBinaryBuffer/bson / citm_catalog,ns,3.86353e+06,1.73584e+06,2.226
FromBinaryBuffer/msgpack / canada,ns,8.21458e+06,2.2769e+06,3.608
"GetArray<std::array<int, 1000>>",ns,2228.17,630.225,3.536
SaxParse/twitter,ns,2.4729e+06,472447,5.234
ParseString/canada,ns,1.50552e+07,4.35028e+06,3.461
ParseFile/canada,ns,1.79247e+07,6.11532e+06,2.931
ParseFile/unsigned_ints,ns,1.22099e+08,4.40082e+07,2.774
FromCborChunkedString/10000 chunks,ns,89638.1,81306.2,1.102
FromBinaryShape/nested / bson,ns,102178,46148.5,2.214
ParseIndented/citm_catalog / 4,ns,7.27956e+06,1.75204e+06,4.155
Dump/unsigned_ints / 4,ns,3.15101e+07,1.7373e+07,1.814
FromBinaryBuffer/bjdata_optimized / canada,ns,8.52567e+06,2.93164e+06,2.908
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
1 benchmark unit 3.12.0 3.13.0 speedup
2 FromBinaryBuffer/bson / twitter ns 3.07203e+06 3.20265e+06 998445 1.01993e+06 3.077 3.140
3 ParseStringOrdered/jeopardy ns 3.56038e+08 3.70568e+08 1.10829e+08 1.14254e+08 3.213 3.243
4 JsonPointerToString/twitter ns 2.16889e+06 2.23197e+06 793513 820138 2.733 2.721
5 BinaryToCbor/8192 ns 511.25 520.964 238.725 261.625 2.142 1.991
6 FromMsgpack/unsigned_ints ns 5.51164e+07 5.69725e+07 2.72444e+07 2.80231e+07 2.023 2.033
7 JsonPointerAt/twitter ns 780306 802316 585055 609192 1.334 1.317
8 CopyOnly/twitter ns 393964 420973 399209 412550 0.987 1.020
9 FlattenOrdered/citm_catalog ns 2.52682e+08 2.56599e+08 1.37388e+06 1.43012e+06 183.919 179.425
10 FromBinaryFile/ubjson / canada ns 1.34e+07 1.39411e+07 6.20075e+06 6.49692e+06 2.161 2.146
11 FromBinaryShape/containers / bjdata ns 1.41456e+07 1.43419e+07 7.04794e+06 7.40687e+06 2.007 1.936
12 ParseIndented/jeopardy / 4 ns 3.33616e+08 3.41862e+08 1.31177e+08 1.33413e+08 2.543 2.562
13 FromMsgpack/signed_ints ns 6.19882e+07 6.35213e+07 3.19294e+07 3.30421e+07 1.941 1.922
14 FromBinaryShape/containers / bson ns 1.69936e+07 1.70519e+07 9.81169e+06 1.00034e+07 1.732 1.705
15 BinaryToCbor/128 ns 247.24 254.611 110.472 116.411 2.238 2.187
16 FromBinaryBuffer/cbor / jeopardy ns 3.52319e+08 3.69767e+08 1.15873e+08 1.19253e+08 3.041 3.101
17 ParseFile/jeopardy ns 3.26899e+08 3.34742e+08 1.57231e+08 1.63435e+08 2.079 2.048
18 FromMsgpack/jeopardy ns 1.11847e+09 1.149e+09 1.81305e+08 1.87355e+08 6.169 6.133
19 FromBinaryFile/cbor / twitter ns 9.70523e+06 1.01844e+07 1.5381e+06 1.59657e+06 6.310 6.379
20 ToCbor/floats ns 8.8461e+06 8.95826e+06 1.88426e+06 1.90206e+06 4.695 4.710
21 ParseFile/small_signed_ints ns 6.30771e+07 6.45414e+07 3.13826e+07 3.24039e+07 2.010 1.992
22 FromBinaryBuffer/msgpack / twitter ns 3.01937e+06 3.12989e+06 937570 955605 3.220 3.275
23 BinaryToCbor/16384 ns 947.242 957.164 408.275 409.694 2.320 2.336
24 FromBinaryFile/bson / twitter ns 9.98109e+06 1.05564e+07 1.78121e+06 1.83313e+06 5.604 5.759
25 ParseString/twitter ns 3.15572e+06 3.26395e+06 1.04655e+06 1.06141e+06 3.015 3.075
26 Unflatten/twitter ns 4.47709e+06 4.7901e+06 2.11403e+06 2.16809e+06 2.118 2.209
27 BinaryToCbor/8 ns 242.891 250.617 46.6253 48.9987 5.209 5.115
28 BinaryToCbor/16 ns 238.431 247.56 46.5179 49.275 5.126 5.024
29 Dump/small_signed_ints / 4 ns 2.49933e+07 2.52497e+07 8.62966e+06 8.83973e+06 2.896 2.856
30 ParseString/jeopardy ns 3.04927e+08 3.075e+08 1.29515e+08 1.31952e+08 2.354 2.330
31 Dump/signed_ints / 4 ns 3.18294e+07 3.23205e+07 1.68297e+07 1.14372e+07 1.891 2.826
32 Flatten/twitter ns 3.4886e+06 3.63682e+06 2.00532e+06 2.08612e+06 1.740 1.743
33 FromBinaryBuffer/cbor / twitter ns 3.00428e+06 3.15556e+06 964870 982723 3.114 3.211
34 Dump/jeopardy / 4 ns 2.19025e+08 2.23755e+08 3.43818e+07 3.58432e+07 6.370 6.243
35 SaxParse/citm_catalog ns 6.33865e+06 6.48562e+06 969665 996471 6.537 6.509
36 JsonPointerAt/citm_catalog ns 1.80656e+06 1.86838e+06 1.10975e+06 1.17763e+06 1.628 1.587
37 DestroyOnly/citm_catalog ns 874073 896147 663615 687189 1.317 1.304
38 FromBinaryShape/scalars / ubjson ns 2.46643e+07 2.51063e+07 1.13906e+07 1.16857e+07 2.165 2.148
39 Unflatten/canada ns 4.04569e+07 4.23131e+07 1.07458e+07 1.09708e+07 3.765 3.857
40 ParseString/floats ns 1.18934e+08 1.20329e+08 3.02332e+07 3.11796e+07 3.934 3.859
41 ParseIndented/canada / 4 ns 3.38495e+07 3.44028e+07 5.02409e+06 5.15746e+06 6.737 6.670
42 ParseString/signed_ints ns 1.19593e+08 1.21464e+08 3.14351e+07 3.24369e+07 3.804 3.745
43 ParseFile/signed_ints ns 1.24813e+08 1.26509e+08 4.61765e+07 4.77756e+07 2.703 2.648
44 JsonPointerContains/twitter ns 1.27938e+06 1.32359e+06 606069 626164 2.111 2.114
45 Dump/floats / 4 ns 7.10935e+07 7.2051e+07 2.41369e+07 2.47002e+07 2.945 2.917
46 Dump/floats / - ns 6.27641e+07 6.40617e+07 2.33213e+07 2.40284e+07 2.691 2.666
47 ToCbor/canada ns 1.36795e+06 1.40569e+06 546001 563628 2.505 2.494
48 FromBinaryBuffer/bson / canada ns 9.21307e+06 9.59257e+06 5.51059e+06 5.45604e+06 1.672 1.758
49 ToCbor/twitter ns 638321 645140 141975 144838 4.496 4.454
50 ParseIndented/twitter / 4 ns 3.58298e+06 3.66555e+06 1.10646e+06 1.1496e+06 3.238 3.189
51 Iterate/citm_catalog ns 297646 304057 167302 186693 1.779 1.629
52 FromBinaryBuffer/bjdata / canada ns 8.08015e+06 8.44949e+06 4.17334e+06 4.18085e+06 1.936 2.021
53 ParseStreamValues/ndjson ns 6.96248e+06 7.13248e+06 3.7254e+06 3.74646e+06 1.869 1.904
54 Diff/twitter ns 4.79296e+06 4.9487e+06 635531 655350 7.542 7.551
55 Dump/citm_catalog / - ns 1.37753e+06 1.41491e+06 290658 296958 4.739 4.765
56 FromBinaryShape/nested / bjdata ns 96017.5 97444.8 37882.1 39017.8 2.535 2.497
57 ToJsonStrings/copy ns 5.83243e+06 6.02335e+06 5.54046e+06 5.76289e+06 1.053 1.045
58 Dump/canada / 4 ns 8.9039e+06 9.0251e+06 2.9943e+06 3.05796e+06 2.974 2.951
59 CopyRing/twitter ns 855374 923459 766521 836502 1.116 1.104
60 FromBinaryBuffer/cbor / citm_catalog ns 3.70397e+06 3.83804e+06 1.46121e+06 1.48497e+06 2.535 2.585
61 FromBinaryFile/bjdata / twitter ns 1.02688e+07 1.07571e+07 1.90492e+06 1.97984e+06 5.391 5.433
62 FromBinaryShape/containers / ubjson_optimized ns 1.4727e+07 1.51034e+07 4.80309e+06 4.91673e+06 3.066 3.072
63 FromMsgpack/citm_catalog ns 8.85701e+06 9.2234e+06 2.2473e+06 2.31697e+06 3.941 3.981
64 CopyOnly/canada ns 1.53425e+06 1.57914e+06 1.49609e+06 1.55103e+06 1.026 1.018
65 Equal/canada ns 453965 469788 332795 342475 1.364 1.372
66 Diff/citm_catalog ns 6.74369e+06 7.13383e+06 1.07135e+06 1.10739e+06 6.295 6.442
67 ParseStringOrdered/canada ns 1.49834e+07 1.54143e+07 4.29102e+06 4.44693e+06 3.492 3.466
68 Flatten/canada ns 2.82148e+07 2.92397e+07 1.11369e+07 1.13461e+07 2.533 2.577
69 Accept/canada ns 1.26836e+07 1.28601e+07 2.25933e+06 2.33328e+06 5.614 5.512
70 CopyAssign/twitter ns 804857 886807 735341 758771 1.095 1.169
71 BinaryToCbor/4096 ns 402.442 408.287 159.22 177.133 2.528 2.305
72 ParseFILE/citm_catalog ns 3.45528e+07 3.554e+07 7.26455e+06 7.57816e+06 4.756 4.690
73 ToCbor/signed_ints ns 1.13256e+07 1.13842e+07 2.76748e+06 2.82539e+06 4.092 4.029
74 Patch/canada ns 9.80719e+06 1.03856e+07 3.36006e+06 3.44306e+06 2.919 3.016
75 GetArray<std::vector<int>> ns 6589.63 6775.31 655.021 675.66 10.060 10.028
76 Dump/canada / - ns 6.62927e+06 6.83829e+06 2.24661e+06 2.34599e+06 2.951 2.915
77 GetVectorDouble/floats ns 6.62214e+06 6.79501e+06 641259 976472 10.327 6.959
78 Accept/citm_catalog ns 6.3596e+06 6.46161e+06 909397 933820 6.993 6.920
79 ParseFILE/twitter ns 1.35627e+07 1.39242e+07 3.27982e+06 3.37101e+06 4.135 4.131
80 FromBinaryBuffer/msgpack / jeopardy ns 3.54302e+08 3.62314e+08 1.10166e+08 1.12333e+08 3.216 3.225
81 ParseFile/floats ns 1.3128e+08 1.29093e+08 4.88806e+07 5.07947e+07 2.686 2.541
82 Accept/small_signed_ints ns 5.5849e+07 5.70115e+07 1.88756e+07 1.92594e+07 2.959 2.960
83 Accept/jeopardy ns 2.2049e+08 2.18621e+08 6.3504e+07 6.48811e+07 3.472 3.370
84 Accept/signed_ints ns 1.15055e+08 1.17114e+08 2.84818e+07 2.90352e+07 4.040 4.034
85 CopyRing/canada ns 3.68758e+06 3.85335e+06 2.88527e+06 2.97856e+06 1.278 1.294
86 Patch/twitter ns 1.44963e+06 1.54075e+06 848729 870596 1.708 1.770
87 Iterate/twitter ns 87147.2 87674.1 61831.9 61938.2 1.409 1.416
88 ParseFile/twitter ns 3.33795e+06 3.45242e+06 1.3545e+06 1.4135e+06 2.464 2.442
89 GetArray<std::deque<int>> ns 8110.78 8218.06 1156.06 1184.36 7.016 6.939
90 FromBinaryBuffer/cbor / canada ns 8.20468e+06 8.49597e+06 2.31071e+06 2.34162e+06 3.551 3.628
91 Equal/twitter ns 141057 144862 125995 130449 1.120 1.110
92 ParseStreamValues/numbers ns 1.87073e+06 1.91254e+06 370959 380019 5.043 5.033
93 Dump/small_signed_ints / - ns 1.78162e+07 1.79973e+07 7.86562e+06 8.03116e+06 2.265 2.241
94 JsonPointerToString/citm_catalog ns 6.63798e+06 6.73543e+06 1.869e+06 1.94403e+06 3.552 3.465
95 Copy/twitter ns 797034 817423 721889 747760 1.104 1.093
96 Diff/canada ns 3.83337e+07 3.94496e+07 3.67301e+06 3.76295e+06 10.437 10.484
97 FromBinaryBuffer/ubjson_optimized / twitter ns 3.1281e+06 3.21798e+06 959992 976128 3.258 3.297
98 BinaryToCbor/32 ns 251.857 257.519 47.32 50.0744 5.322 5.143
99 GetArray<std::set<int>> ns 58113.1 59334.9 40911.2 41926.5 1.420 1.415
100 CopyAssign/citm_catalog ns 1.66804e+06 1.74826e+06 1.48043e+06 1.58974e+06 1.127 1.100
101 ToCbor/jeopardy ns 7.16464e+07 7.37854e+07 2.11077e+07 2.23113e+07 3.394 3.307
102 CopyRing/citm_catalog ns 1.70236e+06 1.82401e+06 1.50767e+06 1.5913e+06 1.129 1.146
103 FromBinaryBuffer/ubjson / canada ns 8.14082e+06 8.42613e+06 4.15725e+06 4.2011e+06 1.958 2.006
104 ToCbor/small_signed_ints ns 1.02087e+07 1.03308e+07 2.3872e+06 2.45559e+06 4.276 4.207
105 DestroyOnly/canada ns 2.13545e+06 2.19064e+06 1.37061e+06 1.40424e+06 1.558 1.560
106 FromBinaryBuffer/ubjson / citm_catalog ns 3.81161e+06 3.94636e+06 1.73601e+06 1.77126e+06 2.196 2.228
107 Dump/jeopardy / - ns 2.01242e+08 2.0472e+08 3.04052e+07 3.20386e+07 6.619 6.390
108 FromBinaryBuffer/msgpack / citm_catalog ns 3.70428e+06 3.83422e+06 1.42385e+06 1.44289e+06 2.602 2.657
109 ParseStringOrdered/citm_catalog ns 1.07899e+07 1.13087e+07 1.63999e+06 1.6737e+06 6.579 6.757
110 ParseString/unsigned_ints ns 1.17897e+08 1.19395e+08 3.02538e+07 3.09133e+07 3.897 3.862
111 Patch/citm_catalog ns 2.48869e+06 2.64909e+06 1.60776e+06 1.68738e+06 1.548 1.570
112 SaxParse/canada ns 1.28389e+07 1.30153e+07 3.21707e+06 3.28081e+06 3.991 3.967
113 ParseString/citm_catalog ns 7.20303e+06 7.42082e+06 1.7454e+06 1.77268e+06 4.127 4.186
114 FromBinaryFile/cbor / canada ns 1.42056e+07 1.45988e+07 4.37844e+06 4.52323e+06 3.244 3.228
115 BinaryToCbor/256 ns 269.641 271.407 86.3027 91.5071 3.124 2.966
116 ParseFILE/canada ns 5.22098e+07 5.33064e+07 1.38907e+07 1.43382e+07 3.759 3.718
117 BinaryToCbor/32768 ns 1538.42 1549.96 806.578 819.172 1.907 1.892
118 Accept/floats ns 1.13316e+08 1.14306e+08 2.40029e+07 2.47177e+07 4.721 4.624
119 FromMsgpack/floats ns 5.92985e+07 6.06523e+07 2.71551e+07 2.81624e+07 2.184 2.154
120 ParseString/small_signed_ints ns 6.05098e+07 6.20261e+07 2.18687e+07 2.25358e+07 2.767 2.752
121 JsonPointerParse/citm_catalog ns 5.64871e+06 5.82111e+06 2.16902e+06 2.2258e+06 2.604 2.615
122 Copy/canada ns 3.64004e+06 3.76091e+06 2.8296e+06 2.89932e+06 1.286 1.297
123 Dump/twitter / 4 ns 1.56293e+06 1.622e+06 247785 252594 6.308 6.421
124 FromBinaryShape/nested / msgpack ns 90351.2 94122.7 34224 35186.9 2.640 2.675
125 FromBinaryBuffer/ubjson_optimized / canada ns 8.36221e+06 8.64985e+06 2.82594e+06 2.85754e+06 2.959 3.027
126 JsonPointerContains/citm_catalog ns 2.71985e+06 2.77749e+06 1.23844e+06 1.26131e+06 2.196 2.202
127 FromMsgpack/small_signed_ints ns 6.27969e+07 6.40964e+07 3.33815e+07 3.42736e+07 1.881 1.870
128 DestroyOnly/twitter ns 401772 415737 322543 326784 1.246 1.272
129 FromBinaryShape/containers / msgpack ns 1.37471e+07 1.42568e+07 3.71417e+06 3.89814e+06 3.701 3.657
130 FromBinaryShape/scalars / msgpack ns 2.40944e+07 2.4908e+07 9.77821e+06 1.05741e+07 2.464 2.356
131 ToCbor/citm_catalog ns 1.02089e+06 1.04281e+06 257529 260809 3.964 3.998
132 GetVectorInt/signed_ints ns 8.04308e+06 8.20129e+06 3.35704e+06 3.48162e+06 2.396 2.356
133 Accept/twitter ns 2.45943e+06 2.49861e+06 458446 475874 5.365 5.251
134 Iterate/canada ns 861455 886750 320474 314350 2.688 2.821
135 ToCbor/unsigned_ints ns 7.98977e+06 8.05242e+06 2.75684e+06 2.80275e+06 2.898 2.873
136 FromBinaryShape/scalars / bjdata ns 2.43317e+07 2.49885e+07 1.12007e+07 1.16227e+07 2.172 2.150
137 BinaryToCbor/2048 ns 332.826 331.702 114.084 126.762 2.917 2.617
138 BinaryToCbor/512 ns 291.316 287.238 92.8039 102.34 3.139 2.807
139 FlattenOrdered/twitter ns 4.92534e+07 5.11231e+07 851500 877575 57.843 58.255
140 Copy/citm_catalog ns 1.61348e+06 1.66893e+06 1.44942e+06 1.50237e+06 1.113 1.111
141 FromBinaryShape/containers / ubjson ns 1.40981e+07 1.44781e+07 6.87399e+06 7.34134e+06 2.051 1.972
142 BinaryToCbor/1024 ns 304.119 294.38 95.8643 106.974 3.172 2.752
143 FromBinaryBuffer/ubjson / twitter ns 3.12147e+06 3.27965e+06 962822 973396 3.242 3.369
144 Dump/signed_ints / - ns 2.34455e+07 2.3995e+07 1.61521e+07 1.07412e+07 1.452 2.234
145 FromBinaryShape/scalars / cbor ns 2.54779e+07 2.59955e+07 9.63099e+06 9.92397e+06 2.645 2.619
146 FromBinaryBuffer/cbor / signed_ints ns 3.57449e+07 3.6394e+07 1.2803e+07 1.32489e+07 2.792 2.747
147 CopyOnly/citm_catalog ns 734852 773309 783826 805343 0.938 0.960
148 Dump/unsigned_ints / - ns 2.3437e+07 2.37018e+07 1.6565e+07 8.11504e+06 1.415 2.921
149 Accept/unsigned_ints ns 1.14173e+08 1.16121e+08 2.74092e+07 2.82332e+07 4.165 4.113
150 FromMsgpack/canada ns 1.42472e+07 1.45399e+07 4.37022e+06 4.55571e+06 3.260 3.192
151 ParseStringOrdered/twitter ns 4.32143e+06 4.522e+06 910717 920414 4.745 4.913
152 Dump/twitter / - ns 1.38581e+06 1.4183e+06 207620 210619 6.675 6.734
153 BinaryToCbor/64 ns 250.506 256.225 81.5793 82.8609 3.071 3.092
154 JsonPointerParse/twitter ns 2.40825e+06 2.48884e+06 979256 1.01455e+06 2.459 2.453
155 GetMap/citm_catalog ns 3.41415e+06 3.52983e+06 2.37109e+06 2.42484e+06 1.440 1.456
156 ToJsonStrings/move ns 5.83899e+06 6.05077e+06 3.02241e+06 3.12298e+06 1.932 1.938
157 FromBinaryBuffer/ubjson / jeopardy ns 3.67059e+08 3.73253e+08 1.15063e+08 1.17316e+08 3.190 3.182
158 FromBinaryShape/nested / ubjson ns 96068.6 98047.3 37753.5 38860.2 2.545 2.523
159 FromBinaryBuffer/bjdata / twitter ns 3.11851e+06 3.27193e+06 963022 973613 3.238 3.361
160 FromBinaryShape/nested / cbor ns 93124.8 94082.1 34434.7 35427.1 2.704 2.656
161 ParseFile/citm_catalog ns 7.62707e+06 7.97956e+06 2.39694e+06 2.49852e+06 3.182 3.194
162 FromBinaryFile/ubjson / twitter ns 1.04355e+07 1.07792e+07 1.90842e+06 1.96519e+06 5.468 5.485
163 Dump/citm_catalog / 4 ns 1.92608e+06 1.96876e+06 416105 421277 4.629 4.673
164 CopyAssign/canada ns 3.68545e+06 3.82927e+06 2.87633e+06 3.00436e+06 1.281 1.275
165 Unflatten/citm_catalog ns 9.65545e+06 1.00575e+07 3.47021e+06 3.55051e+06 2.782 2.833
166 FromBinaryBuffer/bjdata_optimized / twitter ns 3.14359e+06 3.21663e+06 967149 972271 3.250 3.308
167 FromBinaryBuffer/cbor / floats ns 2.88404e+07 2.94008e+07 8.22731e+06 8.37306e+06 3.505 3.511
168 Equal/citm_catalog ns 264018 277722 254367 260273 1.038 1.067
169 FromBinaryShape/containers / cbor ns 1.38356e+07 1.43595e+07 3.8445e+06 4.00487e+06 3.599 3.585
170 Flatten/citm_catalog ns 6.43708e+06 6.65353e+06 2.96328e+06 3.02263e+06 2.172 2.201
171 FromMsgpack/twitter ns 9.69832e+06 1.01696e+07 1.46011e+06 1.51935e+06 6.642 6.693
172 FromBinaryBuffer/bson / citm_catalog ns 3.86353e+06 4.00639e+06 1.73584e+06 1.77129e+06 2.226 2.262
173 FromBinaryBuffer/msgpack / canada ns 8.21458e+06 8.59297e+06 2.2769e+06 2.37267e+06 3.608 3.622
174 GetArray<std::array<int, 1000>> ns 2228.17 2267.99 630.225 647.261 3.536 3.504
175 SaxParse/twitter ns 2.4729e+06 2.51436e+06 472447 478188 5.234 5.258
176 ParseString/canada ns 1.50552e+07 1.52394e+07 4.35028e+06 4.50457e+06 3.461 3.383
177 ParseFile/canada ns 1.79247e+07 1.7916e+07 6.11532e+06 6.38308e+06 2.931 2.807
178 ParseFile/unsigned_ints ns 1.22099e+08 1.23238e+08 4.40082e+07 4.54686e+07 2.774 2.710
179 FromCborChunkedString/10000 chunks ns 89638.1 91163.3 81306.2 82651.6 1.102 1.103
180 FromBinaryShape/nested / bson ns 102178 103727 46148.5 47568.2 2.214 2.181
181 ParseIndented/citm_catalog / 4 ns 7.27956e+06 7.41873e+06 1.75204e+06 1.78703e+06 4.155 4.151
182 Dump/unsigned_ints / 4 ns 3.15101e+07 3.1907e+07 1.7373e+07 8.51588e+06 1.814 3.747
183 FromBinaryBuffer/bjdata_optimized / canada ns 8.52567e+06 8.84399e+06 2.93164e+06 2.9307e+06 2.908 3.018
@@ -315,4 +315,4 @@ index,commit,date,pr,subject,parse_twitter,parse_citm,parse_canada,parse_citm_co
313,21ec9bd801,2026-10-27,5915,json_view: fewer allocations when parsing small documents (#5915),1388.282,2469.118,6066.495,2340.391,1744.901,478.745,214.934,292.970,2309.264,422.842,1323.237,138.541,1454.151,1707.314,178.058,366.514,958.110
314,2bb2feeef4,2026-10-27,5942,"Fix the red CI on develop (json_view pointer tokens, bson, from_json tests, Infer, IWYU) (#5942)",1391.981,2468.266,6068.495,2335.707,1751.527,482.908,214.285,291.291,2300.453,417.876,1328.089,138.010,1454.934,1701.845,178.250,367.182,964.917
315,78a0687147,2026-10-27,5940,Strong exception guarantee for operator[](json_pointer) (#5940),1379.414,2467.492,6109.136,2335.309,1723.090,480.260,216.197,292.075,2313.798,415.444,1314.530,138.314,1449.629,1698.792,177.628,364.844,965.314
316,candidate,,,develop + open pull requests,1383.171,2465.866,6049.771,2336.394,1725.095,480.882,214.967,292.621,2289.324,418.010,1320.853,137.793,1439.615,1710.333,176.356,364.229,962.166
316,candidate,,,develop + open pull requests,1402.914,2466.859,6056.321,2327.213,1716.548,486.579,209.924,290.378,2287.966,417.106,1309.461,135.437,1437.370,1702.301,177.011,363.994,991.766
1 index commit date pr subject parse_twitter parse_citm parse_canada parse_citm_compact parse_twitter_ifstream accept_twitter dump_twitter dump_citm dump_canada dump4_citm from_cbor_twitter to_cbor_twitter copy_destroy_citm equal_citm view_parse_twitter view_parse_citm view_parse_canada
315 313 21ec9bd801 2026-10-27 5915 json_view: fewer allocations when parsing small documents (#5915) 1388.282 2469.118 6066.495 2340.391 1744.901 478.745 214.934 292.970 2309.264 422.842 1323.237 138.541 1454.151 1707.314 178.058 366.514 958.110
316 314 2bb2feeef4 2026-10-27 5942 Fix the red CI on develop (json_view pointer tokens, bson, from_json tests, Infer, IWYU) (#5942) 1391.981 2468.266 6068.495 2335.707 1751.527 482.908 214.285 291.291 2300.453 417.876 1328.089 138.010 1454.934 1701.845 178.250 367.182 964.917
317 315 78a0687147 2026-10-27 5940 Strong exception guarantee for operator[](json_pointer) (#5940) 1379.414 2467.492 6109.136 2335.309 1723.090 480.260 216.197 292.075 2313.798 415.444 1314.530 138.314 1449.629 1698.792 177.628 364.844 965.314
318 316 candidate develop + open pull requests 1383.171 1402.914 2465.866 2466.859 6049.771 6056.321 2336.394 2327.213 1725.095 1716.548 480.882 486.579 214.967 209.924 292.621 290.378 2289.324 2287.966 418.010 417.106 1320.853 1309.461 137.793 135.437 1439.615 1437.370 1710.333 1702.301 176.356 177.011 364.229 363.994 962.166 991.766
+17 -17
View File
@@ -117,24 +117,24 @@ def swar():
# ---------- overview: speedup per workload (Google Benchmark rows, 3.12.0 time / 3.13.0 time) ----------
# (group, label, speedup), copied from the table "The short version"
OVERVIEW = [
("Parsing", "twitter.json", 3.02),
("Parsing", "citm_catalog.json", 4.13),
("Parsing", "canada.json", 3.46),
("Parsing", "canada.json, indented", 6.74),
("Parsing", "citm, ordered_json", 6.58),
("Parsing", "twitter, std::ifstream", 2.46),
("Parsing", "citm, FILE*", 4.76),
("Parsing", "citm, accept()", 6.99),
("Writing", "dump() twitter", 6.67),
("Writing", "dump() canada", 2.95),
("Writing", "dump(4) citm", 4.63),
("Writing", "to_cbor() twitter", 4.50),
("Reading CBOR", "twitter, memory", 3.11),
("Reading CBOR", "twitter, FILE*", 6.31),
("Values", "diff() canada", 10.44),
("Values", "iterate canada", 2.69),
("Parsing", "twitter.json", 3.08),
("Parsing", "citm_catalog.json", 4.19),
("Parsing", "canada.json", 3.38),
("Parsing", "canada.json, indented", 6.67),
("Parsing", "citm, ordered_json", 6.76),
("Parsing", "twitter, std::ifstream", 2.44),
("Parsing", "citm, FILE*", 4.69),
("Parsing", "citm, accept()", 6.92),
("Writing", "dump() twitter", 6.73),
("Writing", "dump() canada", 2.92),
("Writing", "dump(4) citm", 4.67),
("Writing", "to_cbor() twitter", 4.45),
("Reading CBOR", "twitter, memory", 3.21),
("Reading CBOR", "twitter, FILE*", 6.38),
("Values", "diff() canada", 10.48),
("Values", "iterate canada", 2.82),
("Values", "copy + destroy citm", 1.11),
("Values", "== citm", 1.04),
("Values", "== citm", 1.07),
]