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 <!-- 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 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: 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" --8<-- "images/perf_blog_distribution.svg"
</div> </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>). 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: 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 | | workload | 3.12.0 | 3.13.0 | speedup |
| --- | --: | --: | --: | | --- | --: | --: | --: |
| `json::parse()` of `twitter.json` | 3.16 ms | 1.05 ms | 3.0× | | `json::parse()` of `twitter.json` | 3.26 ms | 1.06 ms | 3.1× |
| `json::parse()` of `citm_catalog.json` | 7.20 ms | 1.75 ms | 4.1× | | `json::parse()` of `citm_catalog.json` | 7.42 ms | 1.77 ms | 4.2× |
| `json::parse()` of `canada.json` | 15.1 ms | 4.35 ms | 3.5× | | `json::parse()` of `canada.json` | 15.2 ms | 4.5 ms | 3.4× |
| `json::parse()` of `canada.json`, indented by 4 spaces | 33.8 ms | 5.02 ms | 6.7× | | `json::parse()` of `canada.json`, indented by 4 spaces | 34.4 ms | 5.16 ms | 6.7× |
| `ordered_json::parse()` of `citm_catalog.json` | 10.8 ms | 1.64 ms | 6.6× | | `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.34 ms | 1.35 ms | 2.5× | | `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*` | 34.6 ms | 7.26 ms | 4.8× | | `json::parse()` of `citm_catalog.json` from a `FILE*` | 35.5 ms | 7.58 ms | 4.7× |
| `json::accept()` of `citm_catalog.json` | 6.36 ms | 0.91 ms | 7.0× | | `json::accept()` of `citm_catalog.json` | 6.46 ms | 0.934 ms | 6.9× |
| `dump()` of `twitter.json` | 1.39 ms | 0.208 ms | 6.7× | | `dump()` of `twitter.json` | 1.42 ms | 0.211 ms | 6.7× |
| `dump()` of `canada.json` | 6.63 ms | 2.25 ms | 2.9× | | `dump()` of `canada.json` | 6.84 ms | 2.35 ms | 2.9× |
| `dump(4)` of `citm_catalog.json` | 1.93 ms | 0.416 ms | 4.6× | | `dump(4)` of `citm_catalog.json` | 1.97 ms | 0.421 ms | 4.7× |
| `to_cbor()` of `twitter.json` | 0.638 ms | 0.142 ms | 4.5× | | `to_cbor()` of `twitter.json` | 0.645 ms | 0.145 ms | 4.5× |
| `from_cbor()` of `twitter.json` from memory | 3.00 ms | 0.965 ms | 3.1× | | `from_cbor()` of `twitter.json` from memory | 3.16 ms | 0.983 ms | 3.2× |
| `from_cbor()` of `twitter.json` from a `FILE*` | 9.71 ms | 1.54 ms | 6.3× | | `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 | 38.3 ms | 3.67 ms | 10.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.861 ms | 0.320 ms | 2.7× | | iterating over every value of `canada.json` | 0.887 ms | 0.314 ms | 2.8× |
| copying `citm_catalog.json` and destroying the copy | 1.61 ms | 1.45 ms | 1.11× | | copying `citm_catalog.json` and destroying the copy | 1.67 ms | 1.50 ms | 1.11× |
| `==` of `citm_catalog.json` and a copy | 0.264 ms | 0.254 ms | 1.04× | | `==` 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> <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 | | benchmark | 3.12.0 | 3.13.0 | speedup |
| --- | --: | --: | --: | | --- | --: | --: | --: |
| `Accept/canada` | 12.7 ms | 2.26 ms | 5.61× | | `Accept/canada` | 12.9 ms | 2.33 ms | 5.51× |
| `Accept/citm_catalog` | 6.36 ms | 909 µs | 6.99× | | `Accept/citm_catalog` | 6.46 ms | 934 µs | 6.92× |
| `Accept/floats` | 113 ms | 24 ms | 4.72× | | `Accept/floats` | 114 ms | 24.7 ms | 4.62× |
| `Accept/jeopardy` | 220 ms | 63.5 ms | 3.47× | | `Accept/jeopardy` | 219 ms | 64.9 ms | 3.37× |
| `Accept/signed_ints` | 115 ms | 28.5 ms | 4.04× | | `Accept/signed_ints` | 117 ms | 29 ms | 4.03× |
| `Accept/small_signed_ints` | 55.8 ms | 18.9 ms | 2.96× | | `Accept/small_signed_ints` | 57 ms | 19.3 ms | 2.96× |
| `Accept/twitter` | 2.46 ms | 458 µs | 5.36× | | `Accept/twitter` | 2.5 ms | 476 µs | 5.25× |
| `Accept/unsigned_ints` | 114 ms | 27.4 ms | 4.17× | | `Accept/unsigned_ints` | 116 ms | 28.2 ms | 4.11× |
| `BinaryToCbor/1024` | 304 ns | 95.9 ns | 3.17× | | `BinaryToCbor/1024` | 294 ns | 107 ns | 2.75× |
| `BinaryToCbor/128` | 247 ns | 110 ns | 2.24× | | `BinaryToCbor/128` | 255 ns | 116 ns | 2.19× |
| `BinaryToCbor/16384` | 947 ns | 408 ns | 2.32× | | `BinaryToCbor/16384` | 957 ns | 410 ns | 2.34× |
| `BinaryToCbor/16` | 238 ns | 46.5 ns | 5.13× | | `BinaryToCbor/16` | 248 ns | 49.3 ns | 5.02× |
| `BinaryToCbor/2048` | 333 ns | 114 ns | 2.92× | | `BinaryToCbor/2048` | 332 ns | 127 ns | 2.62× |
| `BinaryToCbor/256` | 270 ns | 86.3 ns | 3.12× | | `BinaryToCbor/256` | 271 ns | 91.5 ns | 2.97× |
| `BinaryToCbor/32768` | 1.54 µs | 807 ns | 1.91× | | `BinaryToCbor/32768` | 1.55 µs | 819 ns | 1.89× |
| `BinaryToCbor/32` | 252 ns | 47.3 ns | 5.32× | | `BinaryToCbor/32` | 258 ns | 50.1 ns | 5.14× |
| `BinaryToCbor/4096` | 402 ns | 159 ns | 2.53× | | `BinaryToCbor/4096` | 408 ns | 177 ns | 2.30× |
| `BinaryToCbor/512` | 291 ns | 92.8 ns | 3.14× | | `BinaryToCbor/512` | 287 ns | 102 ns | 2.81× |
| `BinaryToCbor/64` | 251 ns | 81.6 ns | 3.07× | | `BinaryToCbor/64` | 256 ns | 82.9 ns | 3.09× |
| `BinaryToCbor/8192` | 511 ns | 239 ns | 2.14× | | `BinaryToCbor/8192` | 521 ns | 262 ns | 1.99× |
| `BinaryToCbor/8` | 243 ns | 46.6 ns | 5.21× | | `BinaryToCbor/8` | 251 ns | 49 ns | 5.11× |
| `Copy/canada` | 3.64 ms | 2.83 ms | 1.29× | | `Copy/canada` | 3.76 ms | 2.9 ms | 1.30× |
| `Copy/citm_catalog` | 1.61 ms | 1.45 ms | 1.11× | | `Copy/citm_catalog` | 1.67 ms | 1.50 ms | 1.11× |
| `Copy/twitter` | 797 µs | 722 µs | 1.10× | | `Copy/twitter` | 817 µs | 748 µs | 1.09× |
| `CopyAssign/canada` | 3.69 ms | 2.88 ms | 1.28× | | `CopyAssign/canada` | 3.83 ms | 3 ms | 1.27× |
| `CopyAssign/citm_catalog` | 1.67 ms | 1.48 ms | 1.13× | | `CopyAssign/citm_catalog` | 1.75 ms | 1.59 ms | 1.10× |
| `CopyAssign/twitter` | 805 µs | 735 µs | 1.09× | | `CopyAssign/twitter` | 887 µs | 759 µs | 1.17× |
| `CopyOnly/canada` | 1.53 ms | 1.5 ms | 1.03× | | `CopyOnly/canada` | 1.58 ms | 1.55 ms | 1.02× |
| `CopyOnly/citm_catalog` | 735 µs | 784 µs | 0.94× | | `CopyOnly/citm_catalog` | 773 µs | 805 µs | 0.96× |
| `CopyOnly/twitter` | 394 µs | 399 µs | 0.99× | | `CopyOnly/twitter` | 421 µs | 413 µs | 1.02× |
| `CopyRing/canada` | 3.69 ms | 2.89 ms | 1.28× | | `CopyRing/canada` | 3.85 ms | 2.98 ms | 1.29× |
| `CopyRing/citm_catalog` | 1.7 ms | 1.51 ms | 1.13× | | `CopyRing/citm_catalog` | 1.82 ms | 1.59 ms | 1.15× |
| `CopyRing/twitter` | 855 µs | 767 µs | 1.12× | | `CopyRing/twitter` | 923 µs | 837 µs | 1.10× |
| `DestroyOnly/canada` | 2.14 ms | 1.37 ms | 1.56× | | `DestroyOnly/canada` | 2.19 ms | 1.4 ms | 1.56× |
| `DestroyOnly/citm_catalog` | 874 µs | 664 µs | 1.32× | | `DestroyOnly/citm_catalog` | 896 µs | 687 µs | 1.30× |
| `DestroyOnly/twitter` | 402 µs | 323 µs | 1.25× | | `DestroyOnly/twitter` | 416 µs | 327 µs | 1.27× |
| `Diff/canada` | 38.3 ms | 3.67 ms | 10.4× | | `Diff/canada` | 39.4 ms | 3.76 ms | 10.5× |
| `Diff/citm_catalog` | 6.74 ms | 1.07 ms | 6.29× | | `Diff/citm_catalog` | 7.13 ms | 1.11 ms | 6.44× |
| `Diff/twitter` | 4.79 ms | 636 µs | 7.54× | | `Diff/twitter` | 4.95 ms | 655 µs | 7.55× |
| `Dump/canada / -` | 6.63 ms | 2.25 ms | 2.95× | | `Dump/canada / -` | 6.84 ms | 2.35 ms | 2.91× |
| `Dump/canada / 4` | 8.9 ms | 2.99 ms | 2.97× | | `Dump/canada / 4` | 9.03 ms | 3.06 ms | 2.95× |
| `Dump/citm_catalog / -` | 1.38 ms | 291 µs | 4.74× | | `Dump/citm_catalog / -` | 1.41 ms | 297 µs | 4.76× |
| `Dump/citm_catalog / 4` | 1.93 ms | 416 µs | 4.63× | | `Dump/citm_catalog / 4` | 1.97 ms | 421 µs | 4.67× |
| `Dump/floats / -` | 62.8 ms | 23.3 ms | 2.69× | | `Dump/floats / -` | 64.1 ms | 24 ms | 2.67× |
| `Dump/floats / 4` | 71.1 ms | 24.1 ms | 2.95× | | `Dump/floats / 4` | 72.1 ms | 24.7 ms | 2.92× |
| `Dump/jeopardy / -` | 201 ms | 30.4 ms | 6.62× | | `Dump/jeopardy / -` | 205 ms | 32 ms | 6.39× |
| `Dump/jeopardy / 4` | 219 ms | 34.4 ms | 6.37× | | `Dump/jeopardy / 4` | 224 ms | 35.8 ms | 6.24× |
| `Dump/signed_ints / -` | 23.4 ms | 16.2 ms | 1.45× | | `Dump/signed_ints / -` | 24 ms | 10.7 ms | 2.23× |
| `Dump/signed_ints / 4` | 31.8 ms | 16.8 ms | 1.89× | | `Dump/signed_ints / 4` | 32.3 ms | 11.4 ms | 2.83× |
| `Dump/small_signed_ints / -` | 17.8 ms | 7.87 ms | 2.27× | | `Dump/small_signed_ints / -` | 18 ms | 8.03 ms | 2.24× |
| `Dump/small_signed_ints / 4` | 25 ms | 8.63 ms | 2.90× | | `Dump/small_signed_ints / 4` | 25.2 ms | 8.84 ms | 2.86× |
| `Dump/twitter / -` | 1.39 ms | 208 µs | 6.67× | | `Dump/twitter / -` | 1.42 ms | 211 µs | 6.73× |
| `Dump/twitter / 4` | 1.56 ms | 248 µs | 6.31× | | `Dump/twitter / 4` | 1.62 ms | 253 µs | 6.42× |
| `Dump/unsigned_ints / -` | 23.4 ms | 16.6 ms | 1.41× | | `Dump/unsigned_ints / -` | 23.7 ms | 8.12 ms | 2.92× |
| `Dump/unsigned_ints / 4` | 31.5 ms | 17.4 ms | 1.81× | | `Dump/unsigned_ints / 4` | 31.9 ms | 8.52 ms | 3.75× |
| `Equal/canada` | 454 µs | 333 µs | 1.36× | | `Equal/canada` | 470 µs | 342 µs | 1.37× |
| `Equal/citm_catalog` | 264 µs | 254 µs | 1.04× | | `Equal/citm_catalog` | 278 µs | 260 µs | 1.07× |
| `Equal/twitter` | 141 µs | 126 µs | 1.12× | | `Equal/twitter` | 145 µs | 130 µs | 1.11× |
| `Flatten/canada` | 28.2 ms | 11.1 ms | 2.53× | | `Flatten/canada` | 29.2 ms | 11.3 ms | 2.58× |
| `Flatten/citm_catalog` | 6.44 ms | 2.96 ms | 2.17× | | `Flatten/citm_catalog` | 6.65 ms | 3.02 ms | 2.20× |
| `Flatten/twitter` | 3.49 ms | 2.01 ms | 1.74× | | `Flatten/twitter` | 3.64 ms | 2.09 ms | 1.74× |
| `FlattenOrdered/citm_catalog` | 253 ms | 1.37 ms | 184× | | `FlattenOrdered/citm_catalog` | 257 ms | 1.43 ms | 179× |
| `FlattenOrdered/twitter` | 49.3 ms | 851 µs | 57.8× | | `FlattenOrdered/twitter` | 51.1 ms | 878 µs | 58.3× |
| `FromBinaryBuffer/bjdata / canada` | 8.08 ms | 4.17 ms | 1.94× | | `FromBinaryBuffer/bjdata / canada` | 8.45 ms | 4.18 ms | 2.02× |
| `FromBinaryBuffer/bjdata / twitter` | 3.12 ms | 963 µs | 3.24× | | `FromBinaryBuffer/bjdata / twitter` | 3.27 ms | 974 µs | 3.36× |
| `FromBinaryBuffer/bjdata_optimized / canada` | 8.53 ms | 2.93 ms | 2.91× | | `FromBinaryBuffer/bjdata_optimized / canada` | 8.84 ms | 2.93 ms | 3.02× |
| `FromBinaryBuffer/bjdata_optimized / twitter` | 3.14 ms | 967 µs | 3.25× | | `FromBinaryBuffer/bjdata_optimized / twitter` | 3.22 ms | 972 µs | 3.31× |
| `FromBinaryBuffer/bson / canada` | 9.21 ms | 5.51 ms | 1.67× | | `FromBinaryBuffer/bson / canada` | 9.59 ms | 5.46 ms | 1.76× |
| `FromBinaryBuffer/bson / citm_catalog` | 3.86 ms | 1.74 ms | 2.23× | | `FromBinaryBuffer/bson / citm_catalog` | 4.01 ms | 1.77 ms | 2.26× |
| `FromBinaryBuffer/bson / twitter` | 3.07 ms | 998 µs | 3.08× | | `FromBinaryBuffer/bson / twitter` | 3.2 ms | 1.02 ms | 3.14× |
| `FromBinaryBuffer/cbor / canada` | 8.2 ms | 2.31 ms | 3.55× | | `FromBinaryBuffer/cbor / canada` | 8.5 ms | 2.34 ms | 3.63× |
| `FromBinaryBuffer/cbor / citm_catalog` | 3.7 ms | 1.46 ms | 2.53× | | `FromBinaryBuffer/cbor / citm_catalog` | 3.84 ms | 1.48 ms | 2.58× |
| `FromBinaryBuffer/cbor / floats` | 28.8 ms | 8.23 ms | 3.51× | | `FromBinaryBuffer/cbor / floats` | 29.4 ms | 8.37 ms | 3.51× |
| `FromBinaryBuffer/cbor / jeopardy` | 352 ms | 116 ms | 3.04× | | `FromBinaryBuffer/cbor / jeopardy` | 370 ms | 119 ms | 3.10× |
| `FromBinaryBuffer/cbor / signed_ints` | 35.7 ms | 12.8 ms | 2.79× | | `FromBinaryBuffer/cbor / signed_ints` | 36.4 ms | 13.2 ms | 2.75× |
| `FromBinaryBuffer/cbor / twitter` | 3 ms | 965 µs | 3.11× | | `FromBinaryBuffer/cbor / twitter` | 3.16 ms | 983 µs | 3.21× |
| `FromBinaryBuffer/msgpack / canada` | 8.21 ms | 2.28 ms | 3.61× | | `FromBinaryBuffer/msgpack / canada` | 8.59 ms | 2.37 ms | 3.62× |
| `FromBinaryBuffer/msgpack / citm_catalog` | 3.7 ms | 1.42 ms | 2.60× | | `FromBinaryBuffer/msgpack / citm_catalog` | 3.83 ms | 1.44 ms | 2.66× |
| `FromBinaryBuffer/msgpack / jeopardy` | 354 ms | 110 ms | 3.22× | | `FromBinaryBuffer/msgpack / jeopardy` | 362 ms | 112 ms | 3.23× |
| `FromBinaryBuffer/msgpack / twitter` | 3.02 ms | 938 µs | 3.22× | | `FromBinaryBuffer/msgpack / twitter` | 3.13 ms | 956 µs | 3.28× |
| `FromBinaryBuffer/ubjson / canada` | 8.14 ms | 4.16 ms | 1.96× | | `FromBinaryBuffer/ubjson / canada` | 8.43 ms | 4.2 ms | 2.01× |
| `FromBinaryBuffer/ubjson / citm_catalog` | 3.81 ms | 1.74 ms | 2.20× | | `FromBinaryBuffer/ubjson / citm_catalog` | 3.95 ms | 1.77 ms | 2.23× |
| `FromBinaryBuffer/ubjson / jeopardy` | 367 ms | 115 ms | 3.19× | | `FromBinaryBuffer/ubjson / jeopardy` | 373 ms | 117 ms | 3.18× |
| `FromBinaryBuffer/ubjson / twitter` | 3.12 ms | 963 µs | 3.24× | | `FromBinaryBuffer/ubjson / twitter` | 3.28 ms | 973 µs | 3.37× |
| `FromBinaryBuffer/ubjson_optimized / canada` | 8.36 ms | 2.83 ms | 2.96× | | `FromBinaryBuffer/ubjson_optimized / canada` | 8.65 ms | 2.86 ms | 3.03× |
| `FromBinaryBuffer/ubjson_optimized / twitter` | 3.13 ms | 960 µs | 3.26× | | `FromBinaryBuffer/ubjson_optimized / twitter` | 3.22 ms | 976 µs | 3.30× |
| `FromBinaryFile/bjdata / twitter` | 10.3 ms | 1.9 ms | 5.39× | | `FromBinaryFile/bjdata / twitter` | 10.8 ms | 1.98 ms | 5.43× |
| `FromBinaryFile/bson / twitter` | 9.98 ms | 1.78 ms | 5.60× | | `FromBinaryFile/bson / twitter` | 10.6 ms | 1.83 ms | 5.76× |
| `FromBinaryFile/cbor / canada` | 14.2 ms | 4.38 ms | 3.24× | | `FromBinaryFile/cbor / canada` | 14.6 ms | 4.52 ms | 3.23× |
| `FromBinaryFile/cbor / twitter` | 9.71 ms | 1.54 ms | 6.31× | | `FromBinaryFile/cbor / twitter` | 10.2 ms | 1.6 ms | 6.38× |
| `FromBinaryFile/ubjson / canada` | 13.4 ms | 6.2 ms | 2.16× | | `FromBinaryFile/ubjson / canada` | 13.9 ms | 6.5 ms | 2.15× |
| `FromBinaryFile/ubjson / twitter` | 10.4 ms | 1.91 ms | 5.47× | | `FromBinaryFile/ubjson / twitter` | 10.8 ms | 1.97 ms | 5.49× |
| `FromBinaryShape/containers / bjdata` | 14.1 ms | 7.05 ms | 2.01× | | `FromBinaryShape/containers / bjdata` | 14.3 ms | 7.41 ms | 1.94× |
| `FromBinaryShape/containers / bson` | 17 ms | 9.81 ms | 1.73× | | `FromBinaryShape/containers / bson` | 17.1 ms | 10 ms | 1.70× |
| `FromBinaryShape/containers / cbor` | 13.8 ms | 3.84 ms | 3.60× | | `FromBinaryShape/containers / cbor` | 14.4 ms | 4 ms | 3.59× |
| `FromBinaryShape/containers / msgpack` | 13.7 ms | 3.71 ms | 3.70× | | `FromBinaryShape/containers / msgpack` | 14.3 ms | 3.9 ms | 3.66× |
| `FromBinaryShape/containers / ubjson_optimized` | 14.7 ms | 4.8 ms | 3.07× | | `FromBinaryShape/containers / ubjson_optimized` | 15.1 ms | 4.92 ms | 3.07× |
| `FromBinaryShape/containers / ubjson` | 14.1 ms | 6.87 ms | 2.05× | | `FromBinaryShape/containers / ubjson` | 14.5 ms | 7.34 ms | 1.97× |
| `FromBinaryShape/nested / bjdata` | 96 µs | 37.9 µs | 2.53× | | `FromBinaryShape/nested / bjdata` | 97.4 µs | 39 µs | 2.50× |
| `FromBinaryShape/nested / bson` | 102 µs | 46.1 µs | 2.21× | | `FromBinaryShape/nested / bson` | 104 µs | 47.6 µs | 2.18× |
| `FromBinaryShape/nested / cbor` | 93.1 µs | 34.4 µs | 2.70× | | `FromBinaryShape/nested / cbor` | 94.1 µs | 35.4 µs | 2.66× |
| `FromBinaryShape/nested / msgpack` | 90.4 µs | 34.2 µs | 2.64× | | `FromBinaryShape/nested / msgpack` | 94.1 µs | 35.2 µs | 2.67× |
| `FromBinaryShape/nested / ubjson` | 96.1 µs | 37.8 µs | 2.54× | | `FromBinaryShape/nested / ubjson` | 98 µs | 38.9 µs | 2.52× |
| `FromBinaryShape/scalars / bjdata` | 24.3 ms | 11.2 ms | 2.17× | | `FromBinaryShape/scalars / bjdata` | 25 ms | 11.6 ms | 2.15× |
| `FromBinaryShape/scalars / cbor` | 25.5 ms | 9.63 ms | 2.65× | | `FromBinaryShape/scalars / cbor` | 26 ms | 9.92 ms | 2.62× |
| `FromBinaryShape/scalars / msgpack` | 24.1 ms | 9.78 ms | 2.46× | | `FromBinaryShape/scalars / msgpack` | 24.9 ms | 10.6 ms | 2.36× |
| `FromBinaryShape/scalars / ubjson` | 24.7 ms | 11.4 ms | 2.17× | | `FromBinaryShape/scalars / ubjson` | 25.1 ms | 11.7 ms | 2.15× |
| `FromCborChunkedString/10000 chunks` | 89.6 µs | 81.3 µs | 1.10× | | `FromCborChunkedString/10000 chunks` | 91.2 µs | 82.7 µs | 1.10× |
| `FromMsgpack/canada` | 14.2 ms | 4.37 ms | 3.26× | | `FromMsgpack/canada` | 14.5 ms | 4.56 ms | 3.19× |
| `FromMsgpack/citm_catalog` | 8.86 ms | 2.25 ms | 3.94× | | `FromMsgpack/citm_catalog` | 9.22 ms | 2.32 ms | 3.98× |
| `FromMsgpack/floats` | 59.3 ms | 27.2 ms | 2.18× | | `FromMsgpack/floats` | 60.7 ms | 28.2 ms | 2.15× |
| `FromMsgpack/jeopardy` | 1,120 ms | 181 ms | 6.17× | | `FromMsgpack/jeopardy` | 1,150 ms | 187 ms | 6.13× |
| `FromMsgpack/signed_ints` | 62 ms | 31.9 ms | 1.94× | | `FromMsgpack/signed_ints` | 63.5 ms | 33 ms | 1.92× |
| `FromMsgpack/small_signed_ints` | 62.8 ms | 33.4 ms | 1.88× | | `FromMsgpack/small_signed_ints` | 64.1 ms | 34.3 ms | 1.87× |
| `FromMsgpack/twitter` | 9.7 ms | 1.46 ms | 6.64× | | `FromMsgpack/twitter` | 10.2 ms | 1.52 ms | 6.69× |
| `FromMsgpack/unsigned_ints` | 55.1 ms | 27.2 ms | 2.02× | | `FromMsgpack/unsigned_ints` | 57 ms | 28 ms | 2.03× |
| `GetArray<std::array<int, 1000>>` | 2.23 µs | 630 ns | 3.54× | | `GetArray<std::array<int, 1000>>` | 2.27 µs | 647 ns | 3.50× |
| `GetArray<std::deque<int>>` | 8.11 µs | 1.16 µs | 7.02× | | `GetArray<std::deque<int>>` | 8.22 µs | 1.18 µs | 6.94× |
| `GetArray<std::set<int>>` | 58.1 µs | 40.9 µs | 1.42× | | `GetArray<std::set<int>>` | 59.3 µs | 41.9 µs | 1.42× |
| `GetArray<std::vector<int>>` | 6.59 µs | 655 ns | 10.1× | | `GetArray<std::vector<int>>` | 6.78 µs | 676 ns | 10× |
| `GetMap/citm_catalog` | 3.41 ms | 2.37 ms | 1.44× | | `GetMap/citm_catalog` | 3.53 ms | 2.42 ms | 1.46× |
| `GetVectorDouble/floats` | 6.62 ms | 641 µs | 10.3× | | `GetVectorDouble/floats` | 6.8 ms | 976 µs | 6.96× |
| `GetVectorInt/signed_ints` | 8.04 ms | 3.36 ms | 2.40× | | `GetVectorInt/signed_ints` | 8.2 ms | 3.48 ms | 2.36× |
| `Iterate/canada` | 861 µs | 320 µs | 2.69× | | `Iterate/canada` | 887 µs | 314 µs | 2.82× |
| `Iterate/citm_catalog` | 298 µs | 167 µs | 1.78× | | `Iterate/citm_catalog` | 304 µs | 187 µs | 1.63× |
| `Iterate/twitter` | 87.1 µs | 61.8 µs | 1.41× | | `Iterate/twitter` | 87.7 µs | 61.9 µs | 1.42× |
| `JsonPointerAt/citm_catalog` | 1.81 ms | 1.11 ms | 1.63× | | `JsonPointerAt/citm_catalog` | 1.87 ms | 1.18 ms | 1.59× |
| `JsonPointerAt/twitter` | 780 µs | 585 µs | 1.33× | | `JsonPointerAt/twitter` | 802 µs | 609 µs | 1.32× |
| `JsonPointerContains/citm_catalog` | 2.72 ms | 1.24 ms | 2.20× | | `JsonPointerContains/citm_catalog` | 2.78 ms | 1.26 ms | 2.20× |
| `JsonPointerContains/twitter` | 1.28 ms | 606 µs | 2.11× | | `JsonPointerContains/twitter` | 1.32 ms | 626 µs | 2.11× |
| `JsonPointerParse/citm_catalog` | 5.65 ms | 2.17 ms | 2.60× | | `JsonPointerParse/citm_catalog` | 5.82 ms | 2.23 ms | 2.62× |
| `JsonPointerParse/twitter` | 2.41 ms | 979 µs | 2.46× | | `JsonPointerParse/twitter` | 2.49 ms | 1.01 ms | 2.45× |
| `JsonPointerToString/citm_catalog` | 6.64 ms | 1.87 ms | 3.55× | | `JsonPointerToString/citm_catalog` | 6.74 ms | 1.94 ms | 3.46× |
| `JsonPointerToString/twitter` | 2.17 ms | 794 µs | 2.73× | | `JsonPointerToString/twitter` | 2.23 ms | 820 µs | 2.72× |
| `ParseFILE/canada` | 52.2 ms | 13.9 ms | 3.76× | | `ParseFILE/canada` | 53.3 ms | 14.3 ms | 3.72× |
| `ParseFILE/citm_catalog` | 34.6 ms | 7.26 ms | 4.76× | | `ParseFILE/citm_catalog` | 35.5 ms | 7.58 ms | 4.69× |
| `ParseFILE/twitter` | 13.6 ms | 3.28 ms | 4.14× | | `ParseFILE/twitter` | 13.9 ms | 3.37 ms | 4.13× |
| `ParseFile/canada` | 17.9 ms | 6.12 ms | 2.93× | | `ParseFile/canada` | 17.9 ms | 6.38 ms | 2.81× |
| `ParseFile/citm_catalog` | 7.63 ms | 2.4 ms | 3.18× | | `ParseFile/citm_catalog` | 7.98 ms | 2.5 ms | 3.19× |
| `ParseFile/floats` | 131 ms | 48.9 ms | 2.69× | | `ParseFile/floats` | 129 ms | 50.8 ms | 2.54× |
| `ParseFile/jeopardy` | 327 ms | 157 ms | 2.08× | | `ParseFile/jeopardy` | 335 ms | 163 ms | 2.05× |
| `ParseFile/signed_ints` | 125 ms | 46.2 ms | 2.70× | | `ParseFile/signed_ints` | 127 ms | 47.8 ms | 2.65× |
| `ParseFile/small_signed_ints` | 63.1 ms | 31.4 ms | 2.01× | | `ParseFile/small_signed_ints` | 64.5 ms | 32.4 ms | 1.99× |
| `ParseFile/twitter` | 3.34 ms | 1.35 ms | 2.46× | | `ParseFile/twitter` | 3.45 ms | 1.41 ms | 2.44× |
| `ParseFile/unsigned_ints` | 122 ms | 44 ms | 2.77× | | `ParseFile/unsigned_ints` | 123 ms | 45.5 ms | 2.71× |
| `ParseIndented/canada / 4` | 33.8 ms | 5.02 ms | 6.74× | | `ParseIndented/canada / 4` | 34.4 ms | 5.16 ms | 6.67× |
| `ParseIndented/citm_catalog / 4` | 7.28 ms | 1.75 ms | 4.15× | | `ParseIndented/citm_catalog / 4` | 7.42 ms | 1.79 ms | 4.15× |
| `ParseIndented/jeopardy / 4` | 334 ms | 131 ms | 2.54× | | `ParseIndented/jeopardy / 4` | 342 ms | 133 ms | 2.56× |
| `ParseIndented/twitter / 4` | 3.58 ms | 1.11 ms | 3.24× | | `ParseIndented/twitter / 4` | 3.67 ms | 1.15 ms | 3.19× |
| `ParseStreamValues/ndjson` | 6.96 ms | 3.73 ms | 1.87× | | `ParseStreamValues/ndjson` | 7.13 ms | 3.75 ms | 1.90× |
| `ParseStreamValues/numbers` | 1.87 ms | 371 µs | 5.04× | | `ParseStreamValues/numbers` | 1.91 ms | 380 µs | 5.03× |
| `ParseString/canada` | 15.1 ms | 4.35 ms | 3.46× | | `ParseString/canada` | 15.2 ms | 4.5 ms | 3.38× |
| `ParseString/citm_catalog` | 7.2 ms | 1.75 ms | 4.13× | | `ParseString/citm_catalog` | 7.42 ms | 1.77 ms | 4.19× |
| `ParseString/floats` | 119 ms | 30.2 ms | 3.93× | | `ParseString/floats` | 120 ms | 31.2 ms | 3.86× |
| `ParseString/jeopardy` | 305 ms | 130 ms | 2.35× | | `ParseString/jeopardy` | 307 ms | 132 ms | 2.33× |
| `ParseString/signed_ints` | 120 ms | 31.4 ms | 3.80× | | `ParseString/signed_ints` | 121 ms | 32.4 ms | 3.74× |
| `ParseString/small_signed_ints` | 60.5 ms | 21.9 ms | 2.77× | | `ParseString/small_signed_ints` | 62 ms | 22.5 ms | 2.75× |
| `ParseString/twitter` | 3.16 ms | 1.05 ms | 3.02× | | `ParseString/twitter` | 3.26 ms | 1.06 ms | 3.08× |
| `ParseString/unsigned_ints` | 118 ms | 30.3 ms | 3.90× | | `ParseString/unsigned_ints` | 119 ms | 30.9 ms | 3.86× |
| `ParseStringOrdered/canada` | 15 ms | 4.29 ms | 3.49× | | `ParseStringOrdered/canada` | 15.4 ms | 4.45 ms | 3.47× |
| `ParseStringOrdered/citm_catalog` | 10.8 ms | 1.64 ms | 6.58× | | `ParseStringOrdered/citm_catalog` | 11.3 ms | 1.67 ms | 6.76× |
| `ParseStringOrdered/jeopardy` | 356 ms | 111 ms | 3.21× | | `ParseStringOrdered/jeopardy` | 371 ms | 114 ms | 3.24× |
| `ParseStringOrdered/twitter` | 4.32 ms | 911 µs | 4.75× | | `ParseStringOrdered/twitter` | 4.52 ms | 920 µs | 4.91× |
| `Patch/canada` | 9.81 ms | 3.36 ms | 2.92× | | `Patch/canada` | 10.4 ms | 3.44 ms | 3.02× |
| `Patch/citm_catalog` | 2.49 ms | 1.61 ms | 1.55× | | `Patch/citm_catalog` | 2.65 ms | 1.69 ms | 1.57× |
| `Patch/twitter` | 1.45 ms | 849 µs | 1.71× | | `Patch/twitter` | 1.54 ms | 871 µs | 1.77× |
| `SaxParse/canada` | 12.8 ms | 3.22 ms | 3.99× | | `SaxParse/canada` | 13 ms | 3.28 ms | 3.97× |
| `SaxParse/citm_catalog` | 6.34 ms | 970 µs | 6.54× | | `SaxParse/citm_catalog` | 6.49 ms | 996 µs | 6.51× |
| `SaxParse/twitter` | 2.47 ms | 472 µs | 5.23× | | `SaxParse/twitter` | 2.51 ms | 478 µs | 5.26× |
| `ToCbor/canada` | 1.37 ms | 546 µs | 2.51× | | `ToCbor/canada` | 1.41 ms | 564 µs | 2.49× |
| `ToCbor/citm_catalog` | 1.02 ms | 258 µs | 3.96× | | `ToCbor/citm_catalog` | 1.04 ms | 261 µs | 4.00× |
| `ToCbor/floats` | 8.85 ms | 1.88 ms | 4.69× | | `ToCbor/floats` | 8.96 ms | 1.9 ms | 4.71× |
| `ToCbor/jeopardy` | 71.6 ms | 21.1 ms | 3.39× | | `ToCbor/jeopardy` | 73.8 ms | 22.3 ms | 3.31× |
| `ToCbor/signed_ints` | 11.3 ms | 2.77 ms | 4.09× | | `ToCbor/signed_ints` | 11.4 ms | 2.83 ms | 4.03× |
| `ToCbor/small_signed_ints` | 10.2 ms | 2.39 ms | 4.28× | | `ToCbor/small_signed_ints` | 10.3 ms | 2.46 ms | 4.21× |
| `ToCbor/twitter` | 638 µs | 142 µs | 4.50× | | `ToCbor/twitter` | 645 µs | 145 µs | 4.45× |
| `ToCbor/unsigned_ints` | 7.99 ms | 2.76 ms | 2.90× | | `ToCbor/unsigned_ints` | 8.05 ms | 2.8 ms | 2.87× |
| `ToJsonStrings/copy` | 5.83 ms | 5.54 ms | 1.05× | | `ToJsonStrings/copy` | 6.02 ms | 5.76 ms | 1.05× |
| `ToJsonStrings/move` | 5.84 ms | 3.02 ms | 1.93× | | `ToJsonStrings/move` | 6.05 ms | 3.12 ms | 1.94× |
| `Unflatten/canada` | 40.5 ms | 10.7 ms | 3.76× | | `Unflatten/canada` | 42.3 ms | 11 ms | 3.86× |
| `Unflatten/citm_catalog` | 9.66 ms | 3.47 ms | 2.78× | | `Unflatten/citm_catalog` | 10.1 ms | 3.55 ms | 2.83× |
| `Unflatten/twitter` | 4.48 ms | 2.11 ms | 2.12× | | `Unflatten/twitter` | 4.79 ms | 2.17 ms | 2.21× |
### C. The timeline ### C. The timeline
@@ -2210,7 +2212,7 @@ removed because 3.12.0 has no BON8.
| compiler | Apple clang 21, libc++ | | compiler | Apple clang 21, libc++ |
| flags | `-O3 -flto -DNDEBUG`, the compiler's default standard, C++14 | | 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 | | 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 | | 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> <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]; [#5628][5628]; `json_document` with `ensure_ascii` [#5879][5879]; short strings [#5878][5878], [#5883][5883];
escape table [#5822][5822]; loop shape [#5490][5490]. 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 - <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]; - <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]; positions on error [#5809][5809];
binary readers' copy [#5501][5501]; `ordered_json` growth [#5609][5609]; arrays at their final size 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 [5908]: https://github.com/nlohmann/json/pull/5908
[5919]: https://github.com/nlohmann/json/pull/5919 [5919]: https://github.com/nlohmann/json/pull/5919
[5926]: https://github.com/nlohmann/json/pull/5926 [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"> <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> <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"/> <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> <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"/> <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> <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"/> <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> <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> <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="185.9" text-anchor="middle">2</text> <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> <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> <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="131.9" text-anchor="middle">23</text> <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> <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> <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-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> <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> <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="44.4" text-anchor="middle">57</text> <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> <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> <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="52.1" text-anchor="middle">54</text> <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> <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> <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="129.3" text-anchor="middle">24</text> <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> <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> <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="178.1" text-anchor="middle">5</text> <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> <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"/> <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> <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"> <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> <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="20">Parsing</text>
<text class="nj-charts-panel" x="8" y="244">Writing</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> <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"/> <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-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> <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> <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="285.6" y="42">3.0&#215;</text> <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> <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> <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="318.9" y="66">4.1&#215;</text> <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> <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> <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="298.8" y="90">3.5&#215;</text> <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> <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> <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="397.2" y="114">6.7&#215;</text> <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> <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> <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="392.4" y="138">6.6&#215;</text> <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> <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> <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.8" y="162">2.5&#215;</text> <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> <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> <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="337.8" y="186">4.8&#215;</text> <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> <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> <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="404.7" y="210">7.0&#215;</text> <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> <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> <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="395.1" y="266">6.7&#215;</text> <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> <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> <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="283.5" y="290">3.0&#215;</text> <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> <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> <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="333.9" y="314">4.6&#215;</text> <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> <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> <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="330" y="338">4.5&#215;</text> <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> <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> <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="288.3" y="394">3.1&#215;</text> <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> <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> <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="384.3" y="418">6.3&#215;</text> <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> <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> <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="508.2" y="474">10&#215;</text> <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> <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> <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="275.7" y="498">2.7&#215;</text> <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> <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> <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-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> <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> <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="226.2" y="546">1.04&#215;</text> <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-ref" x1="220" y1="8" x2="220" y2="560"/>
<line class="nj-charts-zero" x1="190" y1="8" x2="190" 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> <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"> <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> <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> <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"/> <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> <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> <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"/> <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> <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> <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"/> <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"/> <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> <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"/> <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> <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> <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"/> <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"/> <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"> <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> <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> <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"/> <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> <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> <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"/> <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> <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> <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"/> <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"/> <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> <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"/> <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> <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> <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"/> <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"/> <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> <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"/> <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> <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> <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"/> <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"/> <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> <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"/> <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> <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> <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"/> <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"/> <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"> <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> <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> <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"/> <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> <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> <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"/> <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> <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> <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"/> <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"/> <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 benchmark,unit,3.12.0,3.13.0,speedup
FromBinaryBuffer/bson / twitter,ns,3.07203e+06,998445,3.077 FromBinaryBuffer/bson / twitter,ns,3.20265e+06,1.01993e+06,3.140
ParseStringOrdered/jeopardy,ns,3.56038e+08,1.10829e+08,3.213 ParseStringOrdered/jeopardy,ns,3.70568e+08,1.14254e+08,3.243
JsonPointerToString/twitter,ns,2.16889e+06,793513,2.733 JsonPointerToString/twitter,ns,2.23197e+06,820138,2.721
BinaryToCbor/8192,ns,511.25,238.725,2.142 BinaryToCbor/8192,ns,520.964,261.625,1.991
FromMsgpack/unsigned_ints,ns,5.51164e+07,2.72444e+07,2.023 FromMsgpack/unsigned_ints,ns,5.69725e+07,2.80231e+07,2.033
JsonPointerAt/twitter,ns,780306,585055,1.334 JsonPointerAt/twitter,ns,802316,609192,1.317
CopyOnly/twitter,ns,393964,399209,0.987 CopyOnly/twitter,ns,420973,412550,1.020
FlattenOrdered/citm_catalog,ns,2.52682e+08,1.37388e+06,183.919 FlattenOrdered/citm_catalog,ns,2.56599e+08,1.43012e+06,179.425
FromBinaryFile/ubjson / canada,ns,1.34e+07,6.20075e+06,2.161 FromBinaryFile/ubjson / canada,ns,1.39411e+07,6.49692e+06,2.146
FromBinaryShape/containers / bjdata,ns,1.41456e+07,7.04794e+06,2.007 FromBinaryShape/containers / bjdata,ns,1.43419e+07,7.40687e+06,1.936
ParseIndented/jeopardy / 4,ns,3.33616e+08,1.31177e+08,2.543 ParseIndented/jeopardy / 4,ns,3.41862e+08,1.33413e+08,2.562
FromMsgpack/signed_ints,ns,6.19882e+07,3.19294e+07,1.941 FromMsgpack/signed_ints,ns,6.35213e+07,3.30421e+07,1.922
FromBinaryShape/containers / bson,ns,1.69936e+07,9.81169e+06,1.732 FromBinaryShape/containers / bson,ns,1.70519e+07,1.00034e+07,1.705
BinaryToCbor/128,ns,247.24,110.472,2.238 BinaryToCbor/128,ns,254.611,116.411,2.187
FromBinaryBuffer/cbor / jeopardy,ns,3.52319e+08,1.15873e+08,3.041 FromBinaryBuffer/cbor / jeopardy,ns,3.69767e+08,1.19253e+08,3.101
ParseFile/jeopardy,ns,3.26899e+08,1.57231e+08,2.079 ParseFile/jeopardy,ns,3.34742e+08,1.63435e+08,2.048
FromMsgpack/jeopardy,ns,1.11847e+09,1.81305e+08,6.169 FromMsgpack/jeopardy,ns,1.149e+09,1.87355e+08,6.133
FromBinaryFile/cbor / twitter,ns,9.70523e+06,1.5381e+06,6.310 FromBinaryFile/cbor / twitter,ns,1.01844e+07,1.59657e+06,6.379
ToCbor/floats,ns,8.8461e+06,1.88426e+06,4.695 ToCbor/floats,ns,8.95826e+06,1.90206e+06,4.710
ParseFile/small_signed_ints,ns,6.30771e+07,3.13826e+07,2.010 ParseFile/small_signed_ints,ns,6.45414e+07,3.24039e+07,1.992
FromBinaryBuffer/msgpack / twitter,ns,3.01937e+06,937570,3.220 FromBinaryBuffer/msgpack / twitter,ns,3.12989e+06,955605,3.275
BinaryToCbor/16384,ns,947.242,408.275,2.320 BinaryToCbor/16384,ns,957.164,409.694,2.336
FromBinaryFile/bson / twitter,ns,9.98109e+06,1.78121e+06,5.604 FromBinaryFile/bson / twitter,ns,1.05564e+07,1.83313e+06,5.759
ParseString/twitter,ns,3.15572e+06,1.04655e+06,3.015 ParseString/twitter,ns,3.26395e+06,1.06141e+06,3.075
Unflatten/twitter,ns,4.47709e+06,2.11403e+06,2.118 Unflatten/twitter,ns,4.7901e+06,2.16809e+06,2.209
BinaryToCbor/8,ns,242.891,46.6253,5.209 BinaryToCbor/8,ns,250.617,48.9987,5.115
BinaryToCbor/16,ns,238.431,46.5179,5.126 BinaryToCbor/16,ns,247.56,49.275,5.024
Dump/small_signed_ints / 4,ns,2.49933e+07,8.62966e+06,2.896 Dump/small_signed_ints / 4,ns,2.52497e+07,8.83973e+06,2.856
ParseString/jeopardy,ns,3.04927e+08,1.29515e+08,2.354 ParseString/jeopardy,ns,3.075e+08,1.31952e+08,2.330
Dump/signed_ints / 4,ns,3.18294e+07,1.68297e+07,1.891 Dump/signed_ints / 4,ns,3.23205e+07,1.14372e+07,2.826
Flatten/twitter,ns,3.4886e+06,2.00532e+06,1.740 Flatten/twitter,ns,3.63682e+06,2.08612e+06,1.743
FromBinaryBuffer/cbor / twitter,ns,3.00428e+06,964870,3.114 FromBinaryBuffer/cbor / twitter,ns,3.15556e+06,982723,3.211
Dump/jeopardy / 4,ns,2.19025e+08,3.43818e+07,6.370 Dump/jeopardy / 4,ns,2.23755e+08,3.58432e+07,6.243
SaxParse/citm_catalog,ns,6.33865e+06,969665,6.537 SaxParse/citm_catalog,ns,6.48562e+06,996471,6.509
JsonPointerAt/citm_catalog,ns,1.80656e+06,1.10975e+06,1.628 JsonPointerAt/citm_catalog,ns,1.86838e+06,1.17763e+06,1.587
DestroyOnly/citm_catalog,ns,874073,663615,1.317 DestroyOnly/citm_catalog,ns,896147,687189,1.304
FromBinaryShape/scalars / ubjson,ns,2.46643e+07,1.13906e+07,2.165 FromBinaryShape/scalars / ubjson,ns,2.51063e+07,1.16857e+07,2.148
Unflatten/canada,ns,4.04569e+07,1.07458e+07,3.765 Unflatten/canada,ns,4.23131e+07,1.09708e+07,3.857
ParseString/floats,ns,1.18934e+08,3.02332e+07,3.934 ParseString/floats,ns,1.20329e+08,3.11796e+07,3.859
ParseIndented/canada / 4,ns,3.38495e+07,5.02409e+06,6.737 ParseIndented/canada / 4,ns,3.44028e+07,5.15746e+06,6.670
ParseString/signed_ints,ns,1.19593e+08,3.14351e+07,3.804 ParseString/signed_ints,ns,1.21464e+08,3.24369e+07,3.745
ParseFile/signed_ints,ns,1.24813e+08,4.61765e+07,2.703 ParseFile/signed_ints,ns,1.26509e+08,4.77756e+07,2.648
JsonPointerContains/twitter,ns,1.27938e+06,606069,2.111 JsonPointerContains/twitter,ns,1.32359e+06,626164,2.114
Dump/floats / 4,ns,7.10935e+07,2.41369e+07,2.945 Dump/floats / 4,ns,7.2051e+07,2.47002e+07,2.917
Dump/floats / -,ns,6.27641e+07,2.33213e+07,2.691 Dump/floats / -,ns,6.40617e+07,2.40284e+07,2.666
ToCbor/canada,ns,1.36795e+06,546001,2.505 ToCbor/canada,ns,1.40569e+06,563628,2.494
FromBinaryBuffer/bson / canada,ns,9.21307e+06,5.51059e+06,1.672 FromBinaryBuffer/bson / canada,ns,9.59257e+06,5.45604e+06,1.758
ToCbor/twitter,ns,638321,141975,4.496 ToCbor/twitter,ns,645140,144838,4.454
ParseIndented/twitter / 4,ns,3.58298e+06,1.10646e+06,3.238 ParseIndented/twitter / 4,ns,3.66555e+06,1.1496e+06,3.189
Iterate/citm_catalog,ns,297646,167302,1.779 Iterate/citm_catalog,ns,304057,186693,1.629
FromBinaryBuffer/bjdata / canada,ns,8.08015e+06,4.17334e+06,1.936 FromBinaryBuffer/bjdata / canada,ns,8.44949e+06,4.18085e+06,2.021
ParseStreamValues/ndjson,ns,6.96248e+06,3.7254e+06,1.869 ParseStreamValues/ndjson,ns,7.13248e+06,3.74646e+06,1.904
Diff/twitter,ns,4.79296e+06,635531,7.542 Diff/twitter,ns,4.9487e+06,655350,7.551
Dump/citm_catalog / -,ns,1.37753e+06,290658,4.739 Dump/citm_catalog / -,ns,1.41491e+06,296958,4.765
FromBinaryShape/nested / bjdata,ns,96017.5,37882.1,2.535 FromBinaryShape/nested / bjdata,ns,97444.8,39017.8,2.497
ToJsonStrings/copy,ns,5.83243e+06,5.54046e+06,1.053 ToJsonStrings/copy,ns,6.02335e+06,5.76289e+06,1.045
Dump/canada / 4,ns,8.9039e+06,2.9943e+06,2.974 Dump/canada / 4,ns,9.0251e+06,3.05796e+06,2.951
CopyRing/twitter,ns,855374,766521,1.116 CopyRing/twitter,ns,923459,836502,1.104
FromBinaryBuffer/cbor / citm_catalog,ns,3.70397e+06,1.46121e+06,2.535 FromBinaryBuffer/cbor / citm_catalog,ns,3.83804e+06,1.48497e+06,2.585
FromBinaryFile/bjdata / twitter,ns,1.02688e+07,1.90492e+06,5.391 FromBinaryFile/bjdata / twitter,ns,1.07571e+07,1.97984e+06,5.433
FromBinaryShape/containers / ubjson_optimized,ns,1.4727e+07,4.80309e+06,3.066 FromBinaryShape/containers / ubjson_optimized,ns,1.51034e+07,4.91673e+06,3.072
FromMsgpack/citm_catalog,ns,8.85701e+06,2.2473e+06,3.941 FromMsgpack/citm_catalog,ns,9.2234e+06,2.31697e+06,3.981
CopyOnly/canada,ns,1.53425e+06,1.49609e+06,1.026 CopyOnly/canada,ns,1.57914e+06,1.55103e+06,1.018
Equal/canada,ns,453965,332795,1.364 Equal/canada,ns,469788,342475,1.372
Diff/citm_catalog,ns,6.74369e+06,1.07135e+06,6.295 Diff/citm_catalog,ns,7.13383e+06,1.10739e+06,6.442
ParseStringOrdered/canada,ns,1.49834e+07,4.29102e+06,3.492 ParseStringOrdered/canada,ns,1.54143e+07,4.44693e+06,3.466
Flatten/canada,ns,2.82148e+07,1.11369e+07,2.533 Flatten/canada,ns,2.92397e+07,1.13461e+07,2.577
Accept/canada,ns,1.26836e+07,2.25933e+06,5.614 Accept/canada,ns,1.28601e+07,2.33328e+06,5.512
CopyAssign/twitter,ns,804857,735341,1.095 CopyAssign/twitter,ns,886807,758771,1.169
BinaryToCbor/4096,ns,402.442,159.22,2.528 BinaryToCbor/4096,ns,408.287,177.133,2.305
ParseFILE/citm_catalog,ns,3.45528e+07,7.26455e+06,4.756 ParseFILE/citm_catalog,ns,3.554e+07,7.57816e+06,4.690
ToCbor/signed_ints,ns,1.13256e+07,2.76748e+06,4.092 ToCbor/signed_ints,ns,1.13842e+07,2.82539e+06,4.029
Patch/canada,ns,9.80719e+06,3.36006e+06,2.919 Patch/canada,ns,1.03856e+07,3.44306e+06,3.016
GetArray<std::vector<int>>,ns,6589.63,655.021,10.060 GetArray<std::vector<int>>,ns,6775.31,675.66,10.028
Dump/canada / -,ns,6.62927e+06,2.24661e+06,2.951 Dump/canada / -,ns,6.83829e+06,2.34599e+06,2.915
GetVectorDouble/floats,ns,6.62214e+06,641259,10.327 GetVectorDouble/floats,ns,6.79501e+06,976472,6.959
Accept/citm_catalog,ns,6.3596e+06,909397,6.993 Accept/citm_catalog,ns,6.46161e+06,933820,6.920
ParseFILE/twitter,ns,1.35627e+07,3.27982e+06,4.135 ParseFILE/twitter,ns,1.39242e+07,3.37101e+06,4.131
FromBinaryBuffer/msgpack / jeopardy,ns,3.54302e+08,1.10166e+08,3.216 FromBinaryBuffer/msgpack / jeopardy,ns,3.62314e+08,1.12333e+08,3.225
ParseFile/floats,ns,1.3128e+08,4.88806e+07,2.686 ParseFile/floats,ns,1.29093e+08,5.07947e+07,2.541
Accept/small_signed_ints,ns,5.5849e+07,1.88756e+07,2.959 Accept/small_signed_ints,ns,5.70115e+07,1.92594e+07,2.960
Accept/jeopardy,ns,2.2049e+08,6.3504e+07,3.472 Accept/jeopardy,ns,2.18621e+08,6.48811e+07,3.370
Accept/signed_ints,ns,1.15055e+08,2.84818e+07,4.040 Accept/signed_ints,ns,1.17114e+08,2.90352e+07,4.034
CopyRing/canada,ns,3.68758e+06,2.88527e+06,1.278 CopyRing/canada,ns,3.85335e+06,2.97856e+06,1.294
Patch/twitter,ns,1.44963e+06,848729,1.708 Patch/twitter,ns,1.54075e+06,870596,1.770
Iterate/twitter,ns,87147.2,61831.9,1.409 Iterate/twitter,ns,87674.1,61938.2,1.416
ParseFile/twitter,ns,3.33795e+06,1.3545e+06,2.464 ParseFile/twitter,ns,3.45242e+06,1.4135e+06,2.442
GetArray<std::deque<int>>,ns,8110.78,1156.06,7.016 GetArray<std::deque<int>>,ns,8218.06,1184.36,6.939
FromBinaryBuffer/cbor / canada,ns,8.20468e+06,2.31071e+06,3.551 FromBinaryBuffer/cbor / canada,ns,8.49597e+06,2.34162e+06,3.628
Equal/twitter,ns,141057,125995,1.120 Equal/twitter,ns,144862,130449,1.110
ParseStreamValues/numbers,ns,1.87073e+06,370959,5.043 ParseStreamValues/numbers,ns,1.91254e+06,380019,5.033
Dump/small_signed_ints / -,ns,1.78162e+07,7.86562e+06,2.265 Dump/small_signed_ints / -,ns,1.79973e+07,8.03116e+06,2.241
JsonPointerToString/citm_catalog,ns,6.63798e+06,1.869e+06,3.552 JsonPointerToString/citm_catalog,ns,6.73543e+06,1.94403e+06,3.465
Copy/twitter,ns,797034,721889,1.104 Copy/twitter,ns,817423,747760,1.093
Diff/canada,ns,3.83337e+07,3.67301e+06,10.437 Diff/canada,ns,3.94496e+07,3.76295e+06,10.484
FromBinaryBuffer/ubjson_optimized / twitter,ns,3.1281e+06,959992,3.258 FromBinaryBuffer/ubjson_optimized / twitter,ns,3.21798e+06,976128,3.297
BinaryToCbor/32,ns,251.857,47.32,5.322 BinaryToCbor/32,ns,257.519,50.0744,5.143
GetArray<std::set<int>>,ns,58113.1,40911.2,1.420 GetArray<std::set<int>>,ns,59334.9,41926.5,1.415
CopyAssign/citm_catalog,ns,1.66804e+06,1.48043e+06,1.127 CopyAssign/citm_catalog,ns,1.74826e+06,1.58974e+06,1.100
ToCbor/jeopardy,ns,7.16464e+07,2.11077e+07,3.394 ToCbor/jeopardy,ns,7.37854e+07,2.23113e+07,3.307
CopyRing/citm_catalog,ns,1.70236e+06,1.50767e+06,1.129 CopyRing/citm_catalog,ns,1.82401e+06,1.5913e+06,1.146
FromBinaryBuffer/ubjson / canada,ns,8.14082e+06,4.15725e+06,1.958 FromBinaryBuffer/ubjson / canada,ns,8.42613e+06,4.2011e+06,2.006
ToCbor/small_signed_ints,ns,1.02087e+07,2.3872e+06,4.276 ToCbor/small_signed_ints,ns,1.03308e+07,2.45559e+06,4.207
DestroyOnly/canada,ns,2.13545e+06,1.37061e+06,1.558 DestroyOnly/canada,ns,2.19064e+06,1.40424e+06,1.560
FromBinaryBuffer/ubjson / citm_catalog,ns,3.81161e+06,1.73601e+06,2.196 FromBinaryBuffer/ubjson / citm_catalog,ns,3.94636e+06,1.77126e+06,2.228
Dump/jeopardy / -,ns,2.01242e+08,3.04052e+07,6.619 Dump/jeopardy / -,ns,2.0472e+08,3.20386e+07,6.390
FromBinaryBuffer/msgpack / citm_catalog,ns,3.70428e+06,1.42385e+06,2.602 FromBinaryBuffer/msgpack / citm_catalog,ns,3.83422e+06,1.44289e+06,2.657
ParseStringOrdered/citm_catalog,ns,1.07899e+07,1.63999e+06,6.579 ParseStringOrdered/citm_catalog,ns,1.13087e+07,1.6737e+06,6.757
ParseString/unsigned_ints,ns,1.17897e+08,3.02538e+07,3.897 ParseString/unsigned_ints,ns,1.19395e+08,3.09133e+07,3.862
Patch/citm_catalog,ns,2.48869e+06,1.60776e+06,1.548 Patch/citm_catalog,ns,2.64909e+06,1.68738e+06,1.570
SaxParse/canada,ns,1.28389e+07,3.21707e+06,3.991 SaxParse/canada,ns,1.30153e+07,3.28081e+06,3.967
ParseString/citm_catalog,ns,7.20303e+06,1.7454e+06,4.127 ParseString/citm_catalog,ns,7.42082e+06,1.77268e+06,4.186
FromBinaryFile/cbor / canada,ns,1.42056e+07,4.37844e+06,3.244 FromBinaryFile/cbor / canada,ns,1.45988e+07,4.52323e+06,3.228
BinaryToCbor/256,ns,269.641,86.3027,3.124 BinaryToCbor/256,ns,271.407,91.5071,2.966
ParseFILE/canada,ns,5.22098e+07,1.38907e+07,3.759 ParseFILE/canada,ns,5.33064e+07,1.43382e+07,3.718
BinaryToCbor/32768,ns,1538.42,806.578,1.907 BinaryToCbor/32768,ns,1549.96,819.172,1.892
Accept/floats,ns,1.13316e+08,2.40029e+07,4.721 Accept/floats,ns,1.14306e+08,2.47177e+07,4.624
FromMsgpack/floats,ns,5.92985e+07,2.71551e+07,2.184 FromMsgpack/floats,ns,6.06523e+07,2.81624e+07,2.154
ParseString/small_signed_ints,ns,6.05098e+07,2.18687e+07,2.767 ParseString/small_signed_ints,ns,6.20261e+07,2.25358e+07,2.752
JsonPointerParse/citm_catalog,ns,5.64871e+06,2.16902e+06,2.604 JsonPointerParse/citm_catalog,ns,5.82111e+06,2.2258e+06,2.615
Copy/canada,ns,3.64004e+06,2.8296e+06,1.286 Copy/canada,ns,3.76091e+06,2.89932e+06,1.297
Dump/twitter / 4,ns,1.56293e+06,247785,6.308 Dump/twitter / 4,ns,1.622e+06,252594,6.421
FromBinaryShape/nested / msgpack,ns,90351.2,34224,2.640 FromBinaryShape/nested / msgpack,ns,94122.7,35186.9,2.675
FromBinaryBuffer/ubjson_optimized / canada,ns,8.36221e+06,2.82594e+06,2.959 FromBinaryBuffer/ubjson_optimized / canada,ns,8.64985e+06,2.85754e+06,3.027
JsonPointerContains/citm_catalog,ns,2.71985e+06,1.23844e+06,2.196 JsonPointerContains/citm_catalog,ns,2.77749e+06,1.26131e+06,2.202
FromMsgpack/small_signed_ints,ns,6.27969e+07,3.33815e+07,1.881 FromMsgpack/small_signed_ints,ns,6.40964e+07,3.42736e+07,1.870
DestroyOnly/twitter,ns,401772,322543,1.246 DestroyOnly/twitter,ns,415737,326784,1.272
FromBinaryShape/containers / msgpack,ns,1.37471e+07,3.71417e+06,3.701 FromBinaryShape/containers / msgpack,ns,1.42568e+07,3.89814e+06,3.657
FromBinaryShape/scalars / msgpack,ns,2.40944e+07,9.77821e+06,2.464 FromBinaryShape/scalars / msgpack,ns,2.4908e+07,1.05741e+07,2.356
ToCbor/citm_catalog,ns,1.02089e+06,257529,3.964 ToCbor/citm_catalog,ns,1.04281e+06,260809,3.998
GetVectorInt/signed_ints,ns,8.04308e+06,3.35704e+06,2.396 GetVectorInt/signed_ints,ns,8.20129e+06,3.48162e+06,2.356
Accept/twitter,ns,2.45943e+06,458446,5.365 Accept/twitter,ns,2.49861e+06,475874,5.251
Iterate/canada,ns,861455,320474,2.688 Iterate/canada,ns,886750,314350,2.821
ToCbor/unsigned_ints,ns,7.98977e+06,2.75684e+06,2.898 ToCbor/unsigned_ints,ns,8.05242e+06,2.80275e+06,2.873
FromBinaryShape/scalars / bjdata,ns,2.43317e+07,1.12007e+07,2.172 FromBinaryShape/scalars / bjdata,ns,2.49885e+07,1.16227e+07,2.150
BinaryToCbor/2048,ns,332.826,114.084,2.917 BinaryToCbor/2048,ns,331.702,126.762,2.617
BinaryToCbor/512,ns,291.316,92.8039,3.139 BinaryToCbor/512,ns,287.238,102.34,2.807
FlattenOrdered/twitter,ns,4.92534e+07,851500,57.843 FlattenOrdered/twitter,ns,5.11231e+07,877575,58.255
Copy/citm_catalog,ns,1.61348e+06,1.44942e+06,1.113 Copy/citm_catalog,ns,1.66893e+06,1.50237e+06,1.111
FromBinaryShape/containers / ubjson,ns,1.40981e+07,6.87399e+06,2.051 FromBinaryShape/containers / ubjson,ns,1.44781e+07,7.34134e+06,1.972
BinaryToCbor/1024,ns,304.119,95.8643,3.172 BinaryToCbor/1024,ns,294.38,106.974,2.752
FromBinaryBuffer/ubjson / twitter,ns,3.12147e+06,962822,3.242 FromBinaryBuffer/ubjson / twitter,ns,3.27965e+06,973396,3.369
Dump/signed_ints / -,ns,2.34455e+07,1.61521e+07,1.452 Dump/signed_ints / -,ns,2.3995e+07,1.07412e+07,2.234
FromBinaryShape/scalars / cbor,ns,2.54779e+07,9.63099e+06,2.645 FromBinaryShape/scalars / cbor,ns,2.59955e+07,9.92397e+06,2.619
FromBinaryBuffer/cbor / signed_ints,ns,3.57449e+07,1.2803e+07,2.792 FromBinaryBuffer/cbor / signed_ints,ns,3.6394e+07,1.32489e+07,2.747
CopyOnly/citm_catalog,ns,734852,783826,0.938 CopyOnly/citm_catalog,ns,773309,805343,0.960
Dump/unsigned_ints / -,ns,2.3437e+07,1.6565e+07,1.415 Dump/unsigned_ints / -,ns,2.37018e+07,8.11504e+06,2.921
Accept/unsigned_ints,ns,1.14173e+08,2.74092e+07,4.165 Accept/unsigned_ints,ns,1.16121e+08,2.82332e+07,4.113
FromMsgpack/canada,ns,1.42472e+07,4.37022e+06,3.260 FromMsgpack/canada,ns,1.45399e+07,4.55571e+06,3.192
ParseStringOrdered/twitter,ns,4.32143e+06,910717,4.745 ParseStringOrdered/twitter,ns,4.522e+06,920414,4.913
Dump/twitter / -,ns,1.38581e+06,207620,6.675 Dump/twitter / -,ns,1.4183e+06,210619,6.734
BinaryToCbor/64,ns,250.506,81.5793,3.071 BinaryToCbor/64,ns,256.225,82.8609,3.092
JsonPointerParse/twitter,ns,2.40825e+06,979256,2.459 JsonPointerParse/twitter,ns,2.48884e+06,1.01455e+06,2.453
GetMap/citm_catalog,ns,3.41415e+06,2.37109e+06,1.440 GetMap/citm_catalog,ns,3.52983e+06,2.42484e+06,1.456
ToJsonStrings/move,ns,5.83899e+06,3.02241e+06,1.932 ToJsonStrings/move,ns,6.05077e+06,3.12298e+06,1.938
FromBinaryBuffer/ubjson / jeopardy,ns,3.67059e+08,1.15063e+08,3.190 FromBinaryBuffer/ubjson / jeopardy,ns,3.73253e+08,1.17316e+08,3.182
FromBinaryShape/nested / ubjson,ns,96068.6,37753.5,2.545 FromBinaryShape/nested / ubjson,ns,98047.3,38860.2,2.523
FromBinaryBuffer/bjdata / twitter,ns,3.11851e+06,963022,3.238 FromBinaryBuffer/bjdata / twitter,ns,3.27193e+06,973613,3.361
FromBinaryShape/nested / cbor,ns,93124.8,34434.7,2.704 FromBinaryShape/nested / cbor,ns,94082.1,35427.1,2.656
ParseFile/citm_catalog,ns,7.62707e+06,2.39694e+06,3.182 ParseFile/citm_catalog,ns,7.97956e+06,2.49852e+06,3.194
FromBinaryFile/ubjson / twitter,ns,1.04355e+07,1.90842e+06,5.468 FromBinaryFile/ubjson / twitter,ns,1.07792e+07,1.96519e+06,5.485
Dump/citm_catalog / 4,ns,1.92608e+06,416105,4.629 Dump/citm_catalog / 4,ns,1.96876e+06,421277,4.673
CopyAssign/canada,ns,3.68545e+06,2.87633e+06,1.281 CopyAssign/canada,ns,3.82927e+06,3.00436e+06,1.275
Unflatten/citm_catalog,ns,9.65545e+06,3.47021e+06,2.782 Unflatten/citm_catalog,ns,1.00575e+07,3.55051e+06,2.833
FromBinaryBuffer/bjdata_optimized / twitter,ns,3.14359e+06,967149,3.250 FromBinaryBuffer/bjdata_optimized / twitter,ns,3.21663e+06,972271,3.308
FromBinaryBuffer/cbor / floats,ns,2.88404e+07,8.22731e+06,3.505 FromBinaryBuffer/cbor / floats,ns,2.94008e+07,8.37306e+06,3.511
Equal/citm_catalog,ns,264018,254367,1.038 Equal/citm_catalog,ns,277722,260273,1.067
FromBinaryShape/containers / cbor,ns,1.38356e+07,3.8445e+06,3.599 FromBinaryShape/containers / cbor,ns,1.43595e+07,4.00487e+06,3.585
Flatten/citm_catalog,ns,6.43708e+06,2.96328e+06,2.172 Flatten/citm_catalog,ns,6.65353e+06,3.02263e+06,2.201
FromMsgpack/twitter,ns,9.69832e+06,1.46011e+06,6.642 FromMsgpack/twitter,ns,1.01696e+07,1.51935e+06,6.693
FromBinaryBuffer/bson / citm_catalog,ns,3.86353e+06,1.73584e+06,2.226 FromBinaryBuffer/bson / citm_catalog,ns,4.00639e+06,1.77129e+06,2.262
FromBinaryBuffer/msgpack / canada,ns,8.21458e+06,2.2769e+06,3.608 FromBinaryBuffer/msgpack / canada,ns,8.59297e+06,2.37267e+06,3.622
"GetArray<std::array<int, 1000>>",ns,2228.17,630.225,3.536 "GetArray<std::array<int, 1000>>",ns,2267.99,647.261,3.504
SaxParse/twitter,ns,2.4729e+06,472447,5.234 SaxParse/twitter,ns,2.51436e+06,478188,5.258
ParseString/canada,ns,1.50552e+07,4.35028e+06,3.461 ParseString/canada,ns,1.52394e+07,4.50457e+06,3.383
ParseFile/canada,ns,1.79247e+07,6.11532e+06,2.931 ParseFile/canada,ns,1.7916e+07,6.38308e+06,2.807
ParseFile/unsigned_ints,ns,1.22099e+08,4.40082e+07,2.774 ParseFile/unsigned_ints,ns,1.23238e+08,4.54686e+07,2.710
FromCborChunkedString/10000 chunks,ns,89638.1,81306.2,1.102 FromCborChunkedString/10000 chunks,ns,91163.3,82651.6,1.103
FromBinaryShape/nested / bson,ns,102178,46148.5,2.214 FromBinaryShape/nested / bson,ns,103727,47568.2,2.181
ParseIndented/citm_catalog / 4,ns,7.27956e+06,1.75204e+06,4.155 ParseIndented/citm_catalog / 4,ns,7.41873e+06,1.78703e+06,4.151
Dump/unsigned_ints / 4,ns,3.15101e+07,1.7373e+07,1.814 Dump/unsigned_ints / 4,ns,3.1907e+07,8.51588e+06,3.747
FromBinaryBuffer/bjdata_optimized / canada,ns,8.52567e+06,2.93164e+06,2.908 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 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 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 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) ---------- # ---------- 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" # (group, label, speedup), copied from the table "The short version"
OVERVIEW = [ OVERVIEW = [
("Parsing", "twitter.json", 3.02), ("Parsing", "twitter.json", 3.08),
("Parsing", "citm_catalog.json", 4.13), ("Parsing", "citm_catalog.json", 4.19),
("Parsing", "canada.json", 3.46), ("Parsing", "canada.json", 3.38),
("Parsing", "canada.json, indented", 6.74), ("Parsing", "canada.json, indented", 6.67),
("Parsing", "citm, ordered_json", 6.58), ("Parsing", "citm, ordered_json", 6.76),
("Parsing", "twitter, std::ifstream", 2.46), ("Parsing", "twitter, std::ifstream", 2.44),
("Parsing", "citm, FILE*", 4.76), ("Parsing", "citm, FILE*", 4.69),
("Parsing", "citm, accept()", 6.99), ("Parsing", "citm, accept()", 6.92),
("Writing", "dump() twitter", 6.67), ("Writing", "dump() twitter", 6.73),
("Writing", "dump() canada", 2.95), ("Writing", "dump() canada", 2.92),
("Writing", "dump(4) citm", 4.63), ("Writing", "dump(4) citm", 4.67),
("Writing", "to_cbor() twitter", 4.50), ("Writing", "to_cbor() twitter", 4.45),
("Reading CBOR", "twitter, memory", 3.11), ("Reading CBOR", "twitter, memory", 3.21),
("Reading CBOR", "twitter, FILE*", 6.31), ("Reading CBOR", "twitter, FILE*", 6.38),
("Values", "diff() canada", 10.44), ("Values", "diff() canada", 10.48),
("Values", "iterate canada", 2.69), ("Values", "iterate canada", 2.82),
("Values", "copy + destroy citm", 1.11), ("Values", "copy + destroy citm", 1.11),
("Values", "== citm", 1.04), ("Values", "== citm", 1.07),
] ]