docs: measure the 3.13.0 post against develop with all open pull requests of 11-02

Suite, timeline endpoint, Appendix D and the scalar-run numbers now come from
develop b2674a4a2f with #5990-#5992, #5996-#6006 and #6008 merged. With #6008,
arrays of one element skip the scalar run, so nested arrays no longer pay for
it. The suite ran three rounds per version; the round of 3.12.0 and of 3.13.0
that differed from the other two was dropped, as the setup table says.

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
This commit is contained in:
Niels Lohmann committed 2026-11-02 13:05:17 +01:00
1 parent 364815bedc
commit 8ac5ddf2a8
15 files changed
+508 -506

No files matched your search

@@ -5,10 +5,10 @@
<!-- 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 comparison). Also refresh the line counts and the compile times in "The price". The numbers below are from
develop b2674a4a2f with the open non-draft pull requests #5990, #5991, #5992, #5996, #5997, #5998, #5999 and develop b2674a4a2f with the open non-draft pull requests #5990-#5992, #5996-#6006 and #6008 merged (local branch
#6000 merged (local branch local/all-prs-1101 at 71d735b73f): suite, timeline endpoint, Appendix D and the scalar local/all-prs-1102 at f970185114): suite, timeline endpoint, Appendix D and the scalar runs 11-02 (afternoon). The
runs 11-02. The comparison with other libraries is from 10-31 (develop 9c349b1d7c with the then open pull comparison with other libraries is from 10-31 (develop 9c349b1d7c with the then open pull requests); json_document
requests); the changes since don't touch json_document parsing, validation or dump(). --> parse, accept, dump and compare run the same instructions (within 0.25 %) with the headers of 11-02. -->
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:
@@ -64,7 +64,7 @@ The rows above are chosen to show the range. All 182 benchmarks of the suite:
<p class="nj-caption" markdown>How many of the suite's 182 benchmarks got how much faster. The two below 1× are copying `citm_catalog.json` and `twitter.json` without destroying the copy. 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 two below 1× are copying `citm_catalog.json` and `twitter.json` without destroying the copy. Every row is in [Appendix B](#b-3120-against-3130).</p>
The median benchmark got 2.9× as fast. Copying and comparing values gained the least, and the largest The median benchmark got 3.0× 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:
@@ -687,8 +687,9 @@ with GCC.
The binary readers also stopped taking every element through their general dispatch. When an array opens, the The binary readers also stopped taking every element through their general dispatch. When an array opens, the
CBOR and MessagePack readers read the numbers, booleans and nulls that follow in one loop, and the UBJSON and BJData CBOR and MessagePack readers read the numbers, booleans and nulls that follow in one loop, and the UBJSON and BJData
readers do the same for arrays with a type marker. Reading an array of a million integers from CBOR or MessagePack readers do the same for arrays with a type marker. Reading an array of a million integers from CBOR or MessagePack
got 43 to 45 % faster, and `canada.json` 10 to 12 %. The loop is not free: 1,000 arrays nested in each other read 6 to got 42 to 47 % faster, and `canada.json` 10 %. Arrays of one element skip the loop: in 1,000 arrays nested in each
8 % slower than without it, because each of them enters the loop only to find another array. We kept it. other, each entered it only to find another array, which cost 6 to 8 %. Now the loop costs nested arrays nothing
measurable, and 100,000 arrays `[1,2]` up to 1.5 %.
### Smaller ones ### Smaller ones
@@ -1054,7 +1055,7 @@ loop). The walk allocates nothing and calls nothing that can throw, which fixed
destructor flattened children into a `std::vector`, which ignored the allocator type and could let `std::bad_alloc` destructor flattened children into a `std::vector`, which ignored the allocator type and could let `std::bad_alloc`
escape from a `noexcept` destructor. A test checks with a counting allocator that destroying any value allocates escape from a `noexcept` destructor. A test checks with a counting allocator that destroying any value allocates
nothing. Against 3.12.0, destroying a parsed document is nothing. Against 3.12.0, destroying a parsed document is
1.24 to 1.55 times as fast in our suite, and destroying an array of one million small objects 1.37 times. 1.24 to 1.55 times as fast in our suite, and destroying an array of one million small objects 1.39 times.
## <span class="nj-theme">8</span> Build a different data structure { #theme-8 } ## <span class="nj-theme">8</span> Build a different data structure { #theme-8 }
@@ -1485,24 +1486,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.14 ms | 1.03 ms | 3.1× | | `json::parse()` of `twitter.json` | 3.18 ms | 1.05 ms | 3.0× |
| `json::parse()` of `citm_catalog.json` | 7.16 ms | 1.76 ms | 4.1× | | `json::parse()` of `citm_catalog.json` | 7.30 ms | 1.78 ms | 4.1× |
| `json::parse()` of `canada.json` | 14.8 ms | 4.48 ms | 3.3× | | `json::parse()` of `canada.json` | 15.1 ms | 4.42 ms | 3.4× |
| `json::parse()` of `canada.json`, indented by 4 spaces | 33.1 ms | 5.22 ms | 6.3× | | `json::parse()` of `canada.json`, indented by 4 spaces | 33.9 ms | 5.15 ms | 6.6× |
| `ordered_json::parse()` of `citm_catalog.json` | 10.7 ms | 1.63 ms | 6.5× | | `ordered_json::parse()` of `citm_catalog.json` | 10.9 ms | 1.62 ms | 6.7× |
| `json::parse()` of `twitter.json` from an `std::ifstream` | 3.29 ms | 1.34 ms | 2.5× | | `json::parse()` of `twitter.json` from an `std::ifstream` | 3.32 ms | 1.36 ms | 2.4× |
| `json::parse()` of `citm_catalog.json` from a `FILE*` | 34.0 ms | 7.25 ms | 4.7× | | `json::parse()` of `citm_catalog.json` from a `FILE*` | 34.6 ms | 7.35 ms | 4.7× |
| `json::accept()` of `citm_catalog.json` | 6.28 ms | 0.902 ms | 7.0× | | `json::accept()` of `citm_catalog.json` | 6.38 ms | 0.907 ms | 7.0× |
| `dump()` of `twitter.json` | 1.37 ms | 0.207 ms | 6.6× | | `dump()` of `twitter.json` | 1.39 ms | 0.209 ms | 6.7× |
| `dump()` of `canada.json` | 6.63 ms | 2.25 ms | 2.9× | | `dump()` of `canada.json` | 6.69 ms | 2.29 ms | 2.9× |
| `dump(4)` of `citm_catalog.json` | 1.89 ms | 0.417 ms | 4.5× | | `dump(4)` of `citm_catalog.json` | 1.92 ms | 0.415 ms | 4.6× |
| `to_cbor()` of `twitter.json` | 0.625 ms | 0.145 ms | 4.3× | | `to_cbor()` of `twitter.json` | 0.634 ms | 0.142 ms | 4.5× |
| `from_cbor()` of `twitter.json` from memory | 3.00 ms | 0.942 ms | 3.2× | | `from_cbor()` of `twitter.json` from memory | 3.04 ms | 0.954 ms | 3.2× |
| `from_cbor()` of `twitter.json` from a `FILE*` | 9.66 ms | 1.51 ms | 6.4× | | `from_cbor()` of `twitter.json` from a `FILE*` | 9.82 ms | 1.53 ms | 6.4× |
| `diff()` of `canada.json` with every eighth scalar changed | 37.5 ms | 3.67 ms | 10.2× | | `diff()` of `canada.json` with every eighth scalar changed | 38.1 ms | 3.69 ms | 10.3× |
| iterating over every value of `canada.json` | 0.859 ms | 0.308 ms | 2.8× | | iterating over every value of `canada.json` | 0.868 ms | 0.321 ms | 2.7× |
| copying `citm_catalog.json` and destroying the copy | 1.60 ms | 1.44 ms | 1.11× | | copying `citm_catalog.json` and destroying the copy | 1.62 ms | 1.46 ms | 1.11× |
| `==` of `citm_catalog.json` and a copy | 0.263 ms | 0.252 ms | 1.05× | | `==` of `citm_catalog.json` and a copy | 0.265 ms | 0.255 ms | 1.04× |
<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>
@@ -1510,188 +1511,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.5 ms | 2.29 ms | 5.48× | | `Accept/canada` | 12.7 ms | 2.32 ms | 5.47× |
| `Accept/citm_catalog` | 6.28 ms | 902 µs | 6.96× | | `Accept/citm_catalog` | 6.38 ms | 907 µs | 7.04× |
| `Accept/floats` | 112 ms | 22 ms | 5.10× | | `Accept/floats` | 113 ms | 22.3 ms | 5.07× |
| `Accept/jeopardy` | 213 ms | 57 ms | 3.74× | | `Accept/jeopardy` | 219 ms | 57.5 ms | 3.81× |
| `Accept/signed_ints` | 113 ms | 27.4 ms | 4.15× | | `Accept/signed_ints` | 115 ms | 27.7 ms | 4.16× |
| `Accept/small_signed_ints` | 55.2 ms | 17.5 ms | 3.16× | | `Accept/small_signed_ints` | 55.9 ms | 17.7 ms | 3.16× |
| `Accept/twitter` | 2.44 ms | 469 µs | 5.19× | | `Accept/twitter` | 2.46 ms | 475 µs | 5.18× |
| `Accept/unsigned_ints` | 112 ms | 28.7 ms | 3.90× | | `Accept/unsigned_ints` | 114 ms | 29.1 ms | 3.91× |
| `BinaryToCbor/1024` | 291 ns | 104 ns | 2.78× | | `BinaryToCbor/1024` | 303 ns | 102 ns | 2.98× |
| `BinaryToCbor/128` | 245 ns | 114 ns | 2.14× | | `BinaryToCbor/128` | 247 ns | 115 ns | 2.14× |
| `BinaryToCbor/16384` | 957 ns | 417 ns | 2.30× | | `BinaryToCbor/16384` | 949 ns | 408 ns | 2.33× |
| `BinaryToCbor/16` | 242 ns | 48.6 ns | 4.98× | | `BinaryToCbor/16` | 240 ns | 48.7 ns | 4.92× |
| `BinaryToCbor/2048` | 315 ns | 124 ns | 2.54× | | `BinaryToCbor/2048` | 320 ns | 119 ns | 2.68× |
| `BinaryToCbor/256` | 264 ns | 89.9 ns | 2.94× | | `BinaryToCbor/256` | 265 ns | 88.1 ns | 3.01× |
| `BinaryToCbor/32768` | 1.54 µs | 794 ns | 1.95× | | `BinaryToCbor/32768` | 1.53 µs | 801 ns | 1.91× |
| `BinaryToCbor/32` | 248 ns | 49.4 ns | 5.02× | | `BinaryToCbor/32` | 249 ns | 48.5 ns | 5.14× |
| `BinaryToCbor/4096` | 399 ns | 169 ns | 2.36× | | `BinaryToCbor/4096` | 412 ns | 169 ns | 2.43× |
| `BinaryToCbor/512` | 290 ns | 101 ns | 2.88× | | `BinaryToCbor/512` | 289 ns | 97.3 ns | 2.97× |
| `BinaryToCbor/64` | 247 ns | 82 ns | 3.01× | | `BinaryToCbor/64` | 249 ns | 83.9 ns | 2.97× |
| `BinaryToCbor/8192` | 507 ns | 249 ns | 2.04× | | `BinaryToCbor/8192` | 511 ns | 248 ns | 2.07× |
| `BinaryToCbor/8` | 244 ns | 48.6 ns | 5.02× | | `BinaryToCbor/8` | 243 ns | 48.5 ns | 5.01× |
| `Copy/canada` | 3.6 ms | 2.84 ms | 1.27× | | `Copy/canada` | 3.65 ms | 2.87 ms | 1.27× |
| `Copy/citm_catalog` | 1.6 ms | 1.44 ms | 1.11× | | `Copy/citm_catalog` | 1.62 ms | 1.46 ms | 1.11× |
| `Copy/twitter` | 792 µs | 718 µs | 1.10× | | `Copy/twitter` | 799 µs | 726 µs | 1.10× |
| `CopyAssign/canada` | 3.63 ms | 2.88 ms | 1.26× | | `CopyAssign/canada` | 3.67 ms | 2.88 ms | 1.27× |
| `CopyAssign/citm_catalog` | 1.64 ms | 1.49 ms | 1.10× | | `CopyAssign/citm_catalog` | 1.65 ms | 1.49 ms | 1.11× |
| `CopyAssign/twitter` | 799 µs | 735 µs | 1.09× | | `CopyAssign/twitter` | 808 µs | 739 µs | 1.09× |
| `CopyOnly/canada` | 1.51 ms | 1.49 ms | 1.01× | | `CopyOnly/canada` | 1.52 ms | 1.5 ms | 1.01× |
| `CopyOnly/citm_catalog` | 733 µs | 782 µs | 0.94× | | `CopyOnly/citm_catalog` | 743 µs | 782 µs | 0.95× |
| `CopyOnly/twitter` | 395 µs | 399 µs | 0.99× | | `CopyOnly/twitter` | 400 µs | 403 µs | 0.99× |
| `CopyRing/canada` | 3.64 ms | 2.88 ms | 1.27× | | `CopyRing/canada` | 3.68 ms | 2.89 ms | 1.28× |
| `CopyRing/citm_catalog` | 1.66 ms | 1.51 ms | 1.10× | | `CopyRing/citm_catalog` | 1.69 ms | 1.51 ms | 1.12× |
| `CopyRing/twitter` | 838 µs | 768 µs | 1.09× | | `CopyRing/twitter` | 850 µs | 770 µs | 1.10× |
| `DestroyOnly/canada` | 2.1 ms | 1.36 ms | 1.55× | | `DestroyOnly/canada` | 2.13 ms | 1.37 ms | 1.55× |
| `DestroyOnly/citm_catalog` | 864 µs | 670 µs | 1.29× | | `DestroyOnly/citm_catalog` | 876 µs | 674 µs | 1.30× |
| `DestroyOnly/twitter` | 399 µs | 322 µs | 1.24× | | `DestroyOnly/twitter` | 401 µs | 323 µs | 1.24× |
| `Diff/canada` | 37.5 ms | 3.67 ms | 10.2× | | `Diff/canada` | 38.1 ms | 3.69 ms | 10.3× |
| `Diff/citm_catalog` | 6.65 ms | 1.07 ms | 6.19× | | `Diff/citm_catalog` | 6.78 ms | 1.07 ms | 6.34× |
| `Diff/twitter` | 4.74 ms | 637 µs | 7.44× | | `Diff/twitter` | 4.83 ms | 639 µs | 7.55× |
| `Dump/canada / -` | 6.63 ms | 2.25 ms | 2.94× | | `Dump/canada / -` | 6.69 ms | 2.29 ms | 2.93× |
| `Dump/canada / 4` | 8.7 ms | 2.98 ms | 2.92× | | `Dump/canada / 4` | 8.91 ms | 3.01 ms | 2.96× |
| `Dump/citm_catalog / -` | 1.36 ms | 291 µs | 4.67× | | `Dump/citm_catalog / -` | 1.39 ms | 291 µs | 4.78× |
| `Dump/citm_catalog / 4` | 1.89 ms | 417 µs | 4.54× | | `Dump/citm_catalog / 4` | 1.92 ms | 415 µs | 4.63× |
| `Dump/floats / -` | 62.3 ms | 23.2 ms | 2.68× | | `Dump/floats / -` | 63.2 ms | 23.6 ms | 2.68× |
| `Dump/floats / 4` | 70 ms | 24.1 ms | 2.90× | | `Dump/floats / 4` | 71.1 ms | 24.4 ms | 2.91× |
| `Dump/jeopardy / -` | 201 ms | 29.9 ms | 6.73× | | `Dump/jeopardy / -` | 203 ms | 30.7 ms | 6.62× |
| `Dump/jeopardy / 4` | 218 ms | 33.9 ms | 6.43× | | `Dump/jeopardy / 4` | 219 ms | 34.6 ms | 6.32× |
| `Dump/signed_ints / -` | 23.2 ms | 10.5 ms | 2.21× | | `Dump/signed_ints / -` | 23.7 ms | 10.6 ms | 2.24× |
| `Dump/signed_ints / 4` | 31.5 ms | 11.1 ms | 2.84× | | `Dump/signed_ints / 4` | 32 ms | 11.2 ms | 2.85× |
| `Dump/small_signed_ints / -` | 17.5 ms | 7.83 ms | 2.24× | | `Dump/small_signed_ints / -` | 17.8 ms | 7.92 ms | 2.25× |
| `Dump/small_signed_ints / 4` | 24.6 ms | 8.63 ms | 2.85× | | `Dump/small_signed_ints / 4` | 25 ms | 8.76 ms | 2.85× |
| `Dump/twitter / -` | 1.37 ms | 207 µs | 6.59× | | `Dump/twitter / -` | 1.39 ms | 209 µs | 6.66× |
| `Dump/twitter / 4` | 1.55 ms | 249 µs | 6.24× | | `Dump/twitter / 4` | 1.58 ms | 246 µs | 6.43× |
| `Dump/unsigned_ints / -` | 23.1 ms | 7.94 ms | 2.92× | | `Dump/unsigned_ints / -` | 23.6 ms | 8 ms | 2.95× |
| `Dump/unsigned_ints / 4` | 31.3 ms | 8.36 ms | 3.75× | | `Dump/unsigned_ints / 4` | 31.9 ms | 8.42 ms | 3.79× |
| `Equal/canada` | 451 µs | 332 µs | 1.36× | | `Equal/canada` | 454 µs | 336 µs | 1.35× |
| `Equal/citm_catalog` | 263 µs | 252 µs | 1.05× | | `Equal/citm_catalog` | 265 µs | 255 µs | 1.04× |
| `Equal/twitter` | 139 µs | 127 µs | 1.10× | | `Equal/twitter` | 140 µs | 128 µs | 1.10× |
| `Flatten/canada` | 28 ms | 11 ms | 2.55× | | `Flatten/canada` | 28.4 ms | 11.1 ms | 2.57× |
| `Flatten/citm_catalog` | 6.34 ms | 2.97 ms | 2.13× | | `Flatten/citm_catalog` | 6.37 ms | 3 ms | 2.12× |
| `Flatten/twitter` | 3.45 ms | 2.01 ms | 1.72× | | `Flatten/twitter` | 3.48 ms | 2.04 ms | 1.70× |
| `FlattenOrdered/citm_catalog` | 249 ms | 1.37 ms | 181× | | `FlattenOrdered/citm_catalog` | 251 ms | 1.39 ms | 181× |
| `FlattenOrdered/twitter` | 48.9 ms | 846 µs | 57.8× | | `FlattenOrdered/twitter` | 48.9 ms | 860 µs | 56.9× |
| `FromBinaryBuffer/bjdata / canada` | 8.13 ms | 4.08 ms | 1.99× | | `FromBinaryBuffer/bjdata / canada` | 8.22 ms | 4.07 ms | 2.02× |
| `FromBinaryBuffer/bjdata / twitter` | 3.07 ms | 948 µs | 3.24× | | `FromBinaryBuffer/bjdata / twitter` | 3.11 ms | 958 µs | 3.25× |
| `FromBinaryBuffer/bjdata_optimized / canada` | 8.57 ms | 2.43 ms | 3.53× | | `FromBinaryBuffer/bjdata_optimized / canada` | 8.68 ms | 2.4 ms | 3.62× |
| `FromBinaryBuffer/bjdata_optimized / twitter` | 3.08 ms | 948 µs | 3.25× | | `FromBinaryBuffer/bjdata_optimized / twitter` | 3.12 ms | 952 µs | 3.28× |
| `FromBinaryBuffer/bson / canada` | 9.32 ms | 4.25 ms | 2.19× | | `FromBinaryBuffer/bson / canada` | 9.43 ms | 4.2 ms | 2.24× |
| `FromBinaryBuffer/bson / citm_catalog` | 3.8 ms | 1.55 ms | 2.45× | | `FromBinaryBuffer/bson / citm_catalog` | 3.86 ms | 1.56 ms | 2.47× |
| `FromBinaryBuffer/bson / twitter` | 3.05 ms | 910 µs | 3.35× | | `FromBinaryBuffer/bson / twitter` | 3.07 ms | 924 µs | 3.32× |
| `FromBinaryBuffer/cbor / canada` | 8.27 ms | 2.06 ms | 4.01× | | `FromBinaryBuffer/cbor / canada` | 8.34 ms | 2.06 ms | 4.05× |
| `FromBinaryBuffer/cbor / citm_catalog` | 3.63 ms | 1.42 ms | 2.56× | | `FromBinaryBuffer/cbor / citm_catalog` | 3.68 ms | 1.44 ms | 2.56× |
| `FromBinaryBuffer/cbor / floats` | 29 ms | 5.39 ms | 5.37× | | `FromBinaryBuffer/cbor / floats` | 29 ms | 5.43 ms | 5.33× |
| `FromBinaryBuffer/cbor / jeopardy` | 355 ms | 112 ms | 3.18× | | `FromBinaryBuffer/cbor / jeopardy` | 357 ms | 113 ms | 3.17× |
| `FromBinaryBuffer/cbor / signed_ints` | 35 ms | 9.53 ms | 3.67× | | `FromBinaryBuffer/cbor / signed_ints` | 35.6 ms | 9.69 ms | 3.68× |
| `FromBinaryBuffer/cbor / twitter` | 3 ms | 942 µs | 3.18× | | `FromBinaryBuffer/cbor / twitter` | 3.04 ms | 954 µs | 3.18× |
| `FromBinaryBuffer/msgpack / canada` | 8.23 ms | 2.05 ms | 4.01× | | `FromBinaryBuffer/msgpack / canada` | 8.33 ms | 2.06 ms | 4.03× |
| `FromBinaryBuffer/msgpack / citm_catalog` | 3.68 ms | 1.4 ms | 2.63× | | `FromBinaryBuffer/msgpack / citm_catalog` | 3.68 ms | 1.41 ms | 2.61× |
| `FromBinaryBuffer/msgpack / jeopardy` | 352 ms | 107 ms | 3.28× | | `FromBinaryBuffer/msgpack / jeopardy` | 355 ms | 109 ms | 3.25× |
| `FromBinaryBuffer/msgpack / twitter` | 2.98 ms | 921 µs | 3.24× | | `FromBinaryBuffer/msgpack / twitter` | 3.03 ms | 935 µs | 3.24× |
| `FromBinaryBuffer/ubjson / canada` | 8.14 ms | 4.1 ms | 1.98× | | `FromBinaryBuffer/ubjson / canada` | 8.24 ms | 4.08 ms | 2.02× |
| `FromBinaryBuffer/ubjson / citm_catalog` | 3.76 ms | 1.71 ms | 2.19× | | `FromBinaryBuffer/ubjson / citm_catalog` | 3.81 ms | 1.72 ms | 2.21× |
| `FromBinaryBuffer/ubjson / jeopardy` | 363 ms | 112 ms | 3.24× | | `FromBinaryBuffer/ubjson / jeopardy` | 364 ms | 113 ms | 3.21× |
| `FromBinaryBuffer/ubjson / twitter` | 3.08 ms | 945 µs | 3.26× | | `FromBinaryBuffer/ubjson / twitter` | 3.11 ms | 957 µs | 3.25× |
| `FromBinaryBuffer/ubjson_optimized / canada` | 8.39 ms | 2.38 ms | 3.52× | | `FromBinaryBuffer/ubjson_optimized / canada` | 8.48 ms | 2.37 ms | 3.58× |
| `FromBinaryBuffer/ubjson_optimized / twitter` | 3.08 ms | 944 µs | 3.26× | | `FromBinaryBuffer/ubjson_optimized / twitter` | 3.11 ms | 952 µs | 3.26× |
| `FromBinaryFile/bjdata / twitter` | 10.3 ms | 1.89 ms | 5.44× | | `FromBinaryFile/bjdata / twitter` | 10.4 ms | 1.9 ms | 5.46× |
| `FromBinaryFile/bson / twitter` | 9.95 ms | 1.76 ms | 5.64× | | `FromBinaryFile/bson / twitter` | 10.1 ms | 1.8 ms | 5.62× |
| `FromBinaryFile/cbor / canada` | 14 ms | 4.39 ms | 3.18× | | `FromBinaryFile/cbor / canada` | 14.2 ms | 4.41 ms | 3.21× |
| `FromBinaryFile/cbor / twitter` | 9.66 ms | 1.51 ms | 6.41× | | `FromBinaryFile/cbor / twitter` | 9.82 ms | 1.53 ms | 6.41× |
| `FromBinaryFile/ubjson / canada` | 13.4 ms | 6.2 ms | 2.16× | | `FromBinaryFile/ubjson / canada` | 13.7 ms | 6.31 ms | 2.16× |
| `FromBinaryFile/ubjson / twitter` | 10.2 ms | 1.89 ms | 5.40× | | `FromBinaryFile/ubjson / twitter` | 10.4 ms | 1.9 ms | 5.45× |
| `FromBinaryShape/containers / bjdata` | 14 ms | 6.96 ms | 2.02× | | `FromBinaryShape/containers / bjdata` | 14.2 ms | 7.17 ms | 1.98× |
| `FromBinaryShape/containers / bson` | 16.8 ms | 7.56 ms | 2.23× | | `FromBinaryShape/containers / bson` | 17 ms | 7.73 ms | 2.20× |
| `FromBinaryShape/containers / cbor` | 13.6 ms | 3.88 ms | 3.50× | | `FromBinaryShape/containers / cbor` | 13.7 ms | 3.89 ms | 3.53× |
| `FromBinaryShape/containers / msgpack` | 13.5 ms | 3.82 ms | 3.53× | | `FromBinaryShape/containers / msgpack` | 13.7 ms | 3.84 ms | 3.56× |
| `FromBinaryShape/containers / ubjson_optimized` | 14.6 ms | 4.45 ms | 3.28× | | `FromBinaryShape/containers / ubjson_optimized` | 14.8 ms | 4.42 ms | 3.33× |
| `FromBinaryShape/containers / ubjson` | 14 ms | 6.98 ms | 2.01× | | `FromBinaryShape/containers / ubjson` | 14.2 ms | 7.17 ms | 1.98× |
| `FromBinaryShape/nested / bjdata` | 94.6 µs | 37.8 µs | 2.50× | | `FromBinaryShape/nested / bjdata` | 93.4 µs | 38 µs | 2.46× |
| `FromBinaryShape/nested / bson` | 101 µs | 41.4 µs | 2.43× | | `FromBinaryShape/nested / bson` | 99.8 µs | 42 µs | 2.38× |
| `FromBinaryShape/nested / cbor` | 92 µs | 37.3 µs | 2.47× | | `FromBinaryShape/nested / cbor` | 92.9 µs | 35.1 µs | 2.64× |
| `FromBinaryShape/nested / msgpack` | 90.7 µs | 36.4 µs | 2.50× | | `FromBinaryShape/nested / msgpack` | 90.7 µs | 34.6 µs | 2.62× |
| `FromBinaryShape/nested / ubjson` | 94.5 µs | 37.9 µs | 2.49× | | `FromBinaryShape/nested / ubjson` | 93.9 µs | 38.1 µs | 2.47× |
| `FromBinaryShape/scalars / bjdata` | 24.2 ms | 11.2 ms | 2.15× | | `FromBinaryShape/scalars / bjdata` | 24.4 ms | 11.4 ms | 2.15× |
| `FromBinaryShape/scalars / cbor` | 25 ms | 5.53 ms | 4.52× | | `FromBinaryShape/scalars / cbor` | 25.4 ms | 5.63 ms | 4.52× |
| `FromBinaryShape/scalars / msgpack` | 24 ms | 5.47 ms | 4.39× | | `FromBinaryShape/scalars / msgpack` | 24.3 ms | 5.53 ms | 4.40× |
| `FromBinaryShape/scalars / ubjson` | 24.4 ms | 11.4 ms | 2.14× | | `FromBinaryShape/scalars / ubjson` | 24.7 ms | 11.4 ms | 2.16× |
| `FromCborChunkedString/10000 chunks` | 89 µs | 81.6 µs | 1.09× | | `FromCborChunkedString/10000 chunks` | 89.8 µs | 81.4 µs | 1.10× |
| `FromMsgpack/canada` | 14 ms | 4.41 ms | 3.17× | | `FromMsgpack/canada` | 14.1 ms | 4.42 ms | 3.20× |
| `FromMsgpack/citm_catalog` | 8.79 ms | 2.22 ms | 3.96× | | `FromMsgpack/citm_catalog` | 8.88 ms | 2.25 ms | 3.94× |
| `FromMsgpack/floats` | 58.7 ms | 27.4 ms | 2.15× | | `FromMsgpack/floats` | 59.3 ms | 27.7 ms | 2.14× |
| `FromMsgpack/jeopardy` | 1,120 ms | 179 ms | 6.22× | | `FromMsgpack/jeopardy` | 1,130 ms | 182 ms | 6.21× |
| `FromMsgpack/signed_ints` | 61.1 ms | 32.1 ms | 1.90× | | `FromMsgpack/signed_ints` | 62.2 ms | 32.8 ms | 1.90× |
| `FromMsgpack/small_signed_ints` | 61.9 ms | 33.2 ms | 1.86× | | `FromMsgpack/small_signed_ints` | 62.6 ms | 33.7 ms | 1.86× |
| `FromMsgpack/twitter` | 9.66 ms | 1.45 ms | 6.65× | | `FromMsgpack/twitter` | 9.78 ms | 1.47 ms | 6.64× |
| `FromMsgpack/unsigned_ints` | 54.7 ms | 27.2 ms | 2.01× | | `FromMsgpack/unsigned_ints` | 55.5 ms | 27.7 ms | 2.01× |
| `GetArray<std::array<int, 1000>>` | 2.21 µs | 630 ns | 3.51× | | `GetArray<std::array<int, 1000>>` | 2.23 µs | 640 ns | 3.49× |
| `GetArray<std::deque<int>>` | 7.97 µs | 1.16 µs | 6.88× | | `GetArray<std::deque<int>>` | 8.13 µs | 1.16 µs | 7.00× |
| `GetArray<std::set<int>>` | 57.3 µs | 40.7 µs | 1.41× | | `GetArray<std::set<int>>` | 58.4 µs | 41.8 µs | 1.40× |
| `GetArray<std::vector<int>>` | 6.55 µs | 657 ns | 9.96× | | `GetArray<std::vector<int>>` | 6.66 µs | 666 ns | 9.99× |
| `GetMap/citm_catalog` | 3.36 ms | 2.36 ms | 1.43× | | `GetMap/citm_catalog` | 3.41 ms | 2.4 ms | 1.42× |
| `GetVectorDouble/floats` | 6.57 ms | 644 µs | 10.2× | | `GetVectorDouble/floats` | 6.68 ms | 642 µs | 10.4× |
| `GetVectorInt/signed_ints` | 7.91 ms | 3.37 ms | 2.35× | | `GetVectorInt/signed_ints` | 8.04 ms | 3.35 ms | 2.40× |
| `Iterate/canada` | 859 µs | 308 µs | 2.79× | | `Iterate/canada` | 868 µs | 321 µs | 2.71× |
| `Iterate/citm_catalog` | 293 µs | 179 µs | 1.64× | | `Iterate/citm_catalog` | 298 µs | 168 µs | 1.78× |
| `Iterate/twitter` | 85.9 µs | 61.5 µs | 1.40× | | `Iterate/twitter` | 87 µs | 62.1 µs | 1.40× |
| `JsonPointerAt/citm_catalog` | 1.8 ms | 1.11 ms | 1.63× | | `JsonPointerAt/citm_catalog` | 1.83 ms | 1.14 ms | 1.60× |
| `JsonPointerAt/twitter` | 778 µs | 582 µs | 1.34× | | `JsonPointerAt/twitter` | 788 µs | 594 µs | 1.33× |
| `JsonPointerContains/citm_catalog` | 2.67 ms | 1.25 ms | 2.14× | | `JsonPointerContains/citm_catalog` | 2.71 ms | 1.23 ms | 2.20× |
| `JsonPointerContains/twitter` | 1.27 ms | 610 µs | 2.09× | | `JsonPointerContains/twitter` | 1.29 ms | 609 µs | 2.13× |
| `JsonPointerParse/citm_catalog` | 5.61 ms | 2.17 ms | 2.59× | | `JsonPointerParse/citm_catalog` | 5.67 ms | 2.17 ms | 2.61× |
| `JsonPointerParse/twitter` | 2.4 ms | 980 µs | 2.45× | | `JsonPointerParse/twitter` | 2.41 ms | 1 ms | 2.41× |
| `JsonPointerToString/citm_catalog` | 6.56 ms | 1.86 ms | 3.52× | | `JsonPointerToString/citm_catalog` | 6.62 ms | 1.88 ms | 3.53× |
| `JsonPointerToString/twitter` | 2.15 ms | 795 µs | 2.70× | | `JsonPointerToString/twitter` | 2.18 ms | 806 µs | 2.70× |
| `ParseFILE/canada` | 51.8 ms | 13.8 ms | 3.74× | | `ParseFILE/canada` | 52.3 ms | 13.9 ms | 3.77× |
| `ParseFILE/citm_catalog` | 34 ms | 7.25 ms | 4.70× | | `ParseFILE/citm_catalog` | 34.6 ms | 7.35 ms | 4.71× |
| `ParseFILE/twitter` | 13.3 ms | 3.28 ms | 4.06× | | `ParseFILE/twitter` | 13.6 ms | 3.31 ms | 4.11× |
| `ParseFile/canada` | 17.2 ms | 6.2 ms | 2.78× | | `ParseFile/canada` | 17.4 ms | 6.14 ms | 2.84× |
| `ParseFile/citm_catalog` | 7.59 ms | 2.4 ms | 3.16× | | `ParseFile/citm_catalog` | 7.67 ms | 2.42 ms | 3.16× |
| `ParseFile/floats` | 127 ms | 47.2 ms | 2.68× | | `ParseFile/floats` | 127 ms | 47.2 ms | 2.70× |
| `ParseFile/jeopardy` | 320 ms | 156 ms | 2.06× | | `ParseFile/jeopardy` | 328 ms | 155 ms | 2.12× |
| `ParseFile/signed_ints` | 123 ms | 44.9 ms | 2.75× | | `ParseFile/signed_ints` | 125 ms | 45.4 ms | 2.75× |
| `ParseFile/small_signed_ints` | 62.2 ms | 32.5 ms | 1.91× | | `ParseFile/small_signed_ints` | 63 ms | 32.6 ms | 1.93× |
| `ParseFile/twitter` | 3.29 ms | 1.34 ms | 2.46× | | `ParseFile/twitter` | 3.32 ms | 1.36 ms | 2.44× |
| `ParseFile/unsigned_ints` | 119 ms | 46 ms | 2.59× | | `ParseFile/unsigned_ints` | 121 ms | 46.6 ms | 2.59× |
| `ParseIndented/canada / 4` | 33.1 ms | 5.22 ms | 6.34× | | `ParseIndented/canada / 4` | 33.9 ms | 5.15 ms | 6.59× |
| `ParseIndented/citm_catalog / 4` | 7.15 ms | 1.76 ms | 4.06× | | `ParseIndented/citm_catalog / 4` | 7.23 ms | 1.78 ms | 4.05× |
| `ParseIndented/jeopardy / 4` | 330 ms | 130 ms | 2.54× | | `ParseIndented/jeopardy / 4` | 335 ms | 131 ms | 2.55× |
| `ParseIndented/twitter / 4` | 3.53 ms | 1.09 ms | 3.24× | | `ParseIndented/twitter / 4` | 3.59 ms | 1.12 ms | 3.20× |
| `ParseStreamValues/ndjson` | 6.99 ms | 3.7 ms | 1.89× | | `ParseStreamValues/ndjson` | 7.01 ms | 3.71 ms | 1.89× |
| `ParseStreamValues/numbers` | 1.9 ms | 380 µs | 5.02× | | `ParseStreamValues/numbers` | 1.89 ms | 381 µs | 4.98× |
| `ParseString/canada` | 14.8 ms | 4.48 ms | 3.31× | | `ParseString/canada` | 15.1 ms | 4.42 ms | 3.41× |
| `ParseString/citm_catalog` | 7.16 ms | 1.76 ms | 4.07× | | `ParseString/citm_catalog` | 7.3 ms | 1.78 ms | 4.11× |
| `ParseString/floats` | 117 ms | 28.6 ms | 4.09× | | `ParseString/floats` | 119 ms | 27.6 ms | 4.30× |
| `ParseString/jeopardy` | 297 ms | 127 ms | 2.34× | | `ParseString/jeopardy` | 303 ms | 128 ms | 2.36× |
| `ParseString/signed_ints` | 118 ms | 31 ms | 3.80× | | `ParseString/signed_ints` | 120 ms | 31.2 ms | 3.84× |
| `ParseString/small_signed_ints` | 60.2 ms | 24 ms | 2.51× | | `ParseString/small_signed_ints` | 60.6 ms | 24.1 ms | 2.52× |
| `ParseString/twitter` | 3.14 ms | 1.03 ms | 3.06× | | `ParseString/twitter` | 3.18 ms | 1.05 ms | 3.02× |
| `ParseString/unsigned_ints` | 117 ms | 32.2 ms | 3.64× | | `ParseString/unsigned_ints` | 119 ms | 32.2 ms | 3.69× |
| `ParseStringOrdered/canada` | 14.9 ms | 4.37 ms | 3.40× | | `ParseStringOrdered/canada` | 15.1 ms | 4.37 ms | 3.45× |
| `ParseStringOrdered/citm_catalog` | 10.7 ms | 1.63 ms | 6.52× | | `ParseStringOrdered/citm_catalog` | 10.9 ms | 1.62 ms | 6.71× |
| `ParseStringOrdered/jeopardy` | 356 ms | 110 ms | 3.24× | | `ParseStringOrdered/jeopardy` | 361 ms | 110 ms | 3.29× |
| `ParseStringOrdered/twitter` | 4.3 ms | 903 µs | 4.76× | | `ParseStringOrdered/twitter` | 4.36 ms | 906 µs | 4.81× |
| `Patch/canada` | 9.91 ms | 3.33 ms | 2.97× | | `Patch/canada` | 9.98 ms | 3.37 ms | 2.96× |
| `Patch/citm_catalog` | 2.49 ms | 1.6 ms | 1.55× | | `Patch/citm_catalog` | 2.53 ms | 1.61 ms | 1.57× |
| `Patch/twitter` | 1.44 ms | 846 µs | 1.70× | | `Patch/twitter` | 1.46 ms | 851 µs | 1.71× |
| `SaxParse/canada` | 12.7 ms | 3.18 ms | 3.98× | | `SaxParse/canada` | 12.8 ms | 3.22 ms | 3.97× |
| `SaxParse/citm_catalog` | 6.3 ms | 948 µs | 6.64× | | `SaxParse/citm_catalog` | 6.41 ms | 983 µs | 6.52× |
| `SaxParse/twitter` | 2.44 ms | 471 µs | 5.18× | | `SaxParse/twitter` | 2.48 ms | 478 µs | 5.19× |
| `ToCbor/canada` | 1.36 ms | 546 µs | 2.49× | | `ToCbor/canada` | 1.37 ms | 545 µs | 2.51× |
| `ToCbor/citm_catalog` | 1.01 ms | 256 µs | 3.93× | | `ToCbor/citm_catalog` | 1.02 ms | 257 µs | 3.99× |
| `ToCbor/floats` | 8.79 ms | 1.88 ms | 4.69× | | `ToCbor/floats` | 8.91 ms | 1.89 ms | 4.71× |
| `ToCbor/jeopardy` | 70.8 ms | 21.2 ms | 3.35× | | `ToCbor/jeopardy` | 72 ms | 21.3 ms | 3.37× |
| `ToCbor/signed_ints` | 11.2 ms | 2.74 ms | 4.07× | | `ToCbor/signed_ints` | 11.3 ms | 2.76 ms | 4.10× |
| `ToCbor/small_signed_ints` | 10.1 ms | 2.37 ms | 4.25× | | `ToCbor/small_signed_ints` | 10.2 ms | 2.4 ms | 4.25× |
| `ToCbor/twitter` | 625 µs | 145 µs | 4.30× | | `ToCbor/twitter` | 634 µs | 142 µs | 4.48× |
| `ToCbor/unsigned_ints` | 7.92 ms | 2.75 ms | 2.88× | | `ToCbor/unsigned_ints` | 8 ms | 2.79 ms | 2.87× |
| `ToJsonStrings/copy` | 5.77 ms | 5.52 ms | 1.04× | | `ToJsonStrings/copy` | 5.82 ms | 5.54 ms | 1.05× |
| `ToJsonStrings/move` | 5.77 ms | 3.02 ms | 1.91× | | `ToJsonStrings/move` | 5.82 ms | 3.02 ms | 1.92× |
| `Unflatten/canada` | 40.5 ms | 10.7 ms | 3.79× | | `Unflatten/canada` | 41.1 ms | 10.8 ms | 3.80× |
| `Unflatten/citm_catalog` | 9.52 ms | 3.42 ms | 2.78× | | `Unflatten/citm_catalog` | 9.7 ms | 3.46 ms | 2.80× |
| `Unflatten/twitter` | 4.47 ms | 2.08 ms | 2.15× | | `Unflatten/twitter` | 4.52 ms | 2.11 ms | 2.14× |
### C. The timeline ### C. The timeline
@@ -1766,15 +1767,15 @@ one binary with six code layouts: they were equal within 0.2 %.
| operation | 3.12.0 | 3.13.0 | speedup | cause | PR | | operation | 3.12.0 | 3.13.0 | speedup | cause | PR |
| --- | --: | --: | --: | --- | --- | | --- | --: | --: | --: | --- | --- |
| `diff()` of an array of 64,000 numbers against an empty array | 4,113 ms | 10.1 ms | 408× | each `remove` was inserted at the front of the patch | [#5461][5461] | | `diff()` of an array of 64,000 numbers against an empty array | 4,140 ms | 10.5 ms | 396× | each `remove` was inserted at the front of the patch | [#5461][5461] |
| `diff()` of an array of 20,000 objects against every second one of them | 119 ms | 3.90 ms | 30× | the same | [#5461][5461] | | `diff()` of an array of 20,000 objects against every second one of them | 119 ms | 3.99 ms | 30× | the same | [#5461][5461] |
| `parse()` with a callback that rejects half of 32,000 objects | 1,363 ms | 11.5 ms | 119× | each rejected value was searched for from the start of its parent | [#5457][5457] | | `parse()` with a callback that rejects half of 32,000 objects | 1,361 ms | 12.1 ms | 113× | each rejected value was searched for from the start of its parent | [#5457][5457] |
| `<` on two equal values nested 24 levels deep (C++11 to C++17) | 63.7 ms | 0.002 ms | exponential | `std::vector`'s `<` asks `a < b` and `b < a`, and both recurse | [#5390][5390] | | `<` on two equal values nested 24 levels deep (C++11 to C++17) | 64.0 ms | 0.002 ms | exponential | `std::vector`'s `<` asks `a < b` and `b < a`, and both recurse | [#5390][5390] |
| `<` on `citm_catalog.json` and a copy, 10× (C++11 to C++17) | 274 ms | 3.83 ms | 72× | the same | [#5390][5390] | | `<` on `citm_catalog.json` and a copy, 10× (C++11 to C++17) | 278 ms | 3.86 ms | 72× | the same | [#5390][5390] |
| `flatten()` of `citm_catalog.json` as `ordered_json` | 253 ms | 1.37 ms | 184× | every new key was looked up linearly | [#5834][5834] | | `flatten()` of `citm_catalog.json` as `ordered_json` | 253 ms | 1.37 ms | 184× | every new key was looked up linearly | [#5834][5834] |
| `to_bson()` of a value nested 200 levels deep, 100× | 19.8 ms | 0.352 ms | 56× | each document's size was computed by walking everything below it again | [#5553][5553], [#5979][5979] | | `to_bson()` of a value nested 200 levels deep, 100× | 19.9 ms | 0.349 ms | 57× | each document's size was computed by walking everything below it again | [#5553][5553], [#5979][5979] |
| 100,000 × `push_back()` on an `ordered_json` with [`JSON_DIAGNOSTICS`](../../api/macros/json_diagnostics.md) | 1,541 ms | 5.11 ms | 301× | every insert re-pointed the parent pointers of all elements | [#5832][5832] | | 100,000 × `push_back()` on an `ordered_json` with [`JSON_DIAGNOSTICS`](../../api/macros/json_diagnostics.md) | 1,532 ms | 5.04 ms | 304× | every insert re-pointed the parent pointers of all elements | [#5832][5832] |
| 10,000 × `at(i)` on an `ordered_json` array with `JSON_DIAGNOSTICS` | 44.0 ms | 0.084 ms | 523× | the same | [#5832][5832] | | 10,000 × `at(i)` on an `ordered_json` array with `JSON_DIAGNOSTICS` | 43.6 ms | 0.081 ms | 539× | the same | [#5832][5832] |
<p class="nj-table-caption" markdown>Operations that were quadratic or worse in 3.12.0, timed with both versions (C++17, `-O3`, median of 3 interleaved runs).</p> <p class="nj-table-caption" markdown>Operations that were quadratic or worse in 3.12.0, timed with both versions (C++17, `-O3`, median of 3 interleaved runs).</p>
@@ -2257,8 +2258,8 @@ removed because 3.12.0 has no BON8.
| machine | Apple M1 Max laptop on AC power, macOS 27.0.1 | | machine | Apple M1 Max laptop on AC power, macOS 27.0.1 |
| 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 of a version started only when the load average was below 4 and repeated when it rose above 5 while running; the median of all 8 | | suite | 3 rounds × 4 repetitions per version, random interleaving, each round of a version started only when the load average was below 4 and repeated when it rose above 5 while running; of 3.12.0 and 3.13.0, the round that differed from the other two by 3.7 % and 1.5 % overall was dropped; the median of the remaining 8 |
| noise | the coefficient of variation was 3 % or less for 178 of the 182 rows with 3.12.0 and 177 with 3.13.0; the largest was 6.5 %, not counting one 3.13.0 run that a disturbance made 2.7× as slow | | noise | the coefficient of variation was 3 % or less for 172 of the 182 rows with 3.12.0 and 174 with 3.13.0; the largest was 7.3 %, not counting one 3.12.0 run of a 1.5 µs benchmark that a disturbance made 1.4× as slow |
| 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>
@@ -2437,7 +2438,7 @@ measure binary size or memory use.
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
[#5882][5882]; moving keys [#5458][5458], [#5855][5855]; separator check [#5592][5592]; CBOR keys [#5328][5328]; [#5882][5882]; moving keys [#5458][5458], [#5855][5855]; separator check [#5592][5592]; CBOR keys [#5328][5328];
`accept()` without copies [#5978][5978]; runs of scalars in binary arrays [#5975][5975], [#5980][5980], [#5981][5981]. `accept()` without copies [#5978][5978]; runs of scalars in binary arrays [#5975][5975], [#5980][5980], [#5981][5981], [#6008][6008].
- <a class="nj-theme" href="#theme-5" title="theme 5">5</a> **Read the assembly:** stack canary [#5854][5854]; exceptions and inlining [#5838][5838], [#5840][5840], - <a class="nj-theme" href="#theme-5" title="theme 5">5</a> **Read the assembly:** stack canary [#5854][5854]; exceptions and inlining [#5838][5838], [#5840][5840],
[#5839][5839], [#5836][5836]; aliasing [#5633][5633]; forced inlining [#5878][5878]; branch-free selections [#5839][5839], [#5836][5836]; aliasing [#5633][5633]; forced inlining [#5878][5878]; branch-free selections
[#5908][5908]; code size [#5902][5902]. [#5908][5908]; code size [#5902][5902].
@@ -2622,3 +2623,4 @@ These are the checks behind the themes:
[5980]: https://github.com/nlohmann/json/pull/5980 [5980]: https://github.com/nlohmann/json/pull/5980
[5981]: https://github.com/nlohmann/json/pull/5981 [5981]: https://github.com/nlohmann/json/pull/5981
[5982]: https://github.com/nlohmann/json/pull/5982 [5982]: https://github.com/nlohmann/json/pull/5982
[6008]: https://github.com/nlohmann/json/pull/6008
+31 -31
View File
@@ -1,6 +1,6 @@
<svg class="nj-fig nj-charts nj-charts--blog" viewBox="0 0 600 380" role="img" aria-labelledby="nj-blog-cliffs nj-blog-cliffs-d" xmlns="http://www.w3.org/2000/svg"> <svg class="nj-fig nj-charts nj-charts--blog" viewBox="0 0 600 380" role="img" aria-labelledby="nj-blog-cliffs nj-blog-cliffs-d" xmlns="http://www.w3.org/2000/svg">
<title id="nj-blog-cliffs">Operations that grew quadratically or worse: time with 3.12.0 and 3.13.0, log scale</title> <title id="nj-blog-cliffs">Operations that grew quadratically or worse: time with 3.12.0 and 3.13.0, log scale</title>
<desc id="nj-blog-cliffs-d">Dot plot on a logarithmic time axis, less is better; an arrow leads from each 3.12.0 time to the 3.13.0 time. diff() 64k numbers vs []: 4113 ms to 10.1 ms; diff() 20k objects vs half: 119 ms to 3.9 ms; parse() callback, 32k objects: 1363 ms to 11.5 ms; operator&lt; nested 24 deep: 63.7 ms to 0.002 ms; operator&lt; citm, 10x: 274 ms to 3.83 ms; flatten() citm, ordered_json: 253 ms to 1.37 ms; to_bson() 200 deep, 100x: 19.8 ms to 0.352 ms; push_back() 100k, diagnostics: 1541 ms to 5.11 ms; at(i) 10k, diagnostics: 44 ms to 0.084 ms.</desc> <desc id="nj-blog-cliffs-d">Dot plot on a logarithmic time axis, less is better; an arrow leads from each 3.12.0 time to the 3.13.0 time. diff() 64k numbers vs []: 4140 ms to 10.5 ms; diff() 20k objects vs half: 119 ms to 3.99 ms; parse() callback, 32k objects: 1361 ms to 12.1 ms; operator&lt; nested 24 deep: 64 ms to 0.002 ms; operator&lt; citm, 10x: 278 ms to 3.86 ms; flatten() citm, ordered_json: 253 ms to 1.37 ms; to_bson() 200 deep, 100x: 19.9 ms to 0.349 ms; push_back() 100k, diagnostics: 1532 ms to 5.04 ms; at(i) 10k, diagnostics: 43.6 ms to 0.081 ms.</desc>
<line class="nj-charts-grid" x1="250" y1="30" x2="250" y2="336"/> <line class="nj-charts-grid" x1="250" y1="30" x2="250" y2="336"/>
<text class="nj-charts-tick" x="250" y="352">1 µs</text> <text class="nj-charts-tick" x="250" y="352">1 µs</text>
<line class="nj-charts-grid" x1="297.857" y1="30" x2="297.857" y2="336"/> <line class="nj-charts-grid" x1="297.857" y1="30" x2="297.857" y2="336"/>
@@ -22,48 +22,48 @@
<circle class="nj-charts-ojson-dot" cx="250" cy="14" r="5"/><text class="nj-charts-leg" x="260" y="18.5">3.12.0</text> <circle class="nj-charts-ojson-dot" cx="250" cy="14" r="5"/><text class="nj-charts-leg" x="260" y="18.5">3.12.0</text>
<circle class="nj-charts-json-dot" cx="330" cy="14" r="5"/><text class="nj-charts-leg" x="340" y="18.5">3.13.0</text> <circle class="nj-charts-json-dot" cx="330" cy="14" r="5"/><text class="nj-charts-leg" x="340" y="18.5">3.13.0</text>
<text class="nj-charts-rowlabel" x="240" y="52" text-anchor="end">diff() 64k numbers vs []</text> <text class="nj-charts-rowlabel" x="240" y="52" text-anchor="end">diff() 64k numbers vs []</text>
<line class="nj-charts-axis" x1="560.535" y1="48" x2="448.635" y2="48" marker-end="url(#nj-blog-cliffs-head)"/> <line class="nj-charts-axis" x1="560.671" y1="48" x2="449.443" y2="48" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="566.535" cy="48" r="5"><title>diff() 64k numbers vs [], 3.12.0: 4113 ms</title></circle> <circle class="nj-charts-ojson-dot" cx="566.671" cy="48" r="5"><title>diff() 64k numbers vs [], 3.12.0: 4140 ms</title></circle>
<circle class="nj-charts-json-dot" cx="441.635" cy="48" r="5"><title>diff() 64k numbers vs [], 3.13.0: 10.1 ms</title></circle> <circle class="nj-charts-json-dot" cx="442.443" cy="48" r="5"><title>diff() 64k numbers vs [], 3.13.0: 10.5 ms</title></circle>
<text class="nj-charts-factor" x="504.085" y="41">407&#215;</text> <text class="nj-charts-factor" x="504.557" y="41">394&#215;</text>
<text class="nj-charts-rowlabel" x="240" y="86" text-anchor="end">diff() 20k objects vs half</text> <text class="nj-charts-rowlabel" x="240" y="86" text-anchor="end">diff() 20k objects vs half</text>
<line class="nj-charts-axis" x1="486.901" y1="82" x2="428.858" y2="82" marker-end="url(#nj-blog-cliffs-head)"/> <line class="nj-charts-axis" x1="486.901" y1="82" x2="429.332" y2="82" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="492.901" cy="82" r="5"><title>diff() 20k objects vs half, 3.12.0: 119 ms</title></circle> <circle class="nj-charts-ojson-dot" cx="492.901" cy="82" r="5"><title>diff() 20k objects vs half, 3.12.0: 119 ms</title></circle>
<circle class="nj-charts-json-dot" cx="421.858" cy="82" r="5"><title>diff() 20k objects vs half, 3.13.0: 3.9 ms</title></circle> <circle class="nj-charts-json-dot" cx="422.332" cy="82" r="5"><title>diff() 20k objects vs half, 3.13.0: 3.99 ms</title></circle>
<text class="nj-charts-factor" x="457.38" y="75">31&#215;</text> <text class="nj-charts-factor" x="457.617" y="75">30&#215;</text>
<text class="nj-charts-rowlabel" x="240" y="120" text-anchor="end">parse() callback, 32k objects</text> <text class="nj-charts-rowlabel" x="240" y="120" text-anchor="end">parse() callback, 32k objects</text>
<line class="nj-charts-axis" x1="537.579" y1="116" x2="451.333" y2="116" marker-end="url(#nj-blog-cliffs-head)"/> <line class="nj-charts-axis" x1="537.549" y1="116" x2="452.39" y2="116" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="543.579" cy="116" r="5"><title>parse() callback, 32k objects, 3.12.0: 1363 ms</title></circle> <circle class="nj-charts-ojson-dot" cx="543.549" cy="116" r="5"><title>parse() callback, 32k objects, 3.12.0: 1361 ms</title></circle>
<circle class="nj-charts-json-dot" cx="444.333" cy="116" r="5"><title>parse() callback, 32k objects, 3.13.0: 11.5 ms</title></circle> <circle class="nj-charts-json-dot" cx="445.39" cy="116" r="5"><title>parse() callback, 32k objects, 3.13.0: 12.1 ms</title></circle>
<text class="nj-charts-factor" x="493.956" y="109">119&#215;</text> <text class="nj-charts-factor" x="494.47" y="109">112&#215;</text>
<text class="nj-charts-rowlabel" x="240" y="154" text-anchor="end">operator&lt; nested 24 deep</text> <text class="nj-charts-rowlabel" x="240" y="154" text-anchor="end">operator&lt; nested 24 deep</text>
<line class="nj-charts-axis" x1="473.912" y1="150" x2="271.406" y2="150" marker-end="url(#nj-blog-cliffs-head)"/> <line class="nj-charts-axis" x1="474.01" y1="150" x2="271.406" y2="150" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="479.912" cy="150" r="5"><title>operator&lt; nested 24 deep, 3.12.0: 63.7 ms</title></circle> <circle class="nj-charts-ojson-dot" cx="480.01" cy="150" r="5"><title>operator&lt; nested 24 deep, 3.12.0: 64 ms</title></circle>
<circle class="nj-charts-json-dot" cx="264.406" cy="150" r="5"><title>operator&lt; nested 24 deep, 3.13.0: 0.002 ms</title></circle> <circle class="nj-charts-json-dot" cx="264.406" cy="150" r="5"><title>operator&lt; nested 24 deep, 3.13.0: 0.002 ms</title></circle>
<text class="nj-charts-factor" x="372.159" y="143">31850&#215;</text> <text class="nj-charts-factor" x="372.208" y="143">32000&#215;</text>
<text class="nj-charts-rowlabel" x="240" y="188" text-anchor="end">operator&lt; citm, 10x</text> <text class="nj-charts-rowlabel" x="240" y="188" text-anchor="end">operator&lt; citm, 10x</text>
<line class="nj-charts-axis" x1="504.235" y1="184" x2="428.482" y2="184" marker-end="url(#nj-blog-cliffs-head)"/> <line class="nj-charts-axis" x1="504.536" y1="184" x2="428.644" y2="184" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="510.235" cy="184" r="5"><title>operator&lt; citm, 10x, 3.12.0: 274 ms</title></circle> <circle class="nj-charts-ojson-dot" cx="510.536" cy="184" r="5"><title>operator&lt; citm, 10x, 3.12.0: 278 ms</title></circle>
<circle class="nj-charts-json-dot" cx="421.482" cy="184" r="5"><title>operator&lt; citm, 10x, 3.13.0: 3.83 ms</title></circle> <circle class="nj-charts-json-dot" cx="421.644" cy="184" r="5"><title>operator&lt; citm, 10x, 3.13.0: 3.86 ms</title></circle>
<text class="nj-charts-factor" x="465.858" y="177">72&#215;</text> <text class="nj-charts-factor" x="466.09" y="177">72&#215;</text>
<text class="nj-charts-rowlabel" x="240" y="222" text-anchor="end">flatten() citm, ordered_json</text> <text class="nj-charts-rowlabel" x="240" y="222" text-anchor="end">flatten() citm, ordered_json</text>
<line class="nj-charts-axis" x1="502.578" y1="218" x2="407.114" y2="218" marker-end="url(#nj-blog-cliffs-head)"/> <line class="nj-charts-axis" x1="502.578" y1="218" x2="407.114" y2="218" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="508.578" cy="218" r="5"><title>flatten() citm, ordered_json, 3.12.0: 253 ms</title></circle> <circle class="nj-charts-ojson-dot" cx="508.578" cy="218" r="5"><title>flatten() citm, ordered_json, 3.12.0: 253 ms</title></circle>
<circle class="nj-charts-json-dot" cx="400.114" cy="218" r="5"><title>flatten() citm, ordered_json, 3.13.0: 1.37 ms</title></circle> <circle class="nj-charts-json-dot" cx="400.114" cy="218" r="5"><title>flatten() citm, ordered_json, 3.13.0: 1.37 ms</title></circle>
<text class="nj-charts-factor" x="454.346" y="211">185&#215;</text> <text class="nj-charts-factor" x="454.346" y="211">185&#215;</text>
<text class="nj-charts-rowlabel" x="240" y="256" text-anchor="end">to_bson() 200 deep, 100x</text> <text class="nj-charts-rowlabel" x="240" y="256" text-anchor="end">to_bson() 200 deep, 100x</text>
<line class="nj-charts-axis" x1="449.626" y1="252" x2="378.87" y2="252" marker-end="url(#nj-blog-cliffs-head)"/> <line class="nj-charts-axis" x1="449.731" y1="252" x2="378.692" y2="252" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="455.626" cy="252" r="5"><title>to_bson() 200 deep, 100x, 3.12.0: 19.8 ms</title></circle> <circle class="nj-charts-ojson-dot" cx="455.731" cy="252" r="5"><title>to_bson() 200 deep, 100x, 3.12.0: 19.9 ms</title></circle>
<circle class="nj-charts-json-dot" cx="371.87" cy="252" r="5"><title>to_bson() 200 deep, 100x, 3.13.0: 0.352 ms</title></circle> <circle class="nj-charts-json-dot" cx="371.692" cy="252" r="5"><title>to_bson() 200 deep, 100x, 3.13.0: 0.349 ms</title></circle>
<text class="nj-charts-factor" x="413.748" y="245">56&#215;</text> <text class="nj-charts-factor" x="413.712" y="245">57&#215;</text>
<text class="nj-charts-rowlabel" x="240" y="290" text-anchor="end">push_back() 100k, diagnostics</text> <text class="nj-charts-rowlabel" x="240" y="290" text-anchor="end">push_back() 100k, diagnostics</text>
<line class="nj-charts-axis" x1="540.131" y1="286" x2="434.474" y2="286" marker-end="url(#nj-blog-cliffs-head)"/> <line class="nj-charts-axis" x1="540.009" y1="286" x2="434.188" y2="286" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="546.131" cy="286" r="5"><title>push_back() 100k, diagnostics, 3.12.0: 1541 ms</title></circle> <circle class="nj-charts-ojson-dot" cx="546.009" cy="286" r="5"><title>push_back() 100k, diagnostics, 3.12.0: 1532 ms</title></circle>
<circle class="nj-charts-json-dot" cx="427.474" cy="286" r="5"><title>push_back() 100k, diagnostics, 3.13.0: 5.11 ms</title></circle> <circle class="nj-charts-json-dot" cx="427.188" cy="286" r="5"><title>push_back() 100k, diagnostics, 3.13.0: 5.04 ms</title></circle>
<text class="nj-charts-factor" x="486.802" y="279">302&#215;</text> <text class="nj-charts-factor" x="486.598" y="279">304&#215;</text>
<text class="nj-charts-rowlabel" x="240" y="324" text-anchor="end">at(i) 10k, diagnostics</text> <text class="nj-charts-rowlabel" x="240" y="324" text-anchor="end">at(i) 10k, diagnostics</text>
<line class="nj-charts-axis" x1="466.222" y1="320" x2="349.091" y2="320" marker-end="url(#nj-blog-cliffs-head)"/> <line class="nj-charts-axis" x1="466.033" y1="320" x2="348.335" y2="320" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="472.222" cy="320" r="5"><title>at(i) 10k, diagnostics, 3.12.0: 44 ms</title></circle> <circle class="nj-charts-ojson-dot" cx="472.033" cy="320" r="5"><title>at(i) 10k, diagnostics, 3.12.0: 43.6 ms</title></circle>
<circle class="nj-charts-json-dot" cx="342.091" cy="320" r="5"><title>at(i) 10k, diagnostics, 3.13.0: 0.084 ms</title></circle> <circle class="nj-charts-json-dot" cx="341.335" cy="320" r="5"><title>at(i) 10k, diagnostics, 3.13.0: 0.081 ms</title></circle>
<text class="nj-charts-factor" x="407.156" y="313">524&#215;</text> <text class="nj-charts-factor" x="406.684" y="313">538&#215;</text>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

@@ -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: 21; 1.5 to 2x: 14; 2 to 3x: 58; 3 to 5x: 57; 5 to 10x: 26; 10x or more: 4. Median 2.9x, geometric mean 3.0x.</desc> <desc id="nj-blog-dist-d">Bars counting the benchmarks per speedup range: below 1x: 2; 1 to 1.5x: 21; 1.5 to 2x: 14; 2 to 3x: 58; 3 to 5x: 58; 5 to 10x: 25; 10x or more: 4. Median 3.0x, geometric mean 3.0x.</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"/>
@@ -21,11 +21,11 @@
<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> <rect class="nj-charts-c1" x="272.6" y="46.9" width="54.9" height="149.1" rx="3"><title>2 to 3&#215;: 58</title></rect>
<text class="nj-charts-val" x="300.0" y="41.9" text-anchor="middle">58</text> <text class="nj-charts-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="49.4" width="54.9" height="146.6" rx="3"><title>3 to 5&#215;: 57</title></rect> <rect class="nj-charts-c1" x="343.4" y="46.9" width="54.9" height="149.1" rx="3"><title>3 to 5&#215;: 58</title></rect>
<text class="nj-charts-val" x="370.9" y="44.4" text-anchor="middle">57</text> <text class="nj-charts-val" x="370.9" y="41.9" text-anchor="middle">58</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="129.1" width="54.9" height="66.9" rx="3"><title>5 to 10&#215;: 26</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="124.1" text-anchor="middle">26</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="185.7" width="54.9" height="10.3" rx="3"><title>10&#215; or more: 4</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="180.7" text-anchor="middle">4</text> <text class="nj-charts-val" x="512.6" y="180.7" text-anchor="middle">4</text>

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

+33 -33
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.1x; citm_catalog.json 4.1x; canada.json 3.3x; canada.json, indented 6.3x; citm, ordered_json 6.5x; twitter, std::ifstream 2.5x; citm, FILE* 4.7x; citm, accept() 7.0x; dump() twitter 6.6x; dump() canada 2.9x; dump(4) citm 4.5x; to_cbor() twitter 4.3x; twitter, memory 3.2x; twitter, FILE* 6.4x; diff() canada 10x; iterate canada 2.8x; copy + destroy citm 1.11x; == citm 1.05x.</desc> <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.4x; canada.json, indented 6.6x; citm, ordered_json 6.7x; twitter, std::ifstream 2.4x; citm, FILE* 4.7x; citm, accept() 7.0x; dump() twitter 6.7x; dump() canada 2.9x; dump(4) citm 4.6x; to_cbor() twitter 4.5x; twitter, memory 3.2x; twitter, FILE* 6.4x; diff() canada 10x; iterate canada 2.7x; copy + destroy citm 1.11x; == citm 1.04x.</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 H277.8 Q281.8 30 281.8 34 V41 Q281.8 45 277.8 45 H190 Z"><title>twitter.json: 3.1&#215;</title></path> <path class="nj-charts-c1" d="M190 30 H276.6 Q280.6 30 280.6 34 V41 Q280.6 45 276.6 45 H190 Z"><title>twitter.json: 3.0&#215;</title></path>
<text class="nj-charts-val" x="286.8" y="42">3.1&#215;</text> <text class="nj-charts-val" x="285.6" y="42">3.0&#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 H308.1 Q312.1 54 312.1 58 V65 Q312.1 69 308.1 69 H190 Z"><title>citm_catalog.json: 4.1&#215;</title></path> <path class="nj-charts-c1" d="M190 54 H309.3 Q313.3 54 313.3 58 V65 Q313.3 69 309.3 69 H190 Z"><title>citm_catalog.json: 4.1&#215;</title></path>
<text class="nj-charts-val" x="317.1" y="66">4.1&#215;</text> <text class="nj-charts-val" x="318.3" y="66">4.1&#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 H285.3 Q289.3 78 289.3 82 V89 Q289.3 93 285.3 93 H190 Z"><title>canada.json: 3.3&#215;</title></path> <path class="nj-charts-c1" d="M190 78 H288.3 Q292.3 78 292.3 82 V89 Q292.3 93 288.3 93 H190 Z"><title>canada.json: 3.4&#215;</title></path>
<text class="nj-charts-val" x="294.3" y="90">3.3&#215;</text> <text class="nj-charts-val" x="297.3" 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 H376.2 Q380.2 102 380.2 106 V113 Q380.2 117 376.2 117 H190 Z"><title>canada.json, indented: 6.3&#215;</title></path> <path class="nj-charts-c1" d="M190 102 H383.7 Q387.7 102 387.7 106 V113 Q387.7 117 383.7 117 H190 Z"><title>canada.json, indented: 6.6&#215;</title></path>
<text class="nj-charts-val" x="385.2" y="114">6.3&#215;</text> <text class="nj-charts-val" x="392.7" y="114">6.6&#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 H381.6 Q385.6 126 385.6 130 V137 Q385.6 141 381.6 141 H190 Z"><title>citm, ordered_json: 6.5&#215;</title></path> <path class="nj-charts-c1" d="M190 126 H387.3 Q391.3 126 391.3 130 V137 Q391.3 141 387.3 141 H190 Z"><title>citm, ordered_json: 6.7&#215;</title></path>
<text class="nj-charts-val" x="390.6" y="138">6.5&#215;</text> <text class="nj-charts-val" x="396.3" y="138">6.7&#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 H327 Q331 174 331 178 V185 Q331 189 327 189 H190 Z"><title>citm, FILE*: 4.7&#215;</title></path> <path class="nj-charts-c1" d="M190 174 H327.3 Q331.3 174 331.3 178 V185 Q331.3 189 327.3 189 H190 Z"><title>citm, FILE*: 4.7&#215;</title></path>
<text class="nj-charts-val" x="336" y="186">4.7&#215;</text> <text class="nj-charts-val" x="336.3" 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 H394.8 Q398.8 198 398.8 202 V209 Q398.8 213 394.8 213 H190 Z"><title>citm, accept(): 7.0&#215;</title></path> <path class="nj-charts-c1" d="M190 198 H397.2 Q401.2 198 401.2 202 V209 Q401.2 213 397.2 213 H190 Z"><title>citm, accept(): 7.0&#215;</title></path>
<text class="nj-charts-val" x="403.8" y="210">7.0&#215;</text> <text class="nj-charts-val" x="406.2" y="210">7.0&#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 H383.7 Q387.7 254 387.7 258 V265 Q387.7 269 383.7 269 H190 Z"><title>dump() twitter: 6.6&#215;</title></path> <path class="nj-charts-c1" d="M190 254 H385.8 Q389.8 254 389.8 258 V265 Q389.8 269 385.8 269 H190 Z"><title>dump() twitter: 6.7&#215;</title></path>
<text class="nj-charts-val" x="392.7" y="266">6.6&#215;</text> <text class="nj-charts-val" x="394.8" 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.2 Q278.2 278 278.2 282 V289 Q278.2 293 274.2 293 H190 Z"><title>dump() canada: 2.9&#215;</title></path> <path class="nj-charts-c1" d="M190 278 H273.9 Q277.9 278 277.9 282 V289 Q277.9 293 273.9 293 H190 Z"><title>dump() canada: 2.9&#215;</title></path>
<text class="nj-charts-val" x="283.2" y="290">2.9&#215;</text> <text class="nj-charts-val" x="282.9" 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 H322.2 Q326.2 302 326.2 306 V313 Q326.2 317 322.2 317 H190 Z"><title>dump(4) citm: 4.5&#215;</title></path> <path class="nj-charts-c1" d="M190 302 H324.9 Q328.9 302 328.9 306 V313 Q328.9 317 324.9 317 H190 Z"><title>dump(4) citm: 4.6&#215;</title></path>
<text class="nj-charts-val" x="331.2" y="314">4.5&#215;</text> <text class="nj-charts-val" x="333.9" y="314">4.6&#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 H315 Q319 326 319 330 V337 Q319 341 315 341 H190 Z"><title>to_cbor() twitter: 4.3&#215;</title></path> <path class="nj-charts-c1" d="M190 326 H320.4 Q324.4 326 324.4 330 V337 Q324.4 341 320.4 341 H190 Z"><title>to_cbor() twitter: 4.5&#215;</title></path>
<text class="nj-charts-val" x="324" y="338">4.3&#215;</text> <text class="nj-charts-val" x="329.4" 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 H281.7 Q285.7 382 285.7 386 V393 Q285.7 397 281.7 397 H190 Z"><title>twitter, memory: 3.2&#215;</title></path> <path class="nj-charts-c1" d="M190 382 H281.4 Q285.4 382 285.4 386 V393 Q285.4 397 281.4 397 H190 Z"><title>twitter, memory: 3.2&#215;</title></path>
<text class="nj-charts-val" x="290.7" y="394">3.2&#215;</text> <text class="nj-charts-val" x="290.4" 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 H378.3 Q382.3 406 382.3 410 V417 Q382.3 421 378.3 421 H190 Z"><title>twitter, FILE*: 6.4&#215;</title></path> <path class="nj-charts-c1" d="M190 406 H378.3 Q382.3 406 382.3 410 V417 Q382.3 421 378.3 421 H190 Z"><title>twitter, FILE*: 6.4&#215;</title></path>
<text class="nj-charts-val" x="387.3" y="418">6.4&#215;</text> <text class="nj-charts-val" x="387.3" 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 H492.3 Q496.3 462 496.3 466 V473 Q496.3 477 492.3 477 H190 Z"><title>diff() canada: 10&#215;</title></path> <path class="nj-charts-c1" d="M190 462 H496.2 Q500.2 462 500.2 466 V473 Q500.2 477 496.2 477 H190 Z"><title>diff() canada: 10&#215;</title></path>
<text class="nj-charts-val" x="501.3" y="474">10&#215;</text> <text class="nj-charts-val" x="505.2" 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 H269.7 Q273.7 486 273.7 490 V497 Q273.7 501 269.7 501 H190 Z"><title>iterate canada: 2.8&#215;</title></path> <path class="nj-charts-c1" d="M190 486 H267.3 Q271.3 486 271.3 490 V497 Q271.3 501 267.3 501 H190 Z"><title>iterate canada: 2.7&#215;</title></path>
<text class="nj-charts-val" x="278.7" y="498">2.8&#215;</text> <text class="nj-charts-val" x="276.3" y="498">2.7&#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.5 Q221.5 534 221.5 538 V545 Q221.5 549 217.5 549 H190 Z"><title>== citm: 1.05&#215;</title></path> <path class="nj-charts-c1" d="M190 534 H217.2 Q221.2 534 221.2 538 V545 Q221.2 549 217.2 549 H190 Z"><title>== citm: 1.04&#215;</title></path>
<text class="nj-charts-val" x="226.5" y="546">1.05&#215;</text> <text class="nj-charts-val" x="226.2" y="546">1.04&#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.1 KiB

After

Width:  |  Height:  |  Size: 8.2 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.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

@@ -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

@@ -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-from_cbor_twitter nj-blog-tl-from_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-from_cbor_twitter nj-blog-tl-from_cbor_twitter-d" xmlns="http://www.w3.org/2000/svg">
<title id="nj-blog-tl-from_cbor_twitter">from_cbor() twitter: speedup over 3.12.0 by commit</title> <title id="nj-blog-tl-from_cbor_twitter">from_cbor() twitter: speedup over 3.12.0 by commit</title>
<desc id="nj-blog-tl-from_cbor_twitter-d">from_cbor() twitter: speedup over 3.12.0 at each of 317 commits, ending at 2.7x. Labeled steps, by theme: 1, 4, U, U.</desc> <desc id="nj-blog-tl-from_cbor_twitter-d">from_cbor() twitter: speedup over 3.12.0 at each of 317 commits, ending at 2.6x. Labeled steps, by theme: 1, 4, U, U.</desc>
<text class="nj-charts-panel" x="8" y="18">from_cbor() twitter</text> <text class="nj-charts-panel" x="8" y="18">from_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>
@@ -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

@@ -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-parse_citm nj-blog-tl-parse_citm-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-parse_citm nj-blog-tl-parse_citm-d" xmlns="http://www.w3.org/2000/svg">
<title id="nj-blog-tl-parse_citm">parse() citm_catalog.json: speedup over 3.12.0 by commit</title> <title id="nj-blog-tl-parse_citm">parse() citm_catalog.json: speedup over 3.12.0 by commit</title>
<desc id="nj-blog-tl-parse_citm-d">parse() citm_catalog.json: speedup over 3.12.0 at each of 317 commits, ending at 3.3x. Labeled steps, by theme: 4, 1, 4, 4, 2, 4.</desc> <desc id="nj-blog-tl-parse_citm-d">parse() citm_catalog.json: speedup over 3.12.0 at each of 317 commits, ending at 3.4x. Labeled steps, by theme: 4, 1, 4, 4, 2, 4.</desc>
<text class="nj-charts-panel" x="8" y="18">parse() citm_catalog.json</text> <text class="nj-charts-panel" x="8" y="18">parse() citm_catalog.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.2 45.8,208.2 45.8,207.8 46.7,207.8 46.7,207.5 47.6,207.5 47.6,206.5 48.5,206.5 48.5,208.3 49.4,208.3 49.4,207.3 50.3,207.3 50.3,206.8 51.2,206.8 51.2,207.8 52.1,207.8 52.1,206.8 53.1,206.8 53.1,207.3 54.0,207.3 54.0,207.6 54.9,207.6 54.9,207.8 55.8,207.8 55.8,207.0 56.7,207.0 56.7,207.3 57.6,207.3 57.6,207.2 58.5,207.2 58.5,207.4 59.4,207.4 59.4,207.5 60.3,207.5 60.3,207.4 61.2,207.4 61.2,206.6 62.1,206.6 62.1,207.6 63.0,207.6 63.0,207.6 63.9,207.6 63.9,207.2 64.8,207.2 64.8,207.0 65.7,207.0 65.7,207.6 66.6,207.6 66.6,206.7 67.5,206.7 67.5,207.4 68.4,207.4 68.4,206.8 69.3,206.8 69.3,207.3 70.2,207.3 70.2,207.7 71.2,207.7 71.2,207.9 72.1,207.9 72.1,207.2 73.0,207.2 73.0,206.4 73.9,206.4 73.9,207.6 74.8,207.6 74.8,206.4 75.7,206.4 75.7,208.0 76.6,208.0 76.6,207.4 77.5,207.4 77.5,206.5 78.4,206.5 78.4,207.5 79.3,207.5 79.3,207.2 80.2,207.2 80.2,206.9 81.1,206.9 81.1,207.6 82.0,207.6 82.0,207.6 82.9,207.6 82.9,207.0 83.8,207.0 83.8,206.9 84.7,206.9 84.7,208.0 85.6,208.0 85.6,207.6 86.5,207.6 86.5,206.6 87.4,206.6 87.4,206.8 88.3,206.8 88.3,207.3 89.3,207.3 89.3,206.9 90.2,206.9 90.2,207.6 91.1,207.6 91.1,207.1 92.0,207.1 92.0,207.6 92.9,207.6 92.9,207.9 93.8,207.9 93.8,178.2 94.7,178.2 94.7,177.5 95.6,177.5 95.6,177.7 96.5,177.7 96.5,177.6 97.4,177.6 97.4,177.7 98.3,177.7 98.3,177.1 99.2,177.1 99.2,176.8 100.1,176.8 100.1,177.7 101.0,177.7 101.0,177.6 101.9,177.6 101.9,176.8 102.8,176.8 102.8,177.8 103.7,177.8 103.7,177.0 104.6,177.0 104.6,176.8 105.5,176.8 105.5,178.0 106.4,178.0 106.4,178.1 107.4,178.1 107.4,177.6 108.3,177.6 108.3,177.6 109.2,177.6 109.2,177.4 110.1,177.4 110.1,177.6 111.0,177.6 111.0,177.8 111.9,177.8 111.9,177.5 112.8,177.5 112.8,177.9 113.7,177.9 113.7,177.7 114.6,177.7 114.6,175.9 115.5,175.9 115.5,177.5 116.4,177.5 116.4,177.6 117.3,177.6 117.3,177.6 118.2,177.6 118.2,176.9 119.1,176.9 119.1,177.5 120.0,177.5 120.0,177.4 120.9,177.4 120.9,177.4 121.8,177.4 121.8,176.9 122.7,176.9 122.7,177.9 123.6,177.9 123.6,177.3 124.6,177.3 124.6,176.6 125.5,176.6 125.5,177.4 126.4,177.4 126.4,177.5 127.3,177.5 127.3,177.5 128.2,177.5 128.2,177.4 129.1,177.4 129.1,177.0 130.0,177.0 130.0,177.7 130.9,177.7 130.9,176.2 131.8,176.2 131.8,176.9 132.7,176.9 132.7,177.5 133.6,177.5 133.6,177.8 134.5,177.8 134.5,177.8 135.4,177.8 135.4,177.9 136.3,177.9 136.3,177.3 137.2,177.3 137.2,177.5 138.1,177.5 138.1,177.4 139.0,177.4 139.0,177.1 139.9,177.1 139.9,162.5 140.8,162.5 140.8,162.2 141.7,162.2 141.7,161.8 142.7,161.8 142.7,162.2 143.6,162.2 143.6,161.2 144.5,161.2 144.5,160.7 145.4,160.7 145.4,159.4 146.3,159.4 146.3,160.3 147.2,160.3 147.2,160.4 148.1,160.4 148.1,160.6 149.0,160.6 149.0,159.5 149.9,159.5 149.9,160.4 150.8,160.4 150.8,159.6 151.7,159.6 151.7,160.0 152.6,160.0 152.6,159.9 153.5,159.9 153.5,160.2 154.4,160.2 154.4,159.6 155.3,159.6 155.3,160.8 156.2,160.8 156.2,160.1 157.1,160.1 157.1,159.1 158.0,159.1 158.0,159.7 158.9,159.7 158.9,159.9 159.8,159.9 159.8,160.5 160.8,160.5 160.8,160.2 161.7,160.2 161.7,159.9 162.6,159.9 162.6,160.5 163.5,160.5 163.5,160.5 164.4,160.5 164.4,160.6 165.3,160.6 165.3,159.7 166.2,159.7 166.2,159.5 167.1,159.5 167.1,160.0 168.0,160.0 168.0,160.2 168.9,160.2 168.9,160.0 169.8,160.0 169.8,160.6 170.7,160.6 170.7,159.9 171.6,159.9 171.6,160.2 172.5,160.2 172.5,160.1 173.4,160.1 173.4,160.8 174.3,160.8 174.3,159.2 175.2,159.2 175.2,159.6 176.1,159.6 176.1,159.2 177.0,159.2 177.0,160.0 177.9,160.0 177.9,159.4 178.9,159.4 178.9,159.6 179.8,159.6 179.8,159.5 180.7,159.5 180.7,160.1 181.6,160.1 181.6,159.0 182.5,159.0 182.5,159.4 183.4,159.4 183.4,160.2 184.3,160.2 184.3,161.4 185.2,161.4 185.2,161.7 186.1,161.7 186.1,161.6 187.0,161.6 187.0,160.3 187.9,160.3 187.9,161.1 188.8,161.1 188.8,161.2 189.7,161.2 189.7,161.7 190.6,161.7 190.6,161.2 191.5,161.2 191.5,160.4 192.4,160.4 192.4,161.6 193.3,161.6 193.3,160.6 194.2,160.6 194.2,161.4 195.1,161.4 195.1,161.3 196.1,161.3 196.1,161.3 197.0,161.3 197.0,161.7 197.9,161.7 197.9,161.2 198.8,161.2 198.8,160.1 199.7,160.1 199.7,160.9 200.6,160.9 200.6,161.5 201.5,161.5 201.5,160.6 202.4,160.6 202.4,161.9 203.3,161.9 203.3,161.4 204.2,161.4 204.2,160.1 205.1,160.1 205.1,160.6 206.0,160.6 206.0,162.0 206.9,162.0 206.9,161.5 207.8,161.5 207.8,162.0 208.7,162.0 208.7,161.3 209.6,161.3 209.6,162.3 210.5,162.3 210.5,162.1 211.4,162.1 211.4,160.8 212.3,160.8 212.3,161.5 213.2,161.5 213.2,161.4 214.2,161.4 214.2,162.2 215.1,162.2 215.1,161.4 216.0,161.4 216.0,161.4 216.9,161.4 216.9,161.8 217.8,161.8 217.8,160.7 218.7,160.7 218.7,160.5 219.6,160.5 219.6,160.5 220.5,160.5 220.5,159.3 221.4,159.3 221.4,159.4 222.3,159.4 222.3,160.4 223.2,160.4 223.2,160.1 224.1,160.1 224.1,160.4 225.0,160.4 225.0,160.4 225.9,160.4 225.9,160.8 226.8,160.8 226.8,159.8 227.7,159.8 227.7,159.4 228.6,159.4 228.6,160.5 229.5,160.5 229.5,160.1 230.4,160.1 230.4,160.7 231.3,160.7 231.3,160.6 232.3,160.6 232.3,159.5 233.2,159.5 233.2,161.1 234.1,161.1 234.1,161.3 235.0,161.3 235.0,161.0 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,207.8 46.7,207.8 46.7,207.5 47.6,207.5 47.6,206.5 48.5,206.5 48.5,208.3 49.4,208.3 49.4,207.3 50.3,207.3 50.3,206.8 51.2,206.8 51.2,207.8 52.1,207.8 52.1,206.8 53.1,206.8 53.1,207.3 54.0,207.3 54.0,207.6 54.9,207.6 54.9,207.8 55.8,207.8 55.8,207.0 56.7,207.0 56.7,207.3 57.6,207.3 57.6,207.2 58.5,207.2 58.5,207.4 59.4,207.4 59.4,207.5 60.3,207.5 60.3,207.4 61.2,207.4 61.2,206.6 62.1,206.6 62.1,207.6 63.0,207.6 63.0,207.6 63.9,207.6 63.9,207.2 64.8,207.2 64.8,207.0 65.7,207.0 65.7,207.6 66.6,207.6 66.6,206.7 67.5,206.7 67.5,207.4 68.4,207.4 68.4,206.8 69.3,206.8 69.3,207.3 70.2,207.3 70.2,207.7 71.2,207.7 71.2,207.9 72.1,207.9 72.1,207.2 73.0,207.2 73.0,206.4 73.9,206.4 73.9,207.6 74.8,207.6 74.8,206.4 75.7,206.4 75.7,208.0 76.6,208.0 76.6,207.4 77.5,207.4 77.5,206.5 78.4,206.5 78.4,207.5 79.3,207.5 79.3,207.2 80.2,207.2 80.2,206.9 81.1,206.9 81.1,207.6 82.0,207.6 82.0,207.6 82.9,207.6 82.9,207.0 83.8,207.0 83.8,206.9 84.7,206.9 84.7,208.0 85.6,208.0 85.6,207.6 86.5,207.6 86.5,206.6 87.4,206.6 87.4,206.8 88.3,206.8 88.3,207.3 89.3,207.3 89.3,206.9 90.2,206.9 90.2,207.6 91.1,207.6 91.1,207.1 92.0,207.1 92.0,207.6 92.9,207.6 92.9,207.9 93.8,207.9 93.8,178.2 94.7,178.2 94.7,177.5 95.6,177.5 95.6,177.7 96.5,177.7 96.5,177.6 97.4,177.6 97.4,177.7 98.3,177.7 98.3,177.1 99.2,177.1 99.2,176.8 100.1,176.8 100.1,177.7 101.0,177.7 101.0,177.6 101.9,177.6 101.9,176.8 102.8,176.8 102.8,177.8 103.7,177.8 103.7,177.0 104.6,177.0 104.6,176.8 105.5,176.8 105.5,178.0 106.4,178.0 106.4,178.1 107.4,178.1 107.4,177.6 108.3,177.6 108.3,177.6 109.2,177.6 109.2,177.4 110.1,177.4 110.1,177.6 111.0,177.6 111.0,177.8 111.9,177.8 111.9,177.5 112.8,177.5 112.8,177.9 113.7,177.9 113.7,177.7 114.6,177.7 114.6,175.9 115.5,175.9 115.5,177.5 116.4,177.5 116.4,177.6 117.3,177.6 117.3,177.6 118.2,177.6 118.2,176.9 119.1,176.9 119.1,177.5 120.0,177.5 120.0,177.4 120.9,177.4 120.9,177.4 121.8,177.4 121.8,176.9 122.7,176.9 122.7,177.9 123.6,177.9 123.6,177.3 124.6,177.3 124.6,176.6 125.5,176.6 125.5,177.4 126.4,177.4 126.4,177.5 127.3,177.5 127.3,177.5 128.2,177.5 128.2,177.4 129.1,177.4 129.1,177.0 130.0,177.0 130.0,177.7 130.9,177.7 130.9,176.2 131.8,176.2 131.8,176.9 132.7,176.9 132.7,177.5 133.6,177.5 133.6,177.8 134.5,177.8 134.5,177.8 135.4,177.8 135.4,177.9 136.3,177.9 136.3,177.3 137.2,177.3 137.2,177.5 138.1,177.5 138.1,177.4 139.0,177.4 139.0,177.1 139.9,177.1 139.9,162.5 140.8,162.5 140.8,162.2 141.7,162.2 141.7,161.8 142.7,161.8 142.7,162.2 143.6,162.2 143.6,161.2 144.5,161.2 144.5,160.7 145.4,160.7 145.4,159.4 146.3,159.4 146.3,160.3 147.2,160.3 147.2,160.4 148.1,160.4 148.1,160.6 149.0,160.6 149.0,159.5 149.9,159.5 149.9,160.4 150.8,160.4 150.8,159.6 151.7,159.6 151.7,160.0 152.6,160.0 152.6,159.9 153.5,159.9 153.5,160.2 154.4,160.2 154.4,159.6 155.3,159.6 155.3,160.8 156.2,160.8 156.2,160.1 157.1,160.1 157.1,159.1 158.0,159.1 158.0,159.7 158.9,159.7 158.9,159.9 159.8,159.9 159.8,160.5 160.8,160.5 160.8,160.2 161.7,160.2 161.7,159.9 162.6,159.9 162.6,160.5 163.5,160.5 163.5,160.5 164.4,160.5 164.4,160.6 165.3,160.6 165.3,159.7 166.2,159.7 166.2,159.5 167.1,159.5 167.1,160.0 168.0,160.0 168.0,160.2 168.9,160.2 168.9,160.0 169.8,160.0 169.8,160.6 170.7,160.6 170.7,159.9 171.6,159.9 171.6,160.2 172.5,160.2 172.5,160.1 173.4,160.1 173.4,160.8 174.3,160.8 174.3,159.2 175.2,159.2 175.2,159.6 176.1,159.6 176.1,159.2 177.0,159.2 177.0,160.0 177.9,160.0 177.9,159.4 178.9,159.4 178.9,159.6 179.8,159.6 179.8,159.5 180.7,159.5 180.7,160.1 181.6,160.1 181.6,159.0 182.5,159.0 182.5,159.4 183.4,159.4 183.4,160.2 184.3,160.2 184.3,161.4 185.2,161.4 185.2,161.7 186.1,161.7 186.1,161.6 187.0,161.6 187.0,160.3 187.9,160.3 187.9,161.1 188.8,161.1 188.8,161.2 189.7,161.2 189.7,161.7 190.6,161.7 190.6,161.2 191.5,161.2 191.5,160.4 192.4,160.4 192.4,161.6 193.3,161.6 193.3,160.6 194.2,160.6 194.2,161.4 195.1,161.4 195.1,161.3 196.1,161.3 196.1,161.3 197.0,161.3 197.0,161.7 197.9,161.7 197.9,161.2 198.8,161.2 198.8,160.1 199.7,160.1 199.7,160.9 200.6,160.9 200.6,161.5 201.5,161.5 201.5,160.6 202.4,160.6 202.4,161.9 203.3,161.9 203.3,161.4 204.2,161.4 204.2,160.1 205.1,160.1 205.1,160.6 206.0,160.6 206.0,162.0 206.9,162.0 206.9,161.5 207.8,161.5 207.8,162.0 208.7,162.0 208.7,161.3 209.6,161.3 209.6,162.3 210.5,162.3 210.5,162.1 211.4,162.1 211.4,160.8 212.3,160.8 212.3,161.5 213.2,161.5 213.2,161.4 214.2,161.4 214.2,162.2 215.1,162.2 215.1,161.4 216.0,161.4 216.0,161.4 216.9,161.4 216.9,161.8 217.8,161.8 217.8,160.7 218.7,160.7 218.7,160.5 219.6,160.5 219.6,160.5 220.5,160.5 220.5,159.3 221.4,159.3 221.4,159.4 222.3,159.4 222.3,160.4 223.2,160.4 223.2,160.1 224.1,160.1 224.1,160.4 225.0,160.4 225.0,160.4 225.9,160.4 225.9,160.8 226.8,160.8 226.8,159.8 227.7,159.8 227.7,159.4 228.6,159.4 228.6,160.5 229.5,160.5 229.5,160.1 230.4,160.1 230.4,160.7 231.3,160.7 231.3,160.6 232.3,160.6 232.3,159.5 233.2,159.5 233.2,161.1 234.1,161.1 234.1,161.3 235.0,161.3 235.0,161.0 235.9Line truncated
<circle class="nj-charts-json-dot" cx="93.8" cy="178.2" r="3.5"><title>#5234: 1.55&#215;</title></circle> <circle class="nj-charts-json-dot" cx="93.8" cy="178.2" r="3.5"><title>#5234: 1.55&#215;</title></circle>
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="93.8" y1="54.0" x2="93.8" y2="173.2"/> <line class="nj-charts-grid" stroke-dasharray="2 2" x1="93.8" y1="54.0" x2="93.8" y2="173.2"/>
<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

@@ -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-parse_twitter_ifstream nj-blog-tl-parse_twitter_ifstream-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-parse_twitter_ifstream nj-blog-tl-parse_twitter_ifstream-d" xmlns="http://www.w3.org/2000/svg">
<title id="nj-blog-tl-parse_twitter_ifstream">parse() twitter.json, std::ifstream: speedup over 3.12.0 by commit</title> <title id="nj-blog-tl-parse_twitter_ifstream">parse() twitter.json, std::ifstream: speedup over 3.12.0 by commit</title>
<desc id="nj-blog-tl-parse_twitter_ifstream-d">parse() twitter.json, std::ifstream: speedup over 3.12.0 at each of 317 commits, ending at 2.3x. Labeled steps, by theme: 1, 1.</desc> <desc id="nj-blog-tl-parse_twitter_ifstream-d">parse() twitter.json, std::ifstream: speedup over 3.12.0 at each of 317 commits, ending at 2.2x. Labeled steps, by theme: 1, 1.</desc>
<text class="nj-charts-panel" x="8" y="18">parse() twitter.json, std::ifstream</text> <text class="nj-charts-panel" x="8" y="18">parse() twitter.json, std::ifstream</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>
@@ -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

@@ -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
Accept/canada,ns,1.25437e+07,2.28713e+06,5.484 Accept/canada,ns,1.26911e+07,2.31896e+06,5.473
Accept/citm_catalog,ns,6.28134e+06,902496,6.960 Accept/citm_catalog,ns,6.38348e+06,907300,7.036
Accept/floats,ns,1.11964e+08,2.19716e+07,5.096 Accept/floats,ns,1.13021e+08,2.2302e+07,5.068
Accept/jeopardy,ns,2.13142e+08,5.70288e+07,3.737 Accept/jeopardy,ns,2.18859e+08,5.74875e+07,3.807
Accept/signed_ints,ns,1.13451e+08,2.73564e+07,4.147 Accept/signed_ints,ns,1.15082e+08,2.76628e+07,4.160
Accept/small_signed_ints,ns,5.52119e+07,1.74636e+07,3.162 Accept/small_signed_ints,ns,5.58745e+07,1.76566e+07,3.165
Accept/twitter,ns,2.43682e+06,469197,5.194 Accept/twitter,ns,2.45895e+06,474623,5.181
Accept/unsigned_ints,ns,1.11739e+08,2.86842e+07,3.895 Accept/unsigned_ints,ns,1.13737e+08,2.91215e+07,3.906
BinaryToCbor/1024,ns,290.559,104.43,2.782 BinaryToCbor/1024,ns,303.306,101.854,2.978
BinaryToCbor/128,ns,244.736,114.39,2.139 BinaryToCbor/128,ns,247.228,115.274,2.145
BinaryToCbor/16,ns,241.729,48.5869,4.975 BinaryToCbor/16,ns,239.518,48.6796,4.920
BinaryToCbor/16384,ns,957.488,416.935,2.296 BinaryToCbor/16384,ns,949.458,408.254,2.326
BinaryToCbor/2048,ns,314.999,123.874,2.543 BinaryToCbor/2048,ns,320.309,119.299,2.685
BinaryToCbor/256,ns,263.753,89.8568,2.935 BinaryToCbor/256,ns,265.095,88.0809,3.010
BinaryToCbor/32,ns,247.99,49.3588,5.024 BinaryToCbor/32,ns,249.054,48.4924,5.136
BinaryToCbor/32768,ns,1544.84,793.525,1.947 BinaryToCbor/32768,ns,1533.16,801.01,1.914
BinaryToCbor/4096,ns,398.772,169.158,2.357 BinaryToCbor/4096,ns,412.14,169.413,2.433
BinaryToCbor/512,ns,290.128,100.637,2.883 BinaryToCbor/512,ns,289.358,97.2851,2.974
BinaryToCbor/64,ns,246.96,81.9565,3.013 BinaryToCbor/64,ns,249.278,83.8812,2.972
BinaryToCbor/8,ns,244.014,48.5667,5.024 BinaryToCbor/8,ns,242.904,48.4594,5.013
BinaryToCbor/8192,ns,507.276,249.019,2.037 BinaryToCbor/8192,ns,511.492,247.585,2.066
Copy/canada,ns,3.60259e+06,2.83774e+06,1.270 Copy/canada,ns,3.65404e+06,2.86994e+06,1.273
Copy/citm_catalog,ns,1.59513e+06,1.43645e+06,1.110 Copy/citm_catalog,ns,1.62077e+06,1.45859e+06,1.111
Copy/twitter,ns,791709,718409,1.102 Copy/twitter,ns,799004,725731,1.101
CopyAssign/canada,ns,3.634e+06,2.87724e+06,1.263 CopyAssign/canada,ns,3.66694e+06,2.88365e+06,1.272
CopyAssign/citm_catalog,ns,1.63849e+06,1.48508e+06,1.103 CopyAssign/citm_catalog,ns,1.65324e+06,1.49021e+06,1.109
CopyAssign/twitter,ns,798844,735446,1.086 CopyAssign/twitter,ns,807988,738979,1.093
CopyOnly/canada,ns,1.51311e+06,1.49476e+06,1.012 CopyOnly/canada,ns,1.51887e+06,1.50295e+06,1.011
CopyOnly/citm_catalog,ns,732862,782280,0.937 CopyOnly/citm_catalog,ns,743278,781882,0.951
CopyOnly/twitter,ns,395055,399033,0.990 CopyOnly/twitter,ns,400238,403229,0.993
CopyRing/canada,ns,3.63908e+06,2.87582e+06,1.265 CopyRing/canada,ns,3.68209e+06,2.88747e+06,1.275
CopyRing/citm_catalog,ns,1.65988e+06,1.51282e+06,1.097 CopyRing/citm_catalog,ns,1.68855e+06,1.51116e+06,1.117
CopyRing/twitter,ns,838112,768418,1.091 CopyRing/twitter,ns,849612,769730,1.104
DestroyOnly/canada,ns,2.10335e+06,1.35995e+06,1.547 DestroyOnly/canada,ns,2.12854e+06,1.37108e+06,1.552
DestroyOnly/citm_catalog,ns,863782,670455,1.288 DestroyOnly/citm_catalog,ns,875707,674090,1.299
DestroyOnly/twitter,ns,399273,322030,1.240 DestroyOnly/twitter,ns,401328,322604,1.244
Diff/canada,ns,3.74782e+07,3.6723e+06,10.206 Diff/canada,ns,3.81123e+07,3.68674e+06,10.338
Diff/citm_catalog,ns,6.64514e+06,1.07377e+06,6.189 Diff/citm_catalog,ns,6.77551e+06,1.06847e+06,6.341
Diff/twitter,ns,4.73628e+06,636708,7.439 Diff/twitter,ns,4.82656e+06,639150,7.552
Dump/canada / -,ns,6.62677e+06,2.25123e+06,2.944 Dump/canada / -,ns,6.6893e+06,2.28575e+06,2.927
Dump/canada / 4,ns,8.7042e+06,2.98066e+06,2.920 Dump/canada / 4,ns,8.91301e+06,3.0094e+06,2.962
Dump/citm_catalog / -,ns,1.35686e+06,290577,4.670 Dump/citm_catalog / -,ns,1.38998e+06,291064,4.776
Dump/citm_catalog / 4,ns,1.89401e+06,416756,4.545 Dump/citm_catalog / 4,ns,1.92209e+06,414843,4.633
Dump/floats / -,ns,6.22834e+07,2.32495e+07,2.679 Dump/floats / -,ns,6.31567e+07,2.35913e+07,2.677
Dump/floats / 4,ns,6.9976e+07,2.40924e+07,2.904 Dump/floats / 4,ns,7.1106e+07,2.44198e+07,2.912
Dump/jeopardy / -,ns,2.01307e+08,2.99214e+07,6.728 Dump/jeopardy / -,ns,2.03467e+08,3.07362e+07,6.620
Dump/jeopardy / 4,ns,2.17598e+08,3.38669e+07,6.425 Dump/jeopardy / 4,ns,2.18712e+08,3.4619e+07,6.318
Dump/signed_ints / -,ns,2.32472e+07,1.05121e+07,2.211 Dump/signed_ints / -,ns,2.37468e+07,1.06034e+07,2.240
Dump/signed_ints / 4,ns,3.15119e+07,1.11146e+07,2.835 Dump/signed_ints / 4,ns,3.1988e+07,1.12253e+07,2.850
Dump/small_signed_ints / -,ns,1.75381e+07,7.82657e+06,2.241 Dump/small_signed_ints / -,ns,1.7782e+07,7.91902e+06,2.245
Dump/small_signed_ints / 4,ns,2.45965e+07,8.63097e+06,2.850 Dump/small_signed_ints / 4,ns,2.4964e+07,8.76268e+06,2.849
Dump/twitter / -,ns,1.36561e+06,207090,6.594 Dump/twitter / -,ns,1.39069e+06,208747,6.662
Dump/twitter / 4,ns,1.5516e+06,248517,6.243 Dump/twitter / 4,ns,1.58219e+06,246027,6.431
Dump/unsigned_ints / -,ns,2.31468e+07,7.93578e+06,2.917 Dump/unsigned_ints / -,ns,2.36168e+07,7.99718e+06,2.953
Dump/unsigned_ints / 4,ns,3.13424e+07,8.35542e+06,3.751 Dump/unsigned_ints / 4,ns,3.19304e+07,8.41574e+06,3.794
Equal/canada,ns,450957,332485,1.356 Equal/canada,ns,454099,336428,1.350
Equal/citm_catalog,ns,263408,251937,1.046 Equal/citm_catalog,ns,265088,254849,1.040
Equal/twitter,ns,139223,127010,1.096 Equal/twitter,ns,140412,127744,1.099
Flatten/canada,ns,2.80443e+07,1.10177e+07,2.545 Flatten/canada,ns,2.8443e+07,1.1054e+07,2.573
Flatten/citm_catalog,ns,6.33655e+06,2.97021e+06,2.133 Flatten/citm_catalog,ns,6.37309e+06,3.00071e+06,2.124
Flatten/twitter,ns,3.44993e+06,2.00619e+06,1.720 Flatten/twitter,ns,3.47895e+06,2.04063e+06,1.705
FlattenOrdered/citm_catalog,ns,2.49055e+08,1.37328e+06,181.357 FlattenOrdered/citm_catalog,ns,2.51402e+08,1.38824e+06,181.094
FlattenOrdered/twitter,ns,4.89423e+07,846377,57.826 FlattenOrdered/twitter,ns,4.89453e+07,860119,56.905
FromBinaryBuffer/bjdata / canada,ns,8.12748e+06,4.08424e+06,1.990 FromBinaryBuffer/bjdata / canada,ns,8.21979e+06,4.07412e+06,2.018
FromBinaryBuffer/bjdata / twitter,ns,3.07351e+06,948285,3.241 FromBinaryBuffer/bjdata / twitter,ns,3.11089e+06,957789,3.248
FromBinaryBuffer/bjdata_optimized / canada,ns,8.56879e+06,2.42618e+06,3.532 FromBinaryBuffer/bjdata_optimized / canada,ns,8.68489e+06,2.39853e+06,3.621
FromBinaryBuffer/bjdata_optimized / twitter,ns,3.07745e+06,948044,3.246 FromBinaryBuffer/bjdata_optimized / twitter,ns,3.11963e+06,952143,3.276
FromBinaryBuffer/bson / canada,ns,9.31889e+06,4.25253e+06,2.191 FromBinaryBuffer/bson / canada,ns,9.42574e+06,4.20336e+06,2.242
FromBinaryBuffer/bson / citm_catalog,ns,3.79713e+06,1.55174e+06,2.447 FromBinaryBuffer/bson / citm_catalog,ns,3.86254e+06,1.56165e+06,2.473
FromBinaryBuffer/bson / twitter,ns,3.04829e+06,910005,3.350 FromBinaryBuffer/bson / twitter,ns,3.0653e+06,923900,3.318
FromBinaryBuffer/cbor / canada,ns,8.26527e+06,2.05962e+06,4.013 FromBinaryBuffer/cbor / canada,ns,8.3425e+06,2.06207e+06,4.046
FromBinaryBuffer/cbor / citm_catalog,ns,3.62891e+06,1.41833e+06,2.559 FromBinaryBuffer/cbor / citm_catalog,ns,3.68456e+06,1.43886e+06,2.561
FromBinaryBuffer/cbor / floats,ns,2.89846e+07,5.39328e+06,5.374 FromBinaryBuffer/cbor / floats,ns,2.89541e+07,5.43061e+06,5.332
FromBinaryBuffer/cbor / jeopardy,ns,3.54945e+08,1.1153e+08,3.183 FromBinaryBuffer/cbor / jeopardy,ns,3.5724e+08,1.12871e+08,3.165
FromBinaryBuffer/cbor / signed_ints,ns,3.49713e+07,9.53001e+06,3.670 FromBinaryBuffer/cbor / signed_ints,ns,3.56166e+07,9.68737e+06,3.677
FromBinaryBuffer/cbor / twitter,ns,3.0017e+06,942493,3.185 FromBinaryBuffer/cbor / twitter,ns,3.03558e+06,953772,3.183
FromBinaryBuffer/msgpack / canada,ns,8.23088e+06,2.05409e+06,4.007 FromBinaryBuffer/msgpack / canada,ns,8.3272e+06,2.06449e+06,4.034
FromBinaryBuffer/msgpack / citm_catalog,ns,3.67736e+06,1.396e+06,2.634 FromBinaryBuffer/msgpack / citm_catalog,ns,3.68401e+06,1.41095e+06,2.611
FromBinaryBuffer/msgpack / jeopardy,ns,3.51715e+08,1.07205e+08,3.281 FromBinaryBuffer/msgpack / jeopardy,ns,3.54505e+08,1.09031e+08,3.251
FromBinaryBuffer/msgpack / twitter,ns,2.98346e+06,920736,3.240 FromBinaryBuffer/msgpack / twitter,ns,3.02687e+06,934627,3.239
FromBinaryBuffer/ubjson / canada,ns,8.14127e+06,4.10394e+06,1.984 FromBinaryBuffer/ubjson / canada,ns,8.23819e+06,4.08039e+06,2.019
FromBinaryBuffer/ubjson / citm_catalog,ns,3.75785e+06,1.71291e+06,2.194 FromBinaryBuffer/ubjson / citm_catalog,ns,3.81107e+06,1.72436e+06,2.210
FromBinaryBuffer/ubjson / jeopardy,ns,3.62566e+08,1.12043e+08,3.236 FromBinaryBuffer/ubjson / jeopardy,ns,3.64419e+08,1.13389e+08,3.214
FromBinaryBuffer/ubjson / twitter,ns,3.07643e+06,944874,3.256 FromBinaryBuffer/ubjson / twitter,ns,3.1103e+06,957344,3.249
FromBinaryBuffer/ubjson_optimized / canada,ns,8.38574e+06,2.37988e+06,3.524 FromBinaryBuffer/ubjson_optimized / canada,ns,8.48001e+06,2.36934e+06,3.579
FromBinaryBuffer/ubjson_optimized / twitter,ns,3.08095e+06,943868,3.264 FromBinaryBuffer/ubjson_optimized / twitter,ns,3.10764e+06,952334,3.263
FromBinaryFile/bjdata / twitter,ns,1.0295e+07,1.89097e+06,5.444 FromBinaryFile/bjdata / twitter,ns,1.03821e+07,1.90031e+06,5.463
FromBinaryFile/bson / twitter,ns,9.94972e+06,1.76486e+06,5.638 FromBinaryFile/bson / twitter,ns,1.01272e+07,1.80218e+06,5.619
FromBinaryFile/cbor / canada,ns,1.39806e+07,4.39308e+06,3.182 FromBinaryFile/cbor / canada,ns,1.41591e+07,4.41088e+06,3.210
FromBinaryFile/cbor / twitter,ns,9.6646e+06,1.50859e+06,6.406 FromBinaryFile/cbor / twitter,ns,9.81686e+06,1.53188e+06,6.408
FromBinaryFile/ubjson / canada,ns,1.34115e+07,6.19543e+06,2.165 FromBinaryFile/ubjson / canada,ns,1.36558e+07,6.313e+06,2.163
FromBinaryFile/ubjson / twitter,ns,1.02157e+07,1.89016e+06,5.405 FromBinaryFile/ubjson / twitter,ns,1.03653e+07,1.90283e+06,5.447
FromBinaryShape/containers / bjdata,ns,1.40433e+07,6.96436e+06,2.016 FromBinaryShape/containers / bjdata,ns,1.41661e+07,7.16958e+06,1.976
FromBinaryShape/containers / bson,ns,1.682e+07,7.55534e+06,2.226 FromBinaryShape/containers / bson,ns,1.69957e+07,7.73162e+06,2.198
FromBinaryShape/containers / cbor,ns,1.35664e+07,3.8756e+06,3.500 FromBinaryShape/containers / cbor,ns,1.37448e+07,3.88944e+06,3.534
FromBinaryShape/containers / msgpack,ns,1.34934e+07,3.82406e+06,3.529 FromBinaryShape/containers / msgpack,ns,1.36707e+07,3.84073e+06,3.559
FromBinaryShape/containers / ubjson,ns,1.40435e+07,6.9781e+06,2.013 FromBinaryShape/containers / ubjson,ns,1.41846e+07,7.17314e+06,1.977
FromBinaryShape/containers / ubjson_optimized,ns,1.45774e+07,4.45098e+06,3.275 FromBinaryShape/containers / ubjson_optimized,ns,1.47508e+07,4.4236e+06,3.335
FromBinaryShape/nested / bjdata,ns,94600.5,37840.9,2.500 FromBinaryShape/nested / bjdata,ns,93440.7,37989.3,2.460
FromBinaryShape/nested / bson,ns,100509,41429.8,2.426 FromBinaryShape/nested / bson,ns,99835.8,42028.7,2.375
FromBinaryShape/nested / cbor,ns,91972.7,37251.6,2.469 FromBinaryShape/nested / cbor,ns,92913.6,35141.4,2.644
FromBinaryShape/nested / msgpack,ns,90727.9,36363.8,2.495 FromBinaryShape/nested / msgpack,ns,90678.9,34607.5,2.620
FromBinaryShape/nested / ubjson,ns,94469,37882.2,2.494 FromBinaryShape/nested / ubjson,ns,93863.6,38056.3,2.466
FromBinaryShape/scalars / bjdata,ns,2.41514e+07,1.12078e+07,2.155 FromBinaryShape/scalars / bjdata,ns,2.44312e+07,1.13593e+07,2.151
FromBinaryShape/scalars / cbor,ns,2.5038e+07,5.53384e+06,4.525 FromBinaryShape/scalars / cbor,ns,2.54479e+07,5.6307e+06,4.519
FromBinaryShape/scalars / msgpack,ns,2.40268e+07,5.47092e+06,4.392 FromBinaryShape/scalars / msgpack,ns,2.42975e+07,5.5278e+06,4.396
FromBinaryShape/scalars / ubjson,ns,2.44002e+07,1.14029e+07,2.140 FromBinaryShape/scalars / ubjson,ns,2.46773e+07,1.14308e+07,2.159
FromCborChunkedString/10000 chunks,ns,88987.2,81634.2,1.090 FromCborChunkedString/10000 chunks,ns,89835.8,81350.8,1.104
FromMsgpack/canada,ns,1.39649e+07,4.41006e+06,3.167 FromMsgpack/canada,ns,1.41497e+07,4.42303e+06,3.199
FromMsgpack/citm_catalog,ns,8.78567e+06,2.21895e+06,3.959 FromMsgpack/citm_catalog,ns,8.88096e+06,2.25194e+06,3.944
FromMsgpack/floats,ns,5.87082e+07,2.73509e+07,2.146 FromMsgpack/floats,ns,5.92552e+07,2.76614e+07,2.142
FromMsgpack/jeopardy,ns,1.11544e+09,1.79233e+08,6.223 FromMsgpack/jeopardy,ns,1.13309e+09,1.82341e+08,6.214
FromMsgpack/signed_ints,ns,6.10619e+07,3.2097e+07,1.902 FromMsgpack/signed_ints,ns,6.22313e+07,3.28285e+07,1.896
FromMsgpack/small_signed_ints,ns,6.19196e+07,3.32392e+07,1.863 FromMsgpack/small_signed_ints,ns,6.26259e+07,3.37353e+07,1.856
FromMsgpack/twitter,ns,9.66391e+06,1.45284e+06,6.652 FromMsgpack/twitter,ns,9.78102e+06,1.47267e+06,6.642
FromMsgpack/unsigned_ints,ns,5.47021e+07,2.71662e+07,2.014 FromMsgpack/unsigned_ints,ns,5.55099e+07,2.76571e+07,2.007
"GetArray<std::array<int, 1000>>",ns,2212.9,629.827,3.513 "GetArray<std::array<int, 1000>>",ns,2231.77,639.734,3.489
GetArray<std::deque<int>>,ns,7971.54,1157.96,6.884 GetArray<std::deque<int>>,ns,8132.06,1161.87,6.999
GetArray<std::set<int>>,ns,57262.5,40671.2,1.408 GetArray<std::set<int>>,ns,58400.5,41782.2,1.398
GetArray<std::vector<int>>,ns,6546.87,657.105,9.963 GetArray<std::vector<int>>,ns,6658.53,666.403,9.992
GetMap/citm_catalog,ns,3.35706e+06,2.35562e+06,1.425 GetMap/citm_catalog,ns,3.41376e+06,2.3993e+06,1.423
GetVectorDouble/floats,ns,6.57437e+06,644146,10.206 GetVectorDouble/floats,ns,6.68224e+06,642457,10.401
GetVectorInt/signed_ints,ns,7.90848e+06,3.367e+06,2.349 GetVectorInt/signed_ints,ns,8.0387e+06,3.34843e+06,2.401
Iterate/canada,ns,859110,307802,2.791 Iterate/canada,ns,868241,320718,2.707
Iterate/citm_catalog,ns,293450,179462,1.635 Iterate/citm_catalog,ns,298022,167702,1.777
Iterate/twitter,ns,85889.4,61478.7,1.397 Iterate/twitter,ns,87014.5,62127.2,1.401
JsonPointerAt/citm_catalog,ns,1.80266e+06,1.10791e+06,1.627 JsonPointerAt/citm_catalog,ns,1.82891e+06,1.14298e+06,1.600
JsonPointerAt/twitter,ns,778445,582386,1.337 JsonPointerAt/twitter,ns,787985,594251,1.326
JsonPointerContains/citm_catalog,ns,2.6652e+06,1.24663e+06,2.138 JsonPointerContains/citm_catalog,ns,2.71277e+06,1.23364e+06,2.199
JsonPointerContains/twitter,ns,1.27254e+06,609697,2.087 JsonPointerContains/twitter,ns,1.29352e+06,608656,2.125
JsonPointerParse/citm_catalog,ns,5.60728e+06,2.16895e+06,2.585 JsonPointerParse/citm_catalog,ns,5.67308e+06,2.17151e+06,2.613
JsonPointerParse/twitter,ns,2.4042e+06,980041,2.453 JsonPointerParse/twitter,ns,2.41421e+06,1.00071e+06,2.413
JsonPointerToString/citm_catalog,ns,6.55559e+06,1.86437e+06,3.516 JsonPointerToString/citm_catalog,ns,6.62468e+06,1.87578e+06,3.532
JsonPointerToString/twitter,ns,2.14645e+06,794812,2.701 JsonPointerToString/twitter,ns,2.1792e+06,806356,2.703
ParseFILE/canada,ns,5.17963e+07,1.38332e+07,3.744 ParseFILE/canada,ns,5.23333e+07,1.38865e+07,3.769
ParseFILE/citm_catalog,ns,3.40359e+07,7.24926e+06,4.695 ParseFILE/citm_catalog,ns,3.4642e+07,7.34915e+06,4.714
ParseFILE/twitter,ns,1.33126e+07,3.28013e+06,4.059 ParseFILE/twitter,ns,1.35777e+07,3.3065e+06,4.106
ParseFile/canada,ns,1.72398e+07,6.19587e+06,2.782 ParseFile/canada,ns,1.74258e+07,6.136e+06,2.840
ParseFile/citm_catalog,ns,7.5903e+06,2.40464e+06,3.157 ParseFile/citm_catalog,ns,7.66744e+06,2.424e+06,3.163
ParseFile/floats,ns,1.26663e+08,4.7193e+07,2.684 ParseFile/floats,ns,1.275e+08,4.72331e+07,2.699
ParseFile/jeopardy,ns,3.19976e+08,1.55503e+08,2.058 ParseFile/jeopardy,ns,3.27525e+08,1.54786e+08,2.116
ParseFile/signed_ints,ns,1.23409e+08,4.4882e+07,2.750 ParseFile/signed_ints,ns,1.2488e+08,4.54429e+07,2.748
ParseFile/small_signed_ints,ns,6.22208e+07,3.25371e+07,1.912 ParseFile/small_signed_ints,ns,6.29991e+07,3.26251e+07,1.931
ParseFile/twitter,ns,3.28655e+06,1.33555e+06,2.461 ParseFile/twitter,ns,3.32202e+06,1.35873e+06,2.445
ParseFile/unsigned_ints,ns,1.19152e+08,4.60377e+07,2.588 ParseFile/unsigned_ints,ns,1.20673e+08,4.65984e+07,2.590
ParseIndented/canada / 4,ns,3.30986e+07,5.22169e+06,6.339 ParseIndented/canada / 4,ns,3.39369e+07,5.15262e+06,6.586
ParseIndented/citm_catalog / 4,ns,7.15038e+06,1.7594e+06,4.064 ParseIndented/citm_catalog / 4,ns,7.23096e+06,1.78365e+06,4.054
ParseIndented/jeopardy / 4,ns,3.29973e+08,1.30023e+08,2.538 ParseIndented/jeopardy / 4,ns,3.35238e+08,1.31409e+08,2.551
ParseIndented/twitter / 4,ns,3.5335e+06,1.09154e+06,3.237 ParseIndented/twitter / 4,ns,3.59342e+06,1.1224e+06,3.202
ParseStreamValues/ndjson,ns,6.99339e+06,3.69843e+06,1.891 ParseStreamValues/ndjson,ns,7.01242e+06,3.71441e+06,1.888
ParseStreamValues/numbers,ns,1.90457e+06,379668,5.016 ParseStreamValues/numbers,ns,1.89341e+06,380502,4.976
ParseString/canada,ns,1.48477e+07,4.48104e+06,3.313 ParseString/canada,ns,1.50855e+07,4.42155e+06,3.412
ParseString/citm_catalog,ns,7.16124e+06,1.75975e+06,4.069 ParseString/citm_catalog,ns,7.3013e+06,1.77547e+06,4.112
ParseString/floats,ns,1.17297e+08,2.86476e+07,4.094 ParseString/floats,ns,1.18738e+08,2.7604e+07,4.301
ParseString/jeopardy,ns,2.97063e+08,1.26706e+08,2.344 ParseString/jeopardy,ns,3.03339e+08,1.28463e+08,2.361
ParseString/signed_ints,ns,1.17796e+08,3.09958e+07,3.800 ParseString/signed_ints,ns,1.20073e+08,3.12419e+07,3.843
ParseString/small_signed_ints,ns,6.02349e+07,2.39599e+07,2.514 ParseString/small_signed_ints,ns,6.0595e+07,2.40917e+07,2.515
ParseString/twitter,ns,3.14349e+06,1.02653e+06,3.062 ParseString/twitter,ns,3.17558e+06,1.05133e+06,3.021
ParseString/unsigned_ints,ns,1.17123e+08,3.2164e+07,3.641 ParseString/unsigned_ints,ns,1.18614e+08,3.21863e+07,3.685
ParseStringOrdered/canada,ns,1.48701e+07,4.3728e+06,3.401 ParseStringOrdered/canada,ns,1.50775e+07,4.37102e+06,3.449
ParseStringOrdered/citm_catalog,ns,1.06565e+07,1.63405e+06,6.522 ParseStringOrdered/citm_catalog,ns,1.08507e+07,1.61676e+06,6.711
ParseStringOrdered/jeopardy,ns,3.55998e+08,1.09838e+08,3.241 ParseStringOrdered/jeopardy,ns,3.60997e+08,1.09757e+08,3.289
ParseStringOrdered/twitter,ns,4.29723e+06,903337,4.757 ParseStringOrdered/twitter,ns,4.35833e+06,906250,4.809
Patch/canada,ns,9.90601e+06,3.33316e+06,2.972 Patch/canada,ns,9.97854e+06,3.36623e+06,2.964
Patch/citm_catalog,ns,2.48566e+06,1.60436e+06,1.549 Patch/citm_catalog,ns,2.52632e+06,1.61385e+06,1.565
Patch/twitter,ns,1.44208e+06,846253,1.704 Patch/twitter,ns,1.45777e+06,850736,1.714
SaxParse/canada,ns,1.26629e+07,3.18268e+06,3.979 SaxParse/canada,ns,1.27867e+07,3.22211e+06,3.968
SaxParse/citm_catalog,ns,6.2984e+06,948233,6.642 SaxParse/citm_catalog,ns,6.40874e+06,983039,6.519
SaxParse/twitter,ns,2.43897e+06,470550,5.183 SaxParse/twitter,ns,2.47756e+06,477699,5.186
ToCbor/canada,ns,1.36093e+06,545893,2.493 ToCbor/canada,ns,1.37097e+06,545183,2.515
ToCbor/citm_catalog,ns,1.00658e+06,255966,3.932 ToCbor/citm_catalog,ns,1.02285e+06,256578,3.986
ToCbor/floats,ns,8.79386e+06,1.87553e+06,4.689 ToCbor/floats,ns,8.91388e+06,1.89274e+06,4.710
ToCbor/jeopardy,ns,7.08239e+07,2.11723e+07,3.345 ToCbor/jeopardy,ns,7.19583e+07,2.13225e+07,3.375
ToCbor/signed_ints,ns,1.1165e+07,2.74484e+06,4.068 ToCbor/signed_ints,ns,1.13095e+07,2.75682e+06,4.102
ToCbor/small_signed_ints,ns,1.00698e+07,2.36786e+06,4.253 ToCbor/small_signed_ints,ns,1.0181e+07,2.39796e+06,4.246
ToCbor/twitter,ns,625255,145380,4.301 ToCbor/twitter,ns,633945,141532,4.479
ToCbor/unsigned_ints,ns,7.91821e+06,2.74734e+06,2.882 ToCbor/unsigned_ints,ns,7.99728e+06,2.79118e+06,2.865
ToJsonStrings/copy,ns,5.77126e+06,5.52441e+06,1.045 ToJsonStrings/copy,ns,5.82015e+06,5.54332e+06,1.050
ToJsonStrings/move,ns,5.76994e+06,3.01734e+06,1.912 ToJsonStrings/move,ns,5.81645e+06,3.0241e+06,1.923
Unflatten/canada,ns,4.05029e+07,1.06882e+07,3.790 Unflatten/canada,ns,4.1091e+07,1.08224e+07,3.797
Unflatten/citm_catalog,ns,9.51644e+06,3.4248e+06,2.779 Unflatten/citm_catalog,ns,9.69933e+06,3.46205e+06,2.802
Unflatten/twitter,ns,4.46756e+06,2.07793e+06,2.150 Unflatten/twitter,ns,4.51774e+06,2.10929e+06,2.142
1 benchmark unit 3.12.0 3.13.0 speedup
2 Accept/canada ns 1.25437e+07 1.26911e+07 2.28713e+06 2.31896e+06 5.484 5.473
3 Accept/citm_catalog ns 6.28134e+06 6.38348e+06 902496 907300 6.960 7.036
4 Accept/floats ns 1.11964e+08 1.13021e+08 2.19716e+07 2.2302e+07 5.096 5.068
5 Accept/jeopardy ns 2.13142e+08 2.18859e+08 5.70288e+07 5.74875e+07 3.737 3.807
6 Accept/signed_ints ns 1.13451e+08 1.15082e+08 2.73564e+07 2.76628e+07 4.147 4.160
7 Accept/small_signed_ints ns 5.52119e+07 5.58745e+07 1.74636e+07 1.76566e+07 3.162 3.165
8 Accept/twitter ns 2.43682e+06 2.45895e+06 469197 474623 5.194 5.181
9 Accept/unsigned_ints ns 1.11739e+08 1.13737e+08 2.86842e+07 2.91215e+07 3.895 3.906
10 BinaryToCbor/1024 ns 290.559 303.306 104.43 101.854 2.782 2.978
11 BinaryToCbor/128 ns 244.736 247.228 114.39 115.274 2.139 2.145
12 BinaryToCbor/16 ns 241.729 239.518 48.5869 48.6796 4.975 4.920
13 BinaryToCbor/16384 ns 957.488 949.458 416.935 408.254 2.296 2.326
14 BinaryToCbor/2048 ns 314.999 320.309 123.874 119.299 2.543 2.685
15 BinaryToCbor/256 ns 263.753 265.095 89.8568 88.0809 2.935 3.010
16 BinaryToCbor/32 ns 247.99 249.054 49.3588 48.4924 5.024 5.136
17 BinaryToCbor/32768 ns 1544.84 1533.16 793.525 801.01 1.947 1.914
18 BinaryToCbor/4096 ns 398.772 412.14 169.158 169.413 2.357 2.433
19 BinaryToCbor/512 ns 290.128 289.358 100.637 97.2851 2.883 2.974
20 BinaryToCbor/64 ns 246.96 249.278 81.9565 83.8812 3.013 2.972
21 BinaryToCbor/8 ns 244.014 242.904 48.5667 48.4594 5.024 5.013
22 BinaryToCbor/8192 ns 507.276 511.492 249.019 247.585 2.037 2.066
23 Copy/canada ns 3.60259e+06 3.65404e+06 2.83774e+06 2.86994e+06 1.270 1.273
24 Copy/citm_catalog ns 1.59513e+06 1.62077e+06 1.43645e+06 1.45859e+06 1.110 1.111
25 Copy/twitter ns 791709 799004 718409 725731 1.102 1.101
26 CopyAssign/canada ns 3.634e+06 3.66694e+06 2.87724e+06 2.88365e+06 1.263 1.272
27 CopyAssign/citm_catalog ns 1.63849e+06 1.65324e+06 1.48508e+06 1.49021e+06 1.103 1.109
28 CopyAssign/twitter ns 798844 807988 735446 738979 1.086 1.093
29 CopyOnly/canada ns 1.51311e+06 1.51887e+06 1.49476e+06 1.50295e+06 1.012 1.011
30 CopyOnly/citm_catalog ns 732862 743278 782280 781882 0.937 0.951
31 CopyOnly/twitter ns 395055 400238 399033 403229 0.990 0.993
32 CopyRing/canada ns 3.63908e+06 3.68209e+06 2.87582e+06 2.88747e+06 1.265 1.275
33 CopyRing/citm_catalog ns 1.65988e+06 1.68855e+06 1.51282e+06 1.51116e+06 1.097 1.117
34 CopyRing/twitter ns 838112 849612 768418 769730 1.091 1.104
35 DestroyOnly/canada ns 2.10335e+06 2.12854e+06 1.35995e+06 1.37108e+06 1.547 1.552
36 DestroyOnly/citm_catalog ns 863782 875707 670455 674090 1.288 1.299
37 DestroyOnly/twitter ns 399273 401328 322030 322604 1.240 1.244
38 Diff/canada ns 3.74782e+07 3.81123e+07 3.6723e+06 3.68674e+06 10.206 10.338
39 Diff/citm_catalog ns 6.64514e+06 6.77551e+06 1.07377e+06 1.06847e+06 6.189 6.341
40 Diff/twitter ns 4.73628e+06 4.82656e+06 636708 639150 7.439 7.552
41 Dump/canada / - ns 6.62677e+06 6.6893e+06 2.25123e+06 2.28575e+06 2.944 2.927
42 Dump/canada / 4 ns 8.7042e+06 8.91301e+06 2.98066e+06 3.0094e+06 2.920 2.962
43 Dump/citm_catalog / - ns 1.35686e+06 1.38998e+06 290577 291064 4.670 4.776
44 Dump/citm_catalog / 4 ns 1.89401e+06 1.92209e+06 416756 414843 4.545 4.633
45 Dump/floats / - ns 6.22834e+07 6.31567e+07 2.32495e+07 2.35913e+07 2.679 2.677
46 Dump/floats / 4 ns 6.9976e+07 7.1106e+07 2.40924e+07 2.44198e+07 2.904 2.912
47 Dump/jeopardy / - ns 2.01307e+08 2.03467e+08 2.99214e+07 3.07362e+07 6.728 6.620
48 Dump/jeopardy / 4 ns 2.17598e+08 2.18712e+08 3.38669e+07 3.4619e+07 6.425 6.318
49 Dump/signed_ints / - ns 2.32472e+07 2.37468e+07 1.05121e+07 1.06034e+07 2.211 2.240
50 Dump/signed_ints / 4 ns 3.15119e+07 3.1988e+07 1.11146e+07 1.12253e+07 2.835 2.850
51 Dump/small_signed_ints / - ns 1.75381e+07 1.7782e+07 7.82657e+06 7.91902e+06 2.241 2.245
52 Dump/small_signed_ints / 4 ns 2.45965e+07 2.4964e+07 8.63097e+06 8.76268e+06 2.850 2.849
53 Dump/twitter / - ns 1.36561e+06 1.39069e+06 207090 208747 6.594 6.662
54 Dump/twitter / 4 ns 1.5516e+06 1.58219e+06 248517 246027 6.243 6.431
55 Dump/unsigned_ints / - ns 2.31468e+07 2.36168e+07 7.93578e+06 7.99718e+06 2.917 2.953
56 Dump/unsigned_ints / 4 ns 3.13424e+07 3.19304e+07 8.35542e+06 8.41574e+06 3.751 3.794
57 Equal/canada ns 450957 454099 332485 336428 1.356 1.350
58 Equal/citm_catalog ns 263408 265088 251937 254849 1.046 1.040
59 Equal/twitter ns 139223 140412 127010 127744 1.096 1.099
60 Flatten/canada ns 2.80443e+07 2.8443e+07 1.10177e+07 1.1054e+07 2.545 2.573
61 Flatten/citm_catalog ns 6.33655e+06 6.37309e+06 2.97021e+06 3.00071e+06 2.133 2.124
62 Flatten/twitter ns 3.44993e+06 3.47895e+06 2.00619e+06 2.04063e+06 1.720 1.705
63 FlattenOrdered/citm_catalog ns 2.49055e+08 2.51402e+08 1.37328e+06 1.38824e+06 181.357 181.094
64 FlattenOrdered/twitter ns 4.89423e+07 4.89453e+07 846377 860119 57.826 56.905
65 FromBinaryBuffer/bjdata / canada ns 8.12748e+06 8.21979e+06 4.08424e+06 4.07412e+06 1.990 2.018
66 FromBinaryBuffer/bjdata / twitter ns 3.07351e+06 3.11089e+06 948285 957789 3.241 3.248
67 FromBinaryBuffer/bjdata_optimized / canada ns 8.56879e+06 8.68489e+06 2.42618e+06 2.39853e+06 3.532 3.621
68 FromBinaryBuffer/bjdata_optimized / twitter ns 3.07745e+06 3.11963e+06 948044 952143 3.246 3.276
69 FromBinaryBuffer/bson / canada ns 9.31889e+06 9.42574e+06 4.25253e+06 4.20336e+06 2.191 2.242
70 FromBinaryBuffer/bson / citm_catalog ns 3.79713e+06 3.86254e+06 1.55174e+06 1.56165e+06 2.447 2.473
71 FromBinaryBuffer/bson / twitter ns 3.04829e+06 3.0653e+06 910005 923900 3.350 3.318
72 FromBinaryBuffer/cbor / canada ns 8.26527e+06 8.3425e+06 2.05962e+06 2.06207e+06 4.013 4.046
73 FromBinaryBuffer/cbor / citm_catalog ns 3.62891e+06 3.68456e+06 1.41833e+06 1.43886e+06 2.559 2.561
74 FromBinaryBuffer/cbor / floats ns 2.89846e+07 2.89541e+07 5.39328e+06 5.43061e+06 5.374 5.332
75 FromBinaryBuffer/cbor / jeopardy ns 3.54945e+08 3.5724e+08 1.1153e+08 1.12871e+08 3.183 3.165
76 FromBinaryBuffer/cbor / signed_ints ns 3.49713e+07 3.56166e+07 9.53001e+06 9.68737e+06 3.670 3.677
77 FromBinaryBuffer/cbor / twitter ns 3.0017e+06 3.03558e+06 942493 953772 3.185 3.183
78 FromBinaryBuffer/msgpack / canada ns 8.23088e+06 8.3272e+06 2.05409e+06 2.06449e+06 4.007 4.034
79 FromBinaryBuffer/msgpack / citm_catalog ns 3.67736e+06 3.68401e+06 1.396e+06 1.41095e+06 2.634 2.611
80 FromBinaryBuffer/msgpack / jeopardy ns 3.51715e+08 3.54505e+08 1.07205e+08 1.09031e+08 3.281 3.251
81 FromBinaryBuffer/msgpack / twitter ns 2.98346e+06 3.02687e+06 920736 934627 3.240 3.239
82 FromBinaryBuffer/ubjson / canada ns 8.14127e+06 8.23819e+06 4.10394e+06 4.08039e+06 1.984 2.019
83 FromBinaryBuffer/ubjson / citm_catalog ns 3.75785e+06 3.81107e+06 1.71291e+06 1.72436e+06 2.194 2.210
84 FromBinaryBuffer/ubjson / jeopardy ns 3.62566e+08 3.64419e+08 1.12043e+08 1.13389e+08 3.236 3.214
85 FromBinaryBuffer/ubjson / twitter ns 3.07643e+06 3.1103e+06 944874 957344 3.256 3.249
86 FromBinaryBuffer/ubjson_optimized / canada ns 8.38574e+06 8.48001e+06 2.37988e+06 2.36934e+06 3.524 3.579
87 FromBinaryBuffer/ubjson_optimized / twitter ns 3.08095e+06 3.10764e+06 943868 952334 3.264 3.263
88 FromBinaryFile/bjdata / twitter ns 1.0295e+07 1.03821e+07 1.89097e+06 1.90031e+06 5.444 5.463
89 FromBinaryFile/bson / twitter ns 9.94972e+06 1.01272e+07 1.76486e+06 1.80218e+06 5.638 5.619
90 FromBinaryFile/cbor / canada ns 1.39806e+07 1.41591e+07 4.39308e+06 4.41088e+06 3.182 3.210
91 FromBinaryFile/cbor / twitter ns 9.6646e+06 9.81686e+06 1.50859e+06 1.53188e+06 6.406 6.408
92 FromBinaryFile/ubjson / canada ns 1.34115e+07 1.36558e+07 6.19543e+06 6.313e+06 2.165 2.163
93 FromBinaryFile/ubjson / twitter ns 1.02157e+07 1.03653e+07 1.89016e+06 1.90283e+06 5.405 5.447
94 FromBinaryShape/containers / bjdata ns 1.40433e+07 1.41661e+07 6.96436e+06 7.16958e+06 2.016 1.976
95 FromBinaryShape/containers / bson ns 1.682e+07 1.69957e+07 7.55534e+06 7.73162e+06 2.226 2.198
96 FromBinaryShape/containers / cbor ns 1.35664e+07 1.37448e+07 3.8756e+06 3.88944e+06 3.500 3.534
97 FromBinaryShape/containers / msgpack ns 1.34934e+07 1.36707e+07 3.82406e+06 3.84073e+06 3.529 3.559
98 FromBinaryShape/containers / ubjson ns 1.40435e+07 1.41846e+07 6.9781e+06 7.17314e+06 2.013 1.977
99 FromBinaryShape/containers / ubjson_optimized ns 1.45774e+07 1.47508e+07 4.45098e+06 4.4236e+06 3.275 3.335
100 FromBinaryShape/nested / bjdata ns 94600.5 93440.7 37840.9 37989.3 2.500 2.460
101 FromBinaryShape/nested / bson ns 100509 99835.8 41429.8 42028.7 2.426 2.375
102 FromBinaryShape/nested / cbor ns 91972.7 92913.6 37251.6 35141.4 2.469 2.644
103 FromBinaryShape/nested / msgpack ns 90727.9 90678.9 36363.8 34607.5 2.495 2.620
104 FromBinaryShape/nested / ubjson ns 94469 93863.6 37882.2 38056.3 2.494 2.466
105 FromBinaryShape/scalars / bjdata ns 2.41514e+07 2.44312e+07 1.12078e+07 1.13593e+07 2.155 2.151
106 FromBinaryShape/scalars / cbor ns 2.5038e+07 2.54479e+07 5.53384e+06 5.6307e+06 4.525 4.519
107 FromBinaryShape/scalars / msgpack ns 2.40268e+07 2.42975e+07 5.47092e+06 5.5278e+06 4.392 4.396
108 FromBinaryShape/scalars / ubjson ns 2.44002e+07 2.46773e+07 1.14029e+07 1.14308e+07 2.140 2.159
109 FromCborChunkedString/10000 chunks ns 88987.2 89835.8 81634.2 81350.8 1.090 1.104
110 FromMsgpack/canada ns 1.39649e+07 1.41497e+07 4.41006e+06 4.42303e+06 3.167 3.199
111 FromMsgpack/citm_catalog ns 8.78567e+06 8.88096e+06 2.21895e+06 2.25194e+06 3.959 3.944
112 FromMsgpack/floats ns 5.87082e+07 5.92552e+07 2.73509e+07 2.76614e+07 2.146 2.142
113 FromMsgpack/jeopardy ns 1.11544e+09 1.13309e+09 1.79233e+08 1.82341e+08 6.223 6.214
114 FromMsgpack/signed_ints ns 6.10619e+07 6.22313e+07 3.2097e+07 3.28285e+07 1.902 1.896
115 FromMsgpack/small_signed_ints ns 6.19196e+07 6.26259e+07 3.32392e+07 3.37353e+07 1.863 1.856
116 FromMsgpack/twitter ns 9.66391e+06 9.78102e+06 1.45284e+06 1.47267e+06 6.652 6.642
117 FromMsgpack/unsigned_ints ns 5.47021e+07 5.55099e+07 2.71662e+07 2.76571e+07 2.014 2.007
118 GetArray<std::array<int, 1000>> ns 2212.9 2231.77 629.827 639.734 3.513 3.489
119 GetArray<std::deque<int>> ns 7971.54 8132.06 1157.96 1161.87 6.884 6.999
120 GetArray<std::set<int>> ns 57262.5 58400.5 40671.2 41782.2 1.408 1.398
121 GetArray<std::vector<int>> ns 6546.87 6658.53 657.105 666.403 9.963 9.992
122 GetMap/citm_catalog ns 3.35706e+06 3.41376e+06 2.35562e+06 2.3993e+06 1.425 1.423
123 GetVectorDouble/floats ns 6.57437e+06 6.68224e+06 644146 642457 10.206 10.401
124 GetVectorInt/signed_ints ns 7.90848e+06 8.0387e+06 3.367e+06 3.34843e+06 2.349 2.401
125 Iterate/canada ns 859110 868241 307802 320718 2.791 2.707
126 Iterate/citm_catalog ns 293450 298022 179462 167702 1.635 1.777
127 Iterate/twitter ns 85889.4 87014.5 61478.7 62127.2 1.397 1.401
128 JsonPointerAt/citm_catalog ns 1.80266e+06 1.82891e+06 1.10791e+06 1.14298e+06 1.627 1.600
129 JsonPointerAt/twitter ns 778445 787985 582386 594251 1.337 1.326
130 JsonPointerContains/citm_catalog ns 2.6652e+06 2.71277e+06 1.24663e+06 1.23364e+06 2.138 2.199
131 JsonPointerContains/twitter ns 1.27254e+06 1.29352e+06 609697 608656 2.087 2.125
132 JsonPointerParse/citm_catalog ns 5.60728e+06 5.67308e+06 2.16895e+06 2.17151e+06 2.585 2.613
133 JsonPointerParse/twitter ns 2.4042e+06 2.41421e+06 980041 1.00071e+06 2.453 2.413
134 JsonPointerToString/citm_catalog ns 6.55559e+06 6.62468e+06 1.86437e+06 1.87578e+06 3.516 3.532
135 JsonPointerToString/twitter ns 2.14645e+06 2.1792e+06 794812 806356 2.701 2.703
136 ParseFILE/canada ns 5.17963e+07 5.23333e+07 1.38332e+07 1.38865e+07 3.744 3.769
137 ParseFILE/citm_catalog ns 3.40359e+07 3.4642e+07 7.24926e+06 7.34915e+06 4.695 4.714
138 ParseFILE/twitter ns 1.33126e+07 1.35777e+07 3.28013e+06 3.3065e+06 4.059 4.106
139 ParseFile/canada ns 1.72398e+07 1.74258e+07 6.19587e+06 6.136e+06 2.782 2.840
140 ParseFile/citm_catalog ns 7.5903e+06 7.66744e+06 2.40464e+06 2.424e+06 3.157 3.163
141 ParseFile/floats ns 1.26663e+08 1.275e+08 4.7193e+07 4.72331e+07 2.684 2.699
142 ParseFile/jeopardy ns 3.19976e+08 3.27525e+08 1.55503e+08 1.54786e+08 2.058 2.116
143 ParseFile/signed_ints ns 1.23409e+08 1.2488e+08 4.4882e+07 4.54429e+07 2.750 2.748
144 ParseFile/small_signed_ints ns 6.22208e+07 6.29991e+07 3.25371e+07 3.26251e+07 1.912 1.931
145 ParseFile/twitter ns 3.28655e+06 3.32202e+06 1.33555e+06 1.35873e+06 2.461 2.445
146 ParseFile/unsigned_ints ns 1.19152e+08 1.20673e+08 4.60377e+07 4.65984e+07 2.588 2.590
147 ParseIndented/canada / 4 ns 3.30986e+07 3.39369e+07 5.22169e+06 5.15262e+06 6.339 6.586
148 ParseIndented/citm_catalog / 4 ns 7.15038e+06 7.23096e+06 1.7594e+06 1.78365e+06 4.064 4.054
149 ParseIndented/jeopardy / 4 ns 3.29973e+08 3.35238e+08 1.30023e+08 1.31409e+08 2.538 2.551
150 ParseIndented/twitter / 4 ns 3.5335e+06 3.59342e+06 1.09154e+06 1.1224e+06 3.237 3.202
151 ParseStreamValues/ndjson ns 6.99339e+06 7.01242e+06 3.69843e+06 3.71441e+06 1.891 1.888
152 ParseStreamValues/numbers ns 1.90457e+06 1.89341e+06 379668 380502 5.016 4.976
153 ParseString/canada ns 1.48477e+07 1.50855e+07 4.48104e+06 4.42155e+06 3.313 3.412
154 ParseString/citm_catalog ns 7.16124e+06 7.3013e+06 1.75975e+06 1.77547e+06 4.069 4.112
155 ParseString/floats ns 1.17297e+08 1.18738e+08 2.86476e+07 2.7604e+07 4.094 4.301
156 ParseString/jeopardy ns 2.97063e+08 3.03339e+08 1.26706e+08 1.28463e+08 2.344 2.361
157 ParseString/signed_ints ns 1.17796e+08 1.20073e+08 3.09958e+07 3.12419e+07 3.800 3.843
158 ParseString/small_signed_ints ns 6.02349e+07 6.0595e+07 2.39599e+07 2.40917e+07 2.514 2.515
159 ParseString/twitter ns 3.14349e+06 3.17558e+06 1.02653e+06 1.05133e+06 3.062 3.021
160 ParseString/unsigned_ints ns 1.17123e+08 1.18614e+08 3.2164e+07 3.21863e+07 3.641 3.685
161 ParseStringOrdered/canada ns 1.48701e+07 1.50775e+07 4.3728e+06 4.37102e+06 3.401 3.449
162 ParseStringOrdered/citm_catalog ns 1.06565e+07 1.08507e+07 1.63405e+06 1.61676e+06 6.522 6.711
163 ParseStringOrdered/jeopardy ns 3.55998e+08 3.60997e+08 1.09838e+08 1.09757e+08 3.241 3.289
164 ParseStringOrdered/twitter ns 4.29723e+06 4.35833e+06 903337 906250 4.757 4.809
165 Patch/canada ns 9.90601e+06 9.97854e+06 3.33316e+06 3.36623e+06 2.972 2.964
166 Patch/citm_catalog ns 2.48566e+06 2.52632e+06 1.60436e+06 1.61385e+06 1.549 1.565
167 Patch/twitter ns 1.44208e+06 1.45777e+06 846253 850736 1.704 1.714
168 SaxParse/canada ns 1.26629e+07 1.27867e+07 3.18268e+06 3.22211e+06 3.979 3.968
169 SaxParse/citm_catalog ns 6.2984e+06 6.40874e+06 948233 983039 6.642 6.519
170 SaxParse/twitter ns 2.43897e+06 2.47756e+06 470550 477699 5.183 5.186
171 ToCbor/canada ns 1.36093e+06 1.37097e+06 545893 545183 2.493 2.515
172 ToCbor/citm_catalog ns 1.00658e+06 1.02285e+06 255966 256578 3.932 3.986
173 ToCbor/floats ns 8.79386e+06 8.91388e+06 1.87553e+06 1.89274e+06 4.689 4.710
174 ToCbor/jeopardy ns 7.08239e+07 7.19583e+07 2.11723e+07 2.13225e+07 3.345 3.375
175 ToCbor/signed_ints ns 1.1165e+07 1.13095e+07 2.74484e+06 2.75682e+06 4.068 4.102
176 ToCbor/small_signed_ints ns 1.00698e+07 1.0181e+07 2.36786e+06 2.39796e+06 4.253 4.246
177 ToCbor/twitter ns 625255 633945 145380 141532 4.301 4.479
178 ToCbor/unsigned_ints ns 7.91821e+06 7.99728e+06 2.74734e+06 2.79118e+06 2.882 2.865
179 ToJsonStrings/copy ns 5.77126e+06 5.82015e+06 5.52441e+06 5.54332e+06 1.045 1.050
180 ToJsonStrings/move ns 5.76994e+06 5.81645e+06 3.01734e+06 3.0241e+06 1.912 1.923
181 Unflatten/canada ns 4.05029e+07 4.1091e+07 1.06882e+07 1.08224e+07 3.790 3.797
182 Unflatten/citm_catalog ns 9.51644e+06 9.69933e+06 3.4248e+06 3.46205e+06 2.779 2.802
183 Unflatten/twitter ns 4.46756e+06 4.51774e+06 2.07793e+06 2.10929e+06 2.150 2.142
@@ -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,1378.171,2455.459,6104.495,2322.256,1708.449,478.518,213.396,288.204,2276.700,422.782,1304.925,138.585,1429.984,1718.802,176.236,363.908,983.595 316,candidate,,,develop + open pull requests,1372.590,2427.358,6109.560,2302.737,1710.146,479.478,211.001,288.697,2298.316,416.541,1311.621,139.627,1439.814,1711.536,177.113,365.393,979.186
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 1378.171 1372.590 2455.459 2427.358 6104.495 6109.560 2322.256 2302.737 1708.449 1710.146 478.518 479.478 213.396 211.001 288.204 288.697 2276.700 2298.316 422.782 416.541 1304.925 1311.621 138.585 139.627 1429.984 1439.814 1718.802 1711.536 176.236 177.113 363.908 365.393 983.595 979.186
+24 -24
View File
@@ -201,24 +201,24 @@ def digits():
# ---------- 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.06), ("Parsing", "twitter.json", 3.02),
("Parsing", "citm_catalog.json", 4.07), ("Parsing", "citm_catalog.json", 4.11),
("Parsing", "canada.json", 3.31), ("Parsing", "canada.json", 3.41),
("Parsing", "canada.json, indented", 6.34), ("Parsing", "canada.json, indented", 6.59),
("Parsing", "citm, ordered_json", 6.52), ("Parsing", "citm, ordered_json", 6.71),
("Parsing", "twitter, std::ifstream", 2.46), ("Parsing", "twitter, std::ifstream", 2.44),
("Parsing", "citm, FILE*", 4.70), ("Parsing", "citm, FILE*", 4.71),
("Parsing", "citm, accept()", 6.96), ("Parsing", "citm, accept()", 7.04),
("Writing", "dump() twitter", 6.59), ("Writing", "dump() twitter", 6.66),
("Writing", "dump() canada", 2.94), ("Writing", "dump() canada", 2.93),
("Writing", "dump(4) citm", 4.54), ("Writing", "dump(4) citm", 4.63),
("Writing", "to_cbor() twitter", 4.30), ("Writing", "to_cbor() twitter", 4.48),
("Reading CBOR", "twitter, memory", 3.19), ("Reading CBOR", "twitter, memory", 3.18),
("Reading CBOR", "twitter, FILE*", 6.41), ("Reading CBOR", "twitter, FILE*", 6.41),
("Values", "diff() canada", 10.21), ("Values", "diff() canada", 10.34),
("Values", "iterate canada", 2.79), ("Values", "iterate canada", 2.71),
("Values", "copy + destroy citm", 1.11), ("Values", "copy + destroy citm", 1.11),
("Values", "== citm", 1.05), ("Values", "== citm", 1.04),
] ]
@@ -396,15 +396,15 @@ def timeline():
# ---------- cliffs: 3.12.0 and 3.13.0 times on a log axis ---------- # ---------- cliffs: 3.12.0 and 3.13.0 times on a log axis ----------
# (operation, 3.12.0 ms, 3.13.0 ms), copied from the table in "Fix the algorithm first" # (operation, 3.12.0 ms, 3.13.0 ms), copied from the table in "Fix the algorithm first"
CLIFFS = [ CLIFFS = [
("diff() 64k numbers vs []", 4113, 10.1), ("diff() 64k numbers vs []", 4140, 10.5),
("diff() 20k objects vs half", 119, 3.90), ("diff() 20k objects vs half", 119, 3.99),
("parse() callback, 32k objects", 1363, 11.5), ("parse() callback, 32k objects", 1361, 12.1),
("operator< nested 24 deep", 63.7, 0.002), ("operator< nested 24 deep", 64.0, 0.002),
("operator< citm, 10x", 274, 3.83), ("operator< citm, 10x", 278, 3.86),
("flatten() citm, ordered_json", 253, 1.37), ("flatten() citm, ordered_json", 253, 1.37),
("to_bson() 200 deep, 100x", 19.8, 0.352), ("to_bson() 200 deep, 100x", 19.9, 0.349),
("push_back() 100k, diagnostics", 1541, 5.11), ("push_back() 100k, diagnostics", 1532, 5.04),
("at(i) 10k, diagnostics", 44.0, 0.084), ("at(i) 10k, diagnostics", 43.6, 0.081),
] ]