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

Suite, timeline endpoint, Appendix D and the scalar-run numbers now come from
develop b2674a4a2f with #5990, #5991, #5992, #5996, #5997, #5998, #5999 and
#6000 merged. The scalar runs are measured against a build without them on
develop's code, which no longer checks for a scalar before entering the loop.

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
This commit is contained in:
Niels Lohmann committed 2026-11-02 04:49:54 +01:00
1 parent c321ee0d2a
commit 364815bedc
15 files changed
+514 -513

No files matched your search

@@ -5,9 +5,10 @@
<!-- Before publishing: set the date to the release date, and measure every number of this post again with the
v3.13.0 tag (Appendix G describes the setup; tests/benchmarks/json_view/others/README.md has the commands of the
comparison). Also refresh the line counts and the compile times in "The price". The numbers below are from
develop 9c349b1d7c with all open non-draft pull requests merged (local branch local/all-prs-1031 at a5db587a37):
comparison with other libraries 10-31 (before 2ddee130c9 on #5976, which changes only the binary readers),
suite and timeline endpoint 11-01. -->
develop b2674a4a2f with the open non-draft pull requests #5990, #5991, #5992, #5996, #5997, #5998, #5999 and
#6000 merged (local branch local/all-prs-1101 at 71d735b73f): suite, timeline endpoint, Appendix D and the scalar
runs 11-02. The comparison with other libraries is from 10-31 (develop 9c349b1d7c with the then open pull
requests); the changes since don't touch json_document parsing, validation or dump(). -->
Since 2016, the [README](https://github.com/nlohmann/json#readme) of this library has said this about speed:
@@ -61,7 +62,7 @@ The rows above are chosen to show the range. All 182 benchmarks of the suite:
--8<-- "images/perf_blog_distribution.svg"
</div>
<p class="nj-caption" markdown>How many of the suite's 182 benchmarks got how much faster. The one below 1× is copying `citm_catalog.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
gains come from fixing algorithms rather than tuning them (theme <a class="nj-theme" href="#theme-7" title="theme 7">7</a>).
@@ -686,8 +687,8 @@ with GCC.
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
readers do the same for arrays with a type marker. Reading an array of a million integers from CBOR or MessagePack
got 40 to 45 % faster, and `canada.json` 7 to 9 %. The loop is not free: an array of 100,000 arrays `[1,2]` reads 2 to
3 % slower than without it, just because the loop's code is there. We kept it.
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
8 % slower than without it, because each of them enters the loop only to find another array. We kept it.
### Smaller ones
@@ -1053,7 +1054,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`
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
1.26 to 1.57 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.37 times.
## <span class="nj-theme">8</span> Build a different data structure { #theme-8 }
@@ -1484,24 +1485,24 @@ The rows of the first chart:
| workload | 3.12.0 | 3.13.0 | speedup |
| --- | --: | --: | --: |
| `json::parse()` of `twitter.json` | 3.18 ms | 1.03 ms | 3.1× |
| `json::parse()` of `citm_catalog.json` | 7.26 ms | 1.73 ms | 4.2× |
| `json::parse()` of `canada.json` | 15.0 ms | 4.36 ms | 3.4× |
| `json::parse()` of `canada.json`, indented by 4 spaces | 33.1 ms | 5.04 ms | 6.6× |
| `ordered_json::parse()` of `citm_catalog.json` | 10.8 ms | 1.61 ms | 6.7× |
| `json::parse()` of `twitter.json` from an `std::ifstream` | 3.28 ms | 1.34 ms | 2.4× |
| `json::parse()` of `citm_catalog.json` from a `FILE*` | 34.3 ms | 7.26 ms | 4.7× |
| `json::accept()` of `citm_catalog.json` | 6.27 ms | 0.822 ms | 7.6× |
| `dump()` of `twitter.json` | 1.38 ms | 0.206 ms | 6.7× |
| `dump()` of `canada.json` | 6.59 ms | 2.26 ms | 2.9× |
| `dump(4)` of `citm_catalog.json` | 1.90 ms | 0.413 ms | 4.6× |
| `to_cbor()` of `twitter.json` | 0.632 ms | 0.141 ms | 4.5× |
| `from_cbor()` of `twitter.json` from memory | 3.03 ms | 0.938 ms | 3.2× |
| `from_cbor()` of `twitter.json` from a `FILE*` | 9.77 ms | 1.50 ms | 6.5× |
| `diff()` of `canada.json` with every eighth scalar changed | 37.9 ms | 3.64 ms | 10.4× |
| iterating over every value of `canada.json` | 0.863 ms | 0.320 ms | 2.7× |
| copying `citm_catalog.json` and destroying the copy | 1.61 ms | 1.44 ms | 1.11× |
| `==` of `citm_catalog.json` and a copy | 0.267 ms | 0.250 ms | 1.07× |
| `json::parse()` of `twitter.json` | 3.14 ms | 1.03 ms | 3.1× |
| `json::parse()` of `citm_catalog.json` | 7.16 ms | 1.76 ms | 4.1× |
| `json::parse()` of `canada.json` | 14.8 ms | 4.48 ms | 3.3× |
| `json::parse()` of `canada.json`, indented by 4 spaces | 33.1 ms | 5.22 ms | 6.3× |
| `ordered_json::parse()` of `citm_catalog.json` | 10.7 ms | 1.63 ms | 6.5× |
| `json::parse()` of `twitter.json` from an `std::ifstream` | 3.29 ms | 1.34 ms | 2.5× |
| `json::parse()` of `citm_catalog.json` from a `FILE*` | 34.0 ms | 7.25 ms | 4.7× |
| `json::accept()` of `citm_catalog.json` | 6.28 ms | 0.902 ms | 7.0× |
| `dump()` of `twitter.json` | 1.37 ms | 0.207 ms | 6.6× |
| `dump()` of `canada.json` | 6.63 ms | 2.25 ms | 2.9× |
| `dump(4)` of `citm_catalog.json` | 1.89 ms | 0.417 ms | 4.5× |
| `to_cbor()` of `twitter.json` | 0.625 ms | 0.145 ms | 4.3× |
| `from_cbor()` of `twitter.json` from memory | 3.00 ms | 0.942 ms | 3.2× |
| `from_cbor()` of `twitter.json` from a `FILE*` | 9.66 ms | 1.51 ms | 6.4× |
| `diff()` of `canada.json` with every eighth scalar changed | 37.5 ms | 3.67 ms | 10.2× |
| iterating over every value of `canada.json` | 0.859 ms | 0.308 ms | 2.8× |
| copying `citm_catalog.json` and destroying the copy | 1.60 ms | 1.44 ms | 1.11× |
| `==` of `citm_catalog.json` and a copy | 0.263 ms | 0.252 ms | 1.05× |
<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>
@@ -1509,188 +1510,188 @@ The rows of the first chart:
| benchmark | 3.12.0 | 3.13.0 | speedup |
| --- | --: | --: | --: |
| `Accept/canada` | 12.7 ms | 2.26 ms | 5.61× |
| `Accept/citm_catalog` | 6.27 ms | 822 µs | 7.63× |
| `Accept/floats` | 113 ms | 24 ms | 4.70× |
| `Accept/jeopardy` | 218 ms | 55.8 ms | 3.90× |
| `Accept/signed_ints` | 113 ms | 28.6 ms | 3.95× |
| `Accept/small_signed_ints` | 55.5 ms | 18.8 ms | 2.95× |
| `Accept/twitter` | 2.44 ms | 474 µs | 5.15× |
| `Accept/unsigned_ints` | 113 ms | 27.5 ms | 4.13× |
| `BinaryToCbor/1024` | 297 ns | 99.6 ns | 2.99× |
| `BinaryToCbor/128` | 248 ns | 112 ns | 2.23× |
| `BinaryToCbor/16384` | 973 ns | 399 ns | 2.44× |
| `BinaryToCbor/16` | 243 ns | 47.8 ns | 5.08× |
| `BinaryToCbor/2048` | 320 ns | 118 ns | 2.70× |
| `BinaryToCbor/256` | 266 ns | 87.3 ns | 3.05× |
| `BinaryToCbor/32768` | 1.56 µs | 801 ns | 1.94× |
| `BinaryToCbor/32` | 248 ns | 48.5 ns | 5.12× |
| `BinaryToCbor/4096` | 396 ns | 163 ns | 2.44× |
| `BinaryToCbor/512` | 286 ns | 96.1 ns | 2.97× |
| `BinaryToCbor/64` | 250 ns | 81.9 ns | 3.06× |
| `BinaryToCbor/8192` | 504 ns | 244 ns | 2.07× |
| `BinaryToCbor/8` | 244 ns | 47.3 ns | 5.16× |
| `Copy/canada` | 3.63 ms | 2.82 ms | 1.29× |
| `Copy/citm_catalog` | 1.61 ms | 1.44 ms | 1.11× |
| `Copy/twitter` | 795 µs | 713 µs | 1.12× |
| `CopyAssign/canada` | 3.67 ms | 2.84 ms | 1.29× |
| `CopyAssign/citm_catalog` | 1.62 ms | 1.47 ms | 1.11× |
| `CopyAssign/twitter` | 797 µs | 724 µs | 1.10× |
| `CopyOnly/canada` | 1.51 ms | 1.48 ms | 1.02× |
| `CopyOnly/citm_catalog` | 736 µs | 779 µs | 0.94× |
| `CopyOnly/twitter` | 396 µs | 394 µs | 1.00× |
| `CopyRing/canada` | 3.66 ms | 2.88 ms | 1.27× |
| `CopyRing/citm_catalog` | 1.67 ms | 1.49 ms | 1.12× |
| `CopyRing/twitter` | 852 µs | 758 µs | 1.12× |
| `DestroyOnly/canada` | 2.11 ms | 1.35 ms | 1.57× |
| `DestroyOnly/citm_catalog` | 878 µs | 665 µs | 1.32× |
| `DestroyOnly/twitter` | 401 µs | 318 µs | 1.26× |
| `Diff/canada` | 37.9 ms | 3.64 ms | 10.4× |
| `Diff/citm_catalog` | 6.67 ms | 1.06 ms | 6.27× |
| `Diff/twitter` | 4.78 ms | 626 µs | 7.64× |
| `Dump/canada / -` | 6.59 ms | 2.26 ms | 2.92× |
| `Dump/canada / 4` | 8.74 ms | 2.98 ms | 2.94× |
| `Dump/citm_catalog / -` | 1.36 ms | 289 µs | 4.73× |
| `Dump/citm_catalog / 4` | 1.9 ms | 413 µs | 4.59× |
| `Dump/floats / -` | 62 ms | 23.3 ms | 2.66× |
| `Dump/floats / 4` | 70 ms | 24.3 ms | 2.88× |
| `Dump/jeopardy / -` | 199 ms | 30 ms | 6.62× |
| `Dump/jeopardy / 4` | 218 ms | 34.2 ms | 6.37× |
| `Dump/signed_ints / -` | 23.5 ms | 10.4 ms | 2.25× |
| `Dump/signed_ints / 4` | 31.5 ms | 11 ms | 2.85× |
| `Dump/small_signed_ints / -` | 17.5 ms | 7.78 ms | 2.25× |
| `Dump/small_signed_ints / 4` | 24.6 ms | 8.6 ms | 2.86× |
| `Dump/twitter / -` | 1.38 ms | 206 µs | 6.69× |
| `Dump/twitter / 4` | 1.55 ms | 245 µs | 6.32× |
| `Dump/unsigned_ints / -` | 23.2 ms | 7.89 ms | 2.94× |
| `Dump/unsigned_ints / 4` | 31.3 ms | 8.37 ms | 3.75× |
| `Equal/canada` | 453 µs | 327 µs | 1.39× |
| `Equal/citm_catalog` | 267 µs | 250 µs | 1.07× |
| `Equal/twitter` | 140 µs | 126 µs | 1.11× |
| `Flatten/canada` | 28.2 ms | 10.9 ms | 2.59× |
| `Flatten/citm_catalog` | 6.31 ms | 3.01 ms | 2.10× |
| `Flatten/twitter` | 3.47 ms | 2.01 ms | 1.73× |
| `FlattenOrdered/citm_catalog` | 251 ms | 1.37 ms | 183× |
| `FlattenOrdered/twitter` | 48 ms | 846 µs | 56.8× |
| `FromBinaryBuffer/bjdata / canada` | 8.07 ms | 4.09 ms | 1.97× |
| `FromBinaryBuffer/bjdata / twitter` | 3.1 ms | 945 µs | 3.28× |
| `FromBinaryBuffer/bjdata_optimized / canada` | 8.56 ms | 2.4 ms | 3.56× |
| `FromBinaryBuffer/bjdata_optimized / twitter` | 3.08 ms | 942 µs | 3.27× |
| `FromBinaryBuffer/bson / canada` | 9.21 ms | 4.26 ms | 2.16× |
| `FromBinaryBuffer/bson / citm_catalog` | 3.84 ms | 1.59 ms | 2.41× |
| `FromBinaryBuffer/bson / twitter` | 3.05 ms | 914 µs | 3.34× |
| `FromBinaryBuffer/cbor / canada` | 8.25 ms | 2.1 ms | 3.93× |
| `FromBinaryBuffer/cbor / citm_catalog` | 3.67 ms | 1.41 ms | 2.61× |
| `FromBinaryBuffer/cbor / floats` | 28.8 ms | 5.54 ms | 5.20× |
| `FromBinaryBuffer/cbor / jeopardy` | 355 ms | 112 ms | 3.16× |
| `FromBinaryBuffer/cbor / signed_ints` | 35.1 ms | 10.6 ms | 3.30× |
| `FromBinaryBuffer/cbor / twitter` | 3.03 ms | 938 µs | 3.23× |
| `FromBinaryBuffer/msgpack / canada` | 8.19 ms | 2.11 ms | 3.89× |
| `FromBinaryBuffer/msgpack / citm_catalog` | 3.69 ms | 1.39 ms | 2.66× |
| `FromBinaryBuffer/msgpack / jeopardy` | 349 ms | 108 ms | 3.24× |
| `FromBinaryBuffer/msgpack / twitter` | 3 ms | 919 µs | 3.27× |
| `FromBinaryBuffer/ubjson / canada` | 8.08 ms | 4.1 ms | 1.97× |
| `FromBinaryBuffer/ubjson / citm_catalog` | 3.81 ms | 1.74 ms | 2.20× |
| `FromBinaryBuffer/ubjson / jeopardy` | 368 ms | 113 ms | 3.25× |
| `FromBinaryBuffer/ubjson / twitter` | 3.11 ms | 949 µs | 3.28× |
| `FromBinaryBuffer/ubjson_optimized / canada` | 8.35 ms | 2.37 ms | 3.53× |
| `FromBinaryBuffer/ubjson_optimized / twitter` | 3.06 ms | 939 µs | 3.26× |
| `FromBinaryFile/bjdata / twitter` | 10.2 ms | 1.88 ms | 5.40× |
| `FromBinaryFile/bson / twitter` | 10 ms | 1.75 ms | 5.73× |
| `FromBinaryFile/cbor / canada` | 14.1 ms | 4.34 ms | 3.24× |
| `FromBinaryFile/cbor / twitter` | 9.77 ms | 1.5 ms | 6.50× |
| `FromBinaryFile/ubjson / canada` | 13.4 ms | 6.25 ms | 2.14× |
| `FromBinaryFile/ubjson / twitter` | 10.3 ms | 1.89 ms | 5.45× |
| `FromBinaryShape/containers / bjdata` | 14 ms | 6.98 ms | 2.00× |
| `FromBinaryShape/containers / bson` | 16.7 ms | 7.58 ms | 2.20× |
| `FromBinaryShape/containers / cbor` | 13.8 ms | 3.93 ms | 3.51× |
| `FromBinaryShape/containers / msgpack` | 13.7 ms | 3.87 ms | 3.53× |
| `FromBinaryShape/containers / ubjson_optimized` | 14.5 ms | 4.44 ms | 3.27× |
| `FromBinaryShape/containers / ubjson` | 13.9 ms | 6.95 ms | 2.00× |
| `FromBinaryShape/nested / bjdata` | 94.7 µs | 37.6 µs | 2.52× |
| `FromBinaryShape/nested / bson` | 101 µs | 41.8 µs | 2.41× |
| `FromBinaryShape/nested / cbor` | 92.5 µs | 35.3 µs | 2.62× |
| `FromBinaryShape/nested / msgpack` | 91.1 µs | 34.8 µs | 2.62× |
| `FromBinaryShape/nested / ubjson` | 93.7 µs | 37.6 µs | 2.50× |
| `FromBinaryShape/scalars / bjdata` | 24.2 ms | 11.2 ms | 2.16× |
| `FromBinaryShape/scalars / cbor` | 25.4 ms | 5.77 ms | 4.39× |
| `FromBinaryShape/scalars / msgpack` | 24.1 ms | 5.7 ms | 4.22× |
| `FromBinaryShape/scalars / ubjson` | 24.4 ms | 11.2 ms | 2.17× |
| `FromCborChunkedString/10000 chunks` | 89.8 µs | 81.1 µs | 1.11× |
| `FromMsgpack/canada` | 13.9 ms | 4.36 ms | 3.19× |
| `FromMsgpack/citm_catalog` | 8.78 ms | 2.19 ms | 4.01× |
| `FromMsgpack/floats` | 58.9 ms | 27.2 ms | 2.17× |
| `FromMsgpack/jeopardy` | 1,120 ms | 179 ms | 6.26× |
| `FromMsgpack/signed_ints` | 61.9 ms | 31.9 ms | 1.94× |
| `FromMsgpack/small_signed_ints` | 61.7 ms | 33.3 ms | 1.86× |
| `FromMsgpack/twitter` | 9.71 ms | 1.43 ms | 6.78× |
| `FromMsgpack/unsigned_ints` | 54.7 ms | 27.4 ms | 2.00× |
| `GetArray<std::array<int, 1000>>` | 2.23 µs | 629 ns | 3.54× |
| `GetArray<std::deque<int>>` | 7.99 µs | 1.15 µs | 6.92× |
| `GetArray<std::set<int>>` | 58.3 µs | 41 µs | 1.42× |
| `GetArray<std::vector<int>>` | 6.58 µs | 655 ns | 10.1× |
| `GetMap/citm_catalog` | 3.38 ms | 2.38 ms | 1.42× |
| `GetVectorDouble/floats` | 6.56 ms | 638 µs | 10.3× |
| `GetVectorInt/signed_ints` | 7.93 ms | 3.37 ms | 2.36× |
| `Iterate/canada` | 863 µs | 320 µs | 2.70× |
| `Iterate/citm_catalog` | 295 µs | 165 µs | 1.79× |
| `Iterate/twitter` | 86.2 µs | 62 µs | 1.39× |
| `JsonPointerAt/citm_catalog` | 1.8 ms | 1.11 ms | 1.62× |
| `JsonPointerAt/twitter` | 783 µs | 578 µs | 1.36× |
| `JsonPointerContains/citm_catalog` | 2.68 ms | 1.21 ms | 2.21× |
| `JsonPointerContains/twitter` | 1.28 ms | 601 µs | 2.12× |
| `JsonPointerParse/citm_catalog` | 5.63 ms | 2.15 ms | 2.62× |
| `JsonPointerParse/twitter` | 2.42 ms | 982 µs | 2.46× |
| `JsonPointerToString/citm_catalog` | 6.61 ms | 1.86 ms | 3.56× |
| `JsonPointerToString/twitter` | 2.17 ms | 790 µs | 2.74× |
| `ParseFILE/canada` | 52.1 ms | 13.9 ms | 3.76× |
| `ParseFILE/citm_catalog` | 34.3 ms | 7.26 ms | 4.72× |
| `ParseFILE/twitter` | 13.4 ms | 3.26 ms | 4.09× |
| `ParseFile/canada` | 17.2 ms | 6.08 ms | 2.84× |
| `ParseFile/citm_catalog` | 7.65 ms | 2.39 ms | 3.21× |
| `ParseFile/floats` | 127 ms | 47.1 ms | 2.70× |
| `ParseFile/jeopardy` | 325 ms | 158 ms | 2.05× |
| `ParseFile/signed_ints` | 124 ms | 45.8 ms | 2.71× |
| `ParseFile/small_signed_ints` | 62.9 ms | 31.6 ms | 1.99× |
| `ParseFile/twitter` | 3.28 ms | 1.34 ms | 2.44× |
| `ParseFile/unsigned_ints` | 120 ms | 44 ms | 2.73× |
| `ParseIndented/canada / 4` | 33.1 ms | 5.04 ms | 6.57× |
| `ParseIndented/citm_catalog / 4` | 7.12 ms | 1.74 ms | 4.09× |
| `ParseIndented/jeopardy / 4` | 333 ms | 129 ms | 2.58× |
| `ParseIndented/twitter / 4` | 3.57 ms | 1.09 ms | 3.27× |
| `ParseStreamValues/ndjson` | 6.97 ms | 3.71 ms | 1.88× |
| `ParseStreamValues/numbers` | 1.9 ms | 374 µs | 5.07× |
| `ParseString/canada` | 15 ms | 4.36 ms | 3.45× |
| `ParseString/citm_catalog` | 7.26 ms | 1.73 ms | 4.19× |
| `ParseString/floats` | 117 ms | 30.3 ms | 3.86× |
| `ParseString/jeopardy` | 305 ms | 128 ms | 2.38× |
| `ParseString/signed_ints` | 119 ms | 31.6 ms | 3.76× |
| `ParseString/small_signed_ints` | 59.7 ms | 22 ms | 2.71× |
| `ParseString/twitter` | 3.18 ms | 1.03 ms | 3.10× |
| `ParseString/unsigned_ints` | 118 ms | 30.4 ms | 3.89× |
| `ParseStringOrdered/canada` | 15.2 ms | 4.31 ms | 3.53× |
| `ParseStringOrdered/citm_catalog` | 10.8 ms | 1.61 ms | 6.67× |
| `ParseStringOrdered/jeopardy` | 358 ms | 110 ms | 3.26× |
| `ParseStringOrdered/twitter` | 4.34 ms | 898 µs | 4.83× |
| `Patch/canada` | 9.89 ms | 3.31 ms | 2.99× |
| `Patch/citm_catalog` | 2.5 ms | 1.59 ms | 1.57× |
| `Patch/twitter` | 1.45 ms | 841 µs | 1.72× |
| `SaxParse/canada` | 12.8 ms | 3.21 ms | 3.99× |
| `SaxParse/citm_catalog` | 6.33 ms | 948 µs | 6.68× |
| `SaxParse/twitter` | 2.47 ms | 467 µs | 5.29× |
| `ToCbor/canada` | 1.36 ms | 547 µs | 2.49× |
| `ToCbor/citm_catalog` | 1.02 ms | 255 µs | 3.99× |
| `ToCbor/floats` | 8.88 ms | 1.88 ms | 4.71× |
| `ToCbor/jeopardy` | 71 ms | 21 ms | 3.37× |
| `ToCbor/signed_ints` | 11.2 ms | 2.75 ms | 4.06× |
| `ToCbor/small_signed_ints` | 10.1 ms | 2.36 ms | 4.28× |
| `ToCbor/twitter` | 632 µs | 141 µs | 4.48× |
| `ToCbor/unsigned_ints` | 8 ms | 2.75 ms | 2.91× |
| `ToJsonStrings/copy` | 5.82 ms | 5.48 ms | 1.06× |
| `ToJsonStrings/move` | 5.8 ms | 3 ms | 1.93× |
| `Unflatten/canada` | 41 ms | 10.7 ms | 3.84× |
| `Unflatten/citm_catalog` | 9.67 ms | 3.45 ms | 2.81× |
| `Unflatten/twitter` | 4.57 ms | 2.09 ms | 2.19× |
| `Accept/canada` | 12.5 ms | 2.29 ms | 5.48× |
| `Accept/citm_catalog` | 6.28 ms | 902 µs | 6.96× |
| `Accept/floats` | 112 ms | 22 ms | 5.10× |
| `Accept/jeopardy` | 213 ms | 57 ms | 3.74× |
| `Accept/signed_ints` | 113 ms | 27.4 ms | 4.15× |
| `Accept/small_signed_ints` | 55.2 ms | 17.5 ms | 3.16× |
| `Accept/twitter` | 2.44 ms | 469 µs | 5.19× |
| `Accept/unsigned_ints` | 112 ms | 28.7 ms | 3.90× |
| `BinaryToCbor/1024` | 291 ns | 104 ns | 2.78× |
| `BinaryToCbor/128` | 245 ns | 114 ns | 2.14× |
| `BinaryToCbor/16384` | 957 ns | 417 ns | 2.30× |
| `BinaryToCbor/16` | 242 ns | 48.6 ns | 4.98× |
| `BinaryToCbor/2048` | 315 ns | 124 ns | 2.54× |
| `BinaryToCbor/256` | 264 ns | 89.9 ns | 2.94× |
| `BinaryToCbor/32768` | 1.54 µs | 794 ns | 1.95× |
| `BinaryToCbor/32` | 248 ns | 49.4 ns | 5.02× |
| `BinaryToCbor/4096` | 399 ns | 169 ns | 2.36× |
| `BinaryToCbor/512` | 290 ns | 101 ns | 2.88× |
| `BinaryToCbor/64` | 247 ns | 82 ns | 3.01× |
| `BinaryToCbor/8192` | 507 ns | 249 ns | 2.04× |
| `BinaryToCbor/8` | 244 ns | 48.6 ns | 5.02× |
| `Copy/canada` | 3.6 ms | 2.84 ms | 1.27× |
| `Copy/citm_catalog` | 1.6 ms | 1.44 ms | 1.11× |
| `Copy/twitter` | 792 µs | 718 µs | 1.10× |
| `CopyAssign/canada` | 3.63 ms | 2.88 ms | 1.26× |
| `CopyAssign/citm_catalog` | 1.64 ms | 1.49 ms | 1.10× |
| `CopyAssign/twitter` | 799 µs | 735 µs | 1.09× |
| `CopyOnly/canada` | 1.51 ms | 1.49 ms | 1.01× |
| `CopyOnly/citm_catalog` | 733 µs | 782 µs | 0.94× |
| `CopyOnly/twitter` | 395 µs | 399 µs | 0.99× |
| `CopyRing/canada` | 3.64 ms | 2.88 ms | 1.27× |
| `CopyRing/citm_catalog` | 1.66 ms | 1.51 ms | 1.10× |
| `CopyRing/twitter` | 838 µs | 768 µs | 1.09× |
| `DestroyOnly/canada` | 2.1 ms | 1.36 ms | 1.55× |
| `DestroyOnly/citm_catalog` | 864 µs | 670 µs | 1.29× |
| `DestroyOnly/twitter` | 399 µs | 322 µs | 1.24× |
| `Diff/canada` | 37.5 ms | 3.67 ms | 10.2× |
| `Diff/citm_catalog` | 6.65 ms | 1.07 ms | 6.19× |
| `Diff/twitter` | 4.74 ms | 637 µs | 7.44× |
| `Dump/canada / -` | 6.63 ms | 2.25 ms | 2.94× |
| `Dump/canada / 4` | 8.7 ms | 2.98 ms | 2.92× |
| `Dump/citm_catalog / -` | 1.36 ms | 291 µs | 4.67× |
| `Dump/citm_catalog / 4` | 1.89 ms | 417 µs | 4.54× |
| `Dump/floats / -` | 62.3 ms | 23.2 ms | 2.68× |
| `Dump/floats / 4` | 70 ms | 24.1 ms | 2.90× |
| `Dump/jeopardy / -` | 201 ms | 29.9 ms | 6.73× |
| `Dump/jeopardy / 4` | 218 ms | 33.9 ms | 6.43× |
| `Dump/signed_ints / -` | 23.2 ms | 10.5 ms | 2.21× |
| `Dump/signed_ints / 4` | 31.5 ms | 11.1 ms | 2.84× |
| `Dump/small_signed_ints / -` | 17.5 ms | 7.83 ms | 2.24× |
| `Dump/small_signed_ints / 4` | 24.6 ms | 8.63 ms | 2.85× |
| `Dump/twitter / -` | 1.37 ms | 207 µs | 6.59× |
| `Dump/twitter / 4` | 1.55 ms | 249 µs | 6.24× |
| `Dump/unsigned_ints / -` | 23.1 ms | 7.94 ms | 2.92× |
| `Dump/unsigned_ints / 4` | 31.3 ms | 8.36 ms | 3.75× |
| `Equal/canada` | 451 µs | 332 µs | 1.36× |
| `Equal/citm_catalog` | 263 µs | 252 µs | 1.05× |
| `Equal/twitter` | 139 µs | 127 µs | 1.10× |
| `Flatten/canada` | 28 ms | 11 ms | 2.55× |
| `Flatten/citm_catalog` | 6.34 ms | 2.97 ms | 2.13× |
| `Flatten/twitter` | 3.45 ms | 2.01 ms | 1.72× |
| `FlattenOrdered/citm_catalog` | 249 ms | 1.37 ms | 181× |
| `FlattenOrdered/twitter` | 48.9 ms | 846 µs | 57.8× |
| `FromBinaryBuffer/bjdata / canada` | 8.13 ms | 4.08 ms | 1.99× |
| `FromBinaryBuffer/bjdata / twitter` | 3.07 ms | 948 µs | 3.24× |
| `FromBinaryBuffer/bjdata_optimized / canada` | 8.57 ms | 2.43 ms | 3.53× |
| `FromBinaryBuffer/bjdata_optimized / twitter` | 3.08 ms | 948 µs | 3.25× |
| `FromBinaryBuffer/bson / canada` | 9.32 ms | 4.25 ms | 2.19× |
| `FromBinaryBuffer/bson / citm_catalog` | 3.8 ms | 1.55 ms | 2.45× |
| `FromBinaryBuffer/bson / twitter` | 3.05 ms | 910 µs | 3.35× |
| `FromBinaryBuffer/cbor / canada` | 8.27 ms | 2.06 ms | 4.01× |
| `FromBinaryBuffer/cbor / citm_catalog` | 3.63 ms | 1.42 ms | 2.56× |
| `FromBinaryBuffer/cbor / floats` | 29 ms | 5.39 ms | 5.37× |
| `FromBinaryBuffer/cbor / jeopardy` | 355 ms | 112 ms | 3.18× |
| `FromBinaryBuffer/cbor / signed_ints` | 35 ms | 9.53 ms | 3.67× |
| `FromBinaryBuffer/cbor / twitter` | 3 ms | 942 µs | 3.18× |
| `FromBinaryBuffer/msgpack / canada` | 8.23 ms | 2.05 ms | 4.01× |
| `FromBinaryBuffer/msgpack / citm_catalog` | 3.68 ms | 1.4 ms | 2.63× |
| `FromBinaryBuffer/msgpack / jeopardy` | 352 ms | 107 ms | 3.28× |
| `FromBinaryBuffer/msgpack / twitter` | 2.98 ms | 921 µs | 3.24× |
| `FromBinaryBuffer/ubjson / canada` | 8.14 ms | 4.1 ms | 1.98× |
| `FromBinaryBuffer/ubjson / citm_catalog` | 3.76 ms | 1.71 ms | 2.19× |
| `FromBinaryBuffer/ubjson / jeopardy` | 363 ms | 112 ms | 3.24× |
| `FromBinaryBuffer/ubjson / twitter` | 3.08 ms | 945 µs | 3.26× |
| `FromBinaryBuffer/ubjson_optimized / canada` | 8.39 ms | 2.38 ms | 3.52× |
| `FromBinaryBuffer/ubjson_optimized / twitter` | 3.08 ms | 944 µs | 3.26× |
| `FromBinaryFile/bjdata / twitter` | 10.3 ms | 1.89 ms | 5.44× |
| `FromBinaryFile/bson / twitter` | 9.95 ms | 1.76 ms | 5.64× |
| `FromBinaryFile/cbor / canada` | 14 ms | 4.39 ms | 3.18× |
| `FromBinaryFile/cbor / twitter` | 9.66 ms | 1.51 ms | 6.41× |
| `FromBinaryFile/ubjson / canada` | 13.4 ms | 6.2 ms | 2.16× |
| `FromBinaryFile/ubjson / twitter` | 10.2 ms | 1.89 ms | 5.40× |
| `FromBinaryShape/containers / bjdata` | 14 ms | 6.96 ms | 2.02× |
| `FromBinaryShape/containers / bson` | 16.8 ms | 7.56 ms | 2.23× |
| `FromBinaryShape/containers / cbor` | 13.6 ms | 3.88 ms | 3.50× |
| `FromBinaryShape/containers / msgpack` | 13.5 ms | 3.82 ms | 3.53× |
| `FromBinaryShape/containers / ubjson_optimized` | 14.6 ms | 4.45 ms | 3.28× |
| `FromBinaryShape/containers / ubjson` | 14 ms | 6.98 ms | 2.01× |
| `FromBinaryShape/nested / bjdata` | 94.6 µs | 37.8 µs | 2.50× |
| `FromBinaryShape/nested / bson` | 101 µs | 41.4 µs | 2.43× |
| `FromBinaryShape/nested / cbor` | 92 µs | 37.3 µs | 2.47× |
| `FromBinaryShape/nested / msgpack` | 90.7 µs | 36.4 µs | 2.50× |
| `FromBinaryShape/nested / ubjson` | 94.5 µs | 37.9 µs | 2.49× |
| `FromBinaryShape/scalars / bjdata` | 24.2 ms | 11.2 ms | 2.15× |
| `FromBinaryShape/scalars / cbor` | 25 ms | 5.53 ms | 4.52× |
| `FromBinaryShape/scalars / msgpack` | 24 ms | 5.47 ms | 4.39× |
| `FromBinaryShape/scalars / ubjson` | 24.4 ms | 11.4 ms | 2.14× |
| `FromCborChunkedString/10000 chunks` | 89 µs | 81.6 µs | 1.09× |
| `FromMsgpack/canada` | 14 ms | 4.41 ms | 3.17× |
| `FromMsgpack/citm_catalog` | 8.79 ms | 2.22 ms | 3.96× |
| `FromMsgpack/floats` | 58.7 ms | 27.4 ms | 2.15× |
| `FromMsgpack/jeopardy` | 1,120 ms | 179 ms | 6.22× |
| `FromMsgpack/signed_ints` | 61.1 ms | 32.1 ms | 1.90× |
| `FromMsgpack/small_signed_ints` | 61.9 ms | 33.2 ms | 1.86× |
| `FromMsgpack/twitter` | 9.66 ms | 1.45 ms | 6.65× |
| `FromMsgpack/unsigned_ints` | 54.7 ms | 27.2 ms | 2.01× |
| `GetArray<std::array<int, 1000>>` | 2.21 µs | 630 ns | 3.51× |
| `GetArray<std::deque<int>>` | 7.97 µs | 1.16 µs | 6.88× |
| `GetArray<std::set<int>>` | 57.3 µs | 40.7 µs | 1.41× |
| `GetArray<std::vector<int>>` | 6.55 µs | 657 ns | 9.96× |
| `GetMap/citm_catalog` | 3.36 ms | 2.36 ms | 1.43× |
| `GetVectorDouble/floats` | 6.57 ms | 644 µs | 10.2× |
| `GetVectorInt/signed_ints` | 7.91 ms | 3.37 ms | 2.35× |
| `Iterate/canada` | 859 µs | 308 µs | 2.79× |
| `Iterate/citm_catalog` | 293 µs | 179 µs | 1.64× |
| `Iterate/twitter` | 85.9 µs | 61.5 µs | 1.40× |
| `JsonPointerAt/citm_catalog` | 1.8 ms | 1.11 ms | 1.63× |
| `JsonPointerAt/twitter` | 778 µs | 582 µs | 1.34× |
| `JsonPointerContains/citm_catalog` | 2.67 ms | 1.25 ms | 2.14× |
| `JsonPointerContains/twitter` | 1.27 ms | 610 µs | 2.09× |
| `JsonPointerParse/citm_catalog` | 5.61 ms | 2.17 ms | 2.59× |
| `JsonPointerParse/twitter` | 2.4 ms | 980 µs | 2.45× |
| `JsonPointerToString/citm_catalog` | 6.56 ms | 1.86 ms | 3.52× |
| `JsonPointerToString/twitter` | 2.15 ms | 795 µs | 2.70× |
| `ParseFILE/canada` | 51.8 ms | 13.8 ms | 3.74× |
| `ParseFILE/citm_catalog` | 34 ms | 7.25 ms | 4.70× |
| `ParseFILE/twitter` | 13.3 ms | 3.28 ms | 4.06× |
| `ParseFile/canada` | 17.2 ms | 6.2 ms | 2.78× |
| `ParseFile/citm_catalog` | 7.59 ms | 2.4 ms | 3.16× |
| `ParseFile/floats` | 127 ms | 47.2 ms | 2.68× |
| `ParseFile/jeopardy` | 320 ms | 156 ms | 2.06× |
| `ParseFile/signed_ints` | 123 ms | 44.9 ms | 2.75× |
| `ParseFile/small_signed_ints` | 62.2 ms | 32.5 ms | 1.91× |
| `ParseFile/twitter` | 3.29 ms | 1.34 ms | 2.46× |
| `ParseFile/unsigned_ints` | 119 ms | 46 ms | 2.59× |
| `ParseIndented/canada / 4` | 33.1 ms | 5.22 ms | 6.34× |
| `ParseIndented/citm_catalog / 4` | 7.15 ms | 1.76 ms | 4.06× |
| `ParseIndented/jeopardy / 4` | 330 ms | 130 ms | 2.54× |
| `ParseIndented/twitter / 4` | 3.53 ms | 1.09 ms | 3.24× |
| `ParseStreamValues/ndjson` | 6.99 ms | 3.7 ms | 1.89× |
| `ParseStreamValues/numbers` | 1.9 ms | 380 µs | 5.02× |
| `ParseString/canada` | 14.8 ms | 4.48 ms | 3.31× |
| `ParseString/citm_catalog` | 7.16 ms | 1.76 ms | 4.07× |
| `ParseString/floats` | 117 ms | 28.6 ms | 4.09× |
| `ParseString/jeopardy` | 297 ms | 127 ms | 2.34× |
| `ParseString/signed_ints` | 118 ms | 31 ms | 3.80× |
| `ParseString/small_signed_ints` | 60.2 ms | 24 ms | 2.51× |
| `ParseString/twitter` | 3.14 ms | 1.03 ms | 3.06× |
| `ParseString/unsigned_ints` | 117 ms | 32.2 ms | 3.64× |
| `ParseStringOrdered/canada` | 14.9 ms | 4.37 ms | 3.40× |
| `ParseStringOrdered/citm_catalog` | 10.7 ms | 1.63 ms | 6.52× |
| `ParseStringOrdered/jeopardy` | 356 ms | 110 ms | 3.24× |
| `ParseStringOrdered/twitter` | 4.3 ms | 903 µs | 4.76× |
| `Patch/canada` | 9.91 ms | 3.33 ms | 2.97× |
| `Patch/citm_catalog` | 2.49 ms | 1.6 ms | 1.55× |
| `Patch/twitter` | 1.44 ms | 846 µs | 1.70× |
| `SaxParse/canada` | 12.7 ms | 3.18 ms | 3.98× |
| `SaxParse/citm_catalog` | 6.3 ms | 948 µs | 6.64× |
| `SaxParse/twitter` | 2.44 ms | 471 µs | 5.18× |
| `ToCbor/canada` | 1.36 ms | 546 µs | 2.49× |
| `ToCbor/citm_catalog` | 1.01 ms | 256 µs | 3.93× |
| `ToCbor/floats` | 8.79 ms | 1.88 ms | 4.69× |
| `ToCbor/jeopardy` | 70.8 ms | 21.2 ms | 3.35× |
| `ToCbor/signed_ints` | 11.2 ms | 2.74 ms | 4.07× |
| `ToCbor/small_signed_ints` | 10.1 ms | 2.37 ms | 4.25× |
| `ToCbor/twitter` | 625 µs | 145 µs | 4.30× |
| `ToCbor/unsigned_ints` | 7.92 ms | 2.75 ms | 2.88× |
| `ToJsonStrings/copy` | 5.77 ms | 5.52 ms | 1.04× |
| `ToJsonStrings/move` | 5.77 ms | 3.02 ms | 1.91× |
| `Unflatten/canada` | 40.5 ms | 10.7 ms | 3.79× |
| `Unflatten/citm_catalog` | 9.52 ms | 3.42 ms | 2.78× |
| `Unflatten/twitter` | 4.47 ms | 2.08 ms | 2.15× |
### C. The timeline
@@ -1765,15 +1766,15 @@ one binary with six code layouts: they were equal within 0.2 %.
| operation | 3.12.0 | 3.13.0 | speedup | cause | PR |
| --- | --: | --: | --: | --- | --- |
| `diff()` of an array of 64,000 numbers against an empty array | 4,101 ms | 10.1 ms | 406× | 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.83 ms | 31× | the same | [#5461][5461] |
| `parse()` with a callback that rejects half of 32,000 objects | 1,348 ms | 11.5 ms | 117× | 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.6 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) | 273 ms | 3.80 ms | 72× | the same | [#5390][5390] |
| `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 20,000 objects against every second one of them | 119 ms | 3.90 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] |
| `<` 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 `citm_catalog.json` and a copy, 10× (C++11 to C++17) | 274 ms | 3.83 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] |
| `to_bson()` of a value nested 200 levels deep, 100× | 19.5 ms | 0.357 ms | 55× | 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,525 ms | 5.14 ms | 297× | every insert re-pointed the parent pointers of all elements | [#5832][5832] |
| 10,000 × `at(i)` on an `ordered_json` array with `JSON_DIAGNOSTICS` | 43.9 ms | 0.080 ms | 548× | the same | [#5832][5832] |
| `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] |
| 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] |
| 10,000 × `at(i)` on an `ordered_json` array with `JSON_DIAGNOSTICS` | 44.0 ms | 0.084 ms | 523× | 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>
@@ -2257,7 +2258,7 @@ removed because 3.12.0 has no BON8.
| compiler | Apple clang 21, libc++ |
| flags | `-O3 -flto -DNDEBUG`, the compiler's default standard, C++14 |
| suite | 2 rounds × 4 repetitions per version, random interleaving, each round 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 |
| noise | the coefficient of variation was 3 % or less for 180 of the 182 rows with 3.12.0 and 177 with 3.13.0; the largest was 5 % |
| 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 |
| 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>
+29 -29
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">
<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 []: 4101 ms to 10.1 ms; diff() 20k objects vs half: 119 ms to 3.83 ms; parse() callback, 32k objects: 1348 ms to 11.5 ms; operator&lt; nested 24 deep: 63.6 ms to 0.002 ms; operator&lt; citm, 10x: 273 ms to 3.8 ms; flatten() citm, ordered_json: 253 ms to 1.37 ms; to_bson() 200 deep, 100x: 19.5 ms to 0.357 ms; push_back() 100k, diagnostics: 1525 ms to 5.14 ms; at(i) 10k, diagnostics: 43.9 ms to 0.08 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 []: 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>
<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>
<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-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>
<line class="nj-charts-axis" x1="560.474" y1="48" x2="448.635" y2="48" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="566.474" cy="48" r="5"><title>diff() 64k numbers vs [], 3.12.0: 4101 ms</title></circle>
<line class="nj-charts-axis" x1="560.535" y1="48" x2="448.635" 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-json-dot" cx="441.635" cy="48" r="5"><title>diff() 64k numbers vs [], 3.13.0: 10.1 ms</title></circle>
<text class="nj-charts-factor" x="504.055" y="41">406&#215;</text>
<text class="nj-charts-factor" x="504.085" y="41">407&#215;</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.482" y2="82" marker-end="url(#nj-blog-cliffs-head)"/>
<line class="nj-charts-axis" x1="486.901" y1="82" x2="428.858" 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-json-dot" cx="421.482" cy="82" r="5"><title>diff() 20k objects vs half, 3.13.0: 3.83 ms</title></circle>
<text class="nj-charts-factor" x="457.191" y="75">31&#215;</text>
<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>
<text class="nj-charts-factor" x="457.38" y="75">31&#215;</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.349" y1="116" x2="451.333" y2="116" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="543.349" cy="116" r="5"><title>parse() callback, 32k objects, 3.12.0: 1348 ms</title></circle>
<line class="nj-charts-axis" x1="537.579" y1="116" x2="451.333" 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-json-dot" cx="444.333" cy="116" r="5"><title>parse() callback, 32k objects, 3.13.0: 11.5 ms</title></circle>
<text class="nj-charts-factor" x="493.841" y="109">117&#215;</text>
<text class="nj-charts-factor" x="493.956" y="109">119&#215;</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.88" y1="150" x2="271.406" y2="150" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="479.88" cy="150" r="5"><title>operator&lt; nested 24 deep, 3.12.0: 63.6 ms</title></circle>
<line class="nj-charts-axis" x1="473.912" 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-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.143" y="143">31800&#215;</text>
<text class="nj-charts-factor" x="372.159" y="143">31850&#215;</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.159" y1="184" x2="428.318" y2="184" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="510.159" cy="184" r="5"><title>operator&lt; citm, 10x, 3.12.0: 273 ms</title></circle>
<circle class="nj-charts-json-dot" cx="421.318" cy="184" r="5"><title>operator&lt; citm, 10x, 3.13.0: 3.8 ms</title></circle>
<text class="nj-charts-factor" x="465.739" y="177">72&#215;</text>
<line class="nj-charts-axis" x1="504.235" y1="184" x2="428.482" 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-json-dot" cx="421.482" cy="184" r="5"><title>operator&lt; citm, 10x, 3.13.0: 3.83 ms</title></circle>
<text class="nj-charts-factor" x="465.858" y="177">72&#215;</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)"/>
<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>
<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>
<line class="nj-charts-axis" x1="449.309" y1="252" x2="379.163" y2="252" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="455.309" cy="252" r="5"><title>to_bson() 200 deep, 100x, 3.12.0: 19.5 ms</title></circle>
<circle class="nj-charts-json-dot" cx="372.163" cy="252" r="5"><title>to_bson() 200 deep, 100x, 3.13.0: 0.357 ms</title></circle>
<text class="nj-charts-factor" x="413.736" y="245">55&#215;</text>
<line class="nj-charts-axis" x1="449.626" y1="252" x2="378.87" 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-json-dot" cx="371.87" cy="252" r="5"><title>to_bson() 200 deep, 100x, 3.13.0: 0.352 ms</title></circle>
<text class="nj-charts-factor" x="413.748" y="245">56&#215;</text>
<text class="nj-charts-rowlabel" x="240" y="290" text-anchor="end">push_back() 100k, diagnostics</text>
<line class="nj-charts-axis" x1="539.914" y1="286" x2="434.596" y2="286" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="545.914" cy="286" r="5"><title>push_back() 100k, diagnostics, 3.12.0: 1525 ms</title></circle>
<circle class="nj-charts-json-dot" cx="427.596" cy="286" r="5"><title>push_back() 100k, diagnostics, 3.13.0: 5.14 ms</title></circle>
<text class="nj-charts-factor" x="486.755" y="279">297&#215;</text>
<line class="nj-charts-axis" x1="540.131" y1="286" x2="434.474" 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-json-dot" cx="427.474" cy="286" r="5"><title>push_back() 100k, diagnostics, 3.13.0: 5.11 ms</title></circle>
<text class="nj-charts-factor" x="486.802" y="279">302&#215;</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.175" y1="320" x2="348.076" y2="320" marker-end="url(#nj-blog-cliffs-head)"/>
<circle class="nj-charts-ojson-dot" cx="472.175" cy="320" r="5"><title>at(i) 10k, diagnostics, 3.12.0: 43.9 ms</title></circle>
<circle class="nj-charts-json-dot" cx="341.076" cy="320" r="5"><title>at(i) 10k, diagnostics, 3.13.0: 0.08 ms</title></circle>
<text class="nj-charts-factor" x="406.626" y="313">549&#215;</text>
<line class="nj-charts-axis" x1="466.222" y1="320" x2="349.091" 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-json-dot" cx="342.091" cy="320" r="5"><title>at(i) 10k, diagnostics, 3.13.0: 0.084 ms</title></circle>
<text class="nj-charts-factor" x="407.156" y="313">524&#215;</text>
</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">
<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: 1; 1 to 1.5x: 22; 1.5 to 2x: 15; 2 to 3x: 57; 3 to 5x: 57; 5 to 10x: 25; 10x or more: 5. 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: 57; 5 to 10x: 26; 10x or more: 4. Median 2.9x, geometric mean 3.0x.</desc>
<line class="nj-charts-grid" x1="52" y1="196" x2="548" y2="196"/>
<text class="nj-charts-tick nj-charts-tick--r" x="46" y="200">0</text>
<line class="nj-charts-grid" x1="52" y1="144.571" x2="548" y2="144.571"/>
@@ -9,26 +9,26 @@
<text class="nj-charts-tick nj-charts-tick--r" x="46" y="97.1429">40</text>
<line class="nj-charts-grid" x1="52" y1="41.7143" x2="548" y2="41.7143"/>
<text class="nj-charts-tick nj-charts-tick--r" x="46" y="45.7143">60</text>
<rect class="nj-charts-c2" x="60.0" y="193.4" width="54.9" height="2.6" rx="3"><title>below 1&#215;: 1</title></rect>
<text class="nj-charts-val" x="87.4" y="188.4" text-anchor="middle">1</text>
<rect class="nj-charts-c2" x="60.0" y="190.9" width="54.9" height="5.1" rx="3"><title>below 1&#215;: 2</title></rect>
<text class="nj-charts-val" x="87.4" y="185.9" text-anchor="middle">2</text>
<text class="nj-charts-tick" x="87.4" y="212.0">below 1&#215;</text>
<rect class="nj-charts-c1" x="130.9" y="139.4" width="54.9" height="56.6" rx="3"><title>1 to 1.5&#215;: 22</title></rect>
<text class="nj-charts-val" x="158.3" y="134.4" text-anchor="middle">22</text>
<rect class="nj-charts-c1" x="130.9" y="142.0" width="54.9" height="54.0" rx="3"><title>1 to 1.5&#215;: 21</title></rect>
<text class="nj-charts-val" x="158.3" y="137.0" text-anchor="middle">21</text>
<text class="nj-charts-tick" x="158.3" y="212.0">1 to 1.5&#215;</text>
<rect class="nj-charts-c1" x="201.7" y="157.4" width="54.9" height="38.6" rx="3"><title>1.5 to 2&#215;: 15</title></rect>
<text class="nj-charts-val" x="229.1" y="152.4" text-anchor="middle">15</text>
<rect class="nj-charts-c1" x="201.7" y="160.0" width="54.9" height="36.0" rx="3"><title>1.5 to 2&#215;: 14</title></rect>
<text class="nj-charts-val" x="229.1" y="155.0" text-anchor="middle">14</text>
<text class="nj-charts-tick" x="229.1" y="212.0">1.5 to 2&#215;</text>
<rect class="nj-charts-c1" x="272.6" y="49.4" width="54.9" height="146.6" rx="3"><title>2 to 3&#215;: 57</title></rect>
<text class="nj-charts-val" x="300.0" y="44.4" text-anchor="middle">57</text>
<rect class="nj-charts-c1" x="272.6" y="46.9" width="54.9" height="149.1" rx="3"><title>2 to 3&#215;: 58</title></rect>
<text class="nj-charts-val" x="300.0" y="41.9" text-anchor="middle">58</text>
<text class="nj-charts-tick" x="300.0" y="212.0">2 to 3&#215;</text>
<rect class="nj-charts-c1" x="343.4" y="49.4" width="54.9" height="146.6" rx="3"><title>3 to 5&#215;: 57</title></rect>
<text class="nj-charts-val" x="370.9" y="44.4" text-anchor="middle">57</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="131.7" width="54.9" height="64.3" rx="3"><title>5 to 10&#215;: 25</title></rect>
<text class="nj-charts-val" x="441.7" y="126.7" text-anchor="middle">25</text>
<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>
<text class="nj-charts-val" x="441.7" y="124.1" text-anchor="middle">26</text>
<text class="nj-charts-tick" x="441.7" y="212.0">5 to 10&#215;</text>
<rect class="nj-charts-c1" x="485.1" y="183.1" width="54.9" height="12.9" rx="3"><title>10&#215; or more: 5</title></rect>
<text class="nj-charts-val" x="512.6" y="178.1" text-anchor="middle">5</text>
<rect class="nj-charts-c1" x="485.1" y="185.7" width="54.9" height="10.3" rx="3"><title>10&#215; or more: 4</title></rect>
<text class="nj-charts-val" x="512.6" y="180.7" text-anchor="middle">4</text>
<text class="nj-charts-tick" x="512.6" y="212.0">10&#215; or more</text>
<line class="nj-charts-axis" x1="52" y1="196" x2="548" y2="196"/>
<text class="nj-charts-tick" x="300" y="240">speedup over 3.12.0, more is better</text>

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

+35 -35
View File
@@ -1,6 +1,6 @@
<svg class="nj-fig nj-charts nj-charts--blog" viewBox="0 0 560 604" role="img" aria-labelledby="nj-blog-overview nj-blog-overview-d" xmlns="http://www.w3.org/2000/svg">
<title id="nj-blog-overview">Speedup of 3.13.0 over 3.12.0 per workload, Apple M1 Max, Apple clang</title>
<desc id="nj-blog-overview-d">Horizontal bars of the speedup, more is better. twitter.json 3.1x; citm_catalog.json 4.2x; canada.json 3.5x; canada.json, indented 6.6x; citm, ordered_json 6.7x; twitter, std::ifstream 2.4x; citm, FILE* 4.7x; citm, accept() 7.6x; 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.5x; diff() canada 10x; iterate canada 2.7x; copy + destroy citm 1.11x; == citm 1.07x.</desc>
<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>
<text class="nj-charts-panel" x="8" y="20">Parsing</text>
<text class="nj-charts-panel" x="8" y="244">Writing</text>
<text class="nj-charts-panel" x="8" y="372">Reading C&#8203;BOR</text>
@@ -28,59 +28,59 @@
<line class="nj-charts-grid" x1="520" y1="8" x2="520" y2="560"/>
<text class="nj-charts-tick" x="520" y="576">11&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="42" text-anchor="end">twitter.json</text>
<path class="nj-charts-c1" d="M190 30 H279 Q283 30 283 34 V41 Q283 45 279 45 H190 Z"><title>twitter.json: 3.1&#215;</title></path>
<text class="nj-charts-val" x="288" y="42">3.1&#215;</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>
<text class="nj-charts-val" x="286.8" y="42">3.1&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="66" text-anchor="end">citm_catalog.json</text>
<path class="nj-charts-c1" d="M190 54 H311.7 Q315.7 54 315.7 58 V65 Q315.7 69 311.7 69 H190 Z"><title>citm_catalog.json: 4.2&#215;</title></path>
<text class="nj-charts-val" x="320.7" y="66">4.2&#215;</text>
<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>
<text class="nj-charts-val" x="317.1" 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>
<path class="nj-charts-c1" d="M190 78 H289.5 Q293.5 78 293.5 82 V89 Q293.5 93 289.5 93 H190 Z"><title>canada.json: 3.5&#215;</title></path>
<text class="nj-charts-val" x="298.5" y="90">3.5&#215;</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>
<text class="nj-charts-val" x="294.3" y="90">3.3&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="114" text-anchor="end">canada.json, indented</text>
<path class="nj-charts-c1" d="M190 102 H383.1 Q387.1 102 387.1 106 V113 Q387.1 117 383.1 117 H190 Z"><title>canada.json, indented: 6.6&#215;</title></path>
<text class="nj-charts-val" x="392.1" y="114">6.6&#215;</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>
<text class="nj-charts-val" x="385.2" y="114">6.3&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="138" text-anchor="end">citm, ordered_json</text>
<path class="nj-charts-c1" d="M190 126 H386.1 Q390.1 126 390.1 130 V137 Q390.1 141 386.1 141 H190 Z"><title>citm, ordered_json: 6.7&#215;</title></path>
<text class="nj-charts-val" x="395.1" y="138">6.7&#215;</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>
<text class="nj-charts-val" x="390.6" y="138">6.5&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="162" text-anchor="end">twitter, std::ifstream</text>
<path class="nj-charts-c1" d="M190 150 H259.2 Q263.2 150 263.2 154 V161 Q263.2 165 259.2 165 H190 Z"><title>twitter, std::ifstream: 2.4&#215;</title></path>
<text class="nj-charts-val" x="268.2" y="162">2.4&#215;</text>
<path class="nj-charts-c1" d="M190 150 H259.8 Q263.8 150 263.8 154 V161 Q263.8 165 259.8 165 H190 Z"><title>twitter, std::ifstream: 2.5&#215;</title></path>
<text class="nj-charts-val" x="268.8" y="162">2.5&#215;</text>
<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.6 Q331.6 174 331.6 178 V185 Q331.6 189 327.6 189 H190 Z"><title>citm, FILE*: 4.7&#215;</title></path>
<text class="nj-charts-val" x="336.6" y="186">4.7&#215;</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>
<text class="nj-charts-val" x="336" y="186">4.7&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="210" text-anchor="end">citm, accept()</text>
<path class="nj-charts-c1" d="M190 198 H414.9 Q418.9 198 418.9 202 V209 Q418.9 213 414.9 213 H190 Z"><title>citm, accept(): 7.6&#215;</title></path>
<text class="nj-charts-val" x="423.9" y="210">7.6&#215;</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>
<text class="nj-charts-val" x="403.8" 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>
<path class="nj-charts-c1" d="M190 254 H386.4 Q390.4 254 390.4 258 V265 Q390.4 269 386.4 269 H190 Z"><title>dump() twitter: 6.7&#215;</title></path>
<text class="nj-charts-val" x="395.4" y="266">6.7&#215;</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>
<text class="nj-charts-val" x="392.7" y="266">6.6&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="290" text-anchor="end">dump() canada</text>
<path class="nj-charts-c1" d="M190 278 H273.6 Q277.6 278 277.6 282 V289 Q277.6 293 273.6 293 H190 Z"><title>dump() canada: 2.9&#215;</title></path>
<text class="nj-charts-val" x="282.6" y="290">2.9&#215;</text>
<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>
<text class="nj-charts-val" x="283.2" y="290">2.9&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="314" text-anchor="end">dump(4) citm</text>
<path class="nj-charts-c1" d="M190 302 H323.7 Q327.7 302 327.7 306 V313 Q327.7 317 323.7 317 H190 Z"><title>dump(4) citm: 4.6&#215;</title></path>
<text class="nj-charts-val" x="332.7" y="314">4.6&#215;</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>
<text class="nj-charts-val" x="331.2" y="314">4.5&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="338" text-anchor="end">to_cbor() twitter</text>
<path class="nj-charts-c1" d="M190 326 H320.1 Q324.1 326 324.1 330 V337 Q324.1 341 320.1 341 H190 Z"><title>to_cbor() twitter: 4.5&#215;</title></path>
<text class="nj-charts-val" x="329.1" y="338">4.5&#215;</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>
<text class="nj-charts-val" x="324" y="338">4.3&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="394" text-anchor="end">twitter, memory</text>
<path class="nj-charts-c1" d="M190 382 H282.9 Q286.9 382 286.9 386 V393 Q286.9 397 282.9 397 H190 Z"><title>twitter, memory: 3.2&#215;</title></path>
<text class="nj-charts-val" x="291.9" y="394">3.2&#215;</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>
<text class="nj-charts-val" x="290.7" y="394">3.2&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="418" text-anchor="end">twitter, FILE*</text>
<path class="nj-charts-c1" d="M190 406 H381 Q385 406 385 410 V417 Q385 421 381 421 H190 Z"><title>twitter, FILE*: 6.5&#215;</title></path>
<text class="nj-charts-val" x="390" y="418">6.5&#215;</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>
<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>
<path class="nj-charts-c1" d="M190 462 H498.9 Q502.9 462 502.9 466 V473 Q502.9 477 498.9 477 H190 Z"><title>diff() canada: 10&#215;</title></path>
<text class="nj-charts-val" x="507.9" y="474">10&#215;</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>
<text class="nj-charts-val" x="501.3" y="474">10&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="498" text-anchor="end">iterate canada</text>
<path class="nj-charts-c1" d="M190 486 H267 Q271 486 271 490 V497 Q271 501 267 501 H190 Z"><title>iterate canada: 2.7&#215;</title></path>
<text class="nj-charts-val" x="276" y="498">2.7&#215;</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>
<text class="nj-charts-val" x="278.7" y="498">2.8&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="522" text-anchor="end">copy + destroy citm</text>
<path class="nj-charts-c1" d="M190 510 H219.3 Q223.3 510 223.3 514 V521 Q223.3 525 219.3 525 H190 Z"><title>copy + destroy citm: 1.11&#215;</title></path>
<text class="nj-charts-val" x="228.3" y="522">1.11&#215;</text>
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="546" text-anchor="end">== citm</text>
<path class="nj-charts-c1" d="M190 534 H218.1 Q222.1 534 222.1 538 V545 Q222.1 549 218.1 549 H190 Z"><title>== citm: 1.07&#215;</title></path>
<text class="nj-charts-val" x="227.1" y="546">1.07&#215;</text>
<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>
<text class="nj-charts-val" x="226.5" y="546">1.05&#215;</text>
<line class="nj-charts-ref" x1="220" y1="8" x2="220" y2="560"/>
<line class="nj-charts-zero" x1="190" y1="8" x2="190" y2="560"/>
<text class="nj-charts-tick" x="355" y="594">speedup over 3.12.0 (3.12.0 = 1&#215;), more is better</text>

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

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

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

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

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

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

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

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

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

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

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

@@ -16,7 +16,7 @@
<text class="nj-charts-tick" x="126.361" y="225">Sep 2026</text>
<line class="nj-charts-axis" x1="215.962" y1="208" x2="215.962" y2="212"/>
<text class="nj-charts-tick" x="215.962" y="225">Oct</text>
<polyline class="nj-charts-json" points="44.0,208.0 44.9,208.0 44.9,208.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>
<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"/>

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

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

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

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

+182 -182
View File
@@ -1,183 +1,183 @@
benchmark,unit,3.12.0,3.13.0,speedup
Accept/canada,ns,1.26696e+07,2.2575e+06,5.612
Accept/citm_catalog,ns,6.27254e+06,821823,7.632
Accept/floats,ns,1.13006e+08,2.40221e+07,4.704
Accept/jeopardy,ns,2.17632e+08,5.58138e+07,3.899
Accept/signed_ints,ns,1.12907e+08,2.85756e+07,3.951
Accept/small_signed_ints,ns,5.54714e+07,1.8795e+07,2.951
Accept/twitter,ns,2.43838e+06,473586,5.149
Accept/unsigned_ints,ns,1.1346e+08,2.74621e+07,4.132
BinaryToCbor/1024,ns,297.407,99.5768,2.987
BinaryToCbor/128,ns,248.439,111.657,2.225
BinaryToCbor/16,ns,242.564,47.7818,5.077
BinaryToCbor/16384,ns,973.398,399.499,2.437
BinaryToCbor/2048,ns,319.624,118.272,2.702
BinaryToCbor/256,ns,266.104,87.3165,3.048
BinaryToCbor/32,ns,247.978,48.4634,5.117
BinaryToCbor/32768,ns,1556.18,800.873,1.943
BinaryToCbor/4096,ns,396.295,162.602,2.437
BinaryToCbor/512,ns,285.575,96.0648,2.973
BinaryToCbor/64,ns,250.377,81.925,3.056
BinaryToCbor/8,ns,244.156,47.288,5.163
BinaryToCbor/8192,ns,504.281,243.911,2.067
Copy/canada,ns,3.63446e+06,2.82189e+06,1.288
Copy/citm_catalog,ns,1.60912e+06,1.44486e+06,1.114
Copy/twitter,ns,795454,713137,1.115
CopyAssign/canada,ns,3.67193e+06,2.83735e+06,1.294
CopyAssign/citm_catalog,ns,1.6226e+06,1.46761e+06,1.106
CopyAssign/twitter,ns,796879,723802,1.101
CopyOnly/canada,ns,1.515e+06,1.48013e+06,1.024
CopyOnly/citm_catalog,ns,735909,779064,0.945
CopyOnly/twitter,ns,396091,394148,1.005
CopyRing/canada,ns,3.6601e+06,2.87591e+06,1.273
CopyRing/citm_catalog,ns,1.67396e+06,1.49385e+06,1.121
CopyRing/twitter,ns,852203,758099,1.124
DestroyOnly/canada,ns,2.11222e+06,1.34774e+06,1.567
DestroyOnly/citm_catalog,ns,877627,665344,1.319
DestroyOnly/twitter,ns,401389,318049,1.262
Diff/canada,ns,3.79246e+07,3.63624e+06,10.430
Diff/citm_catalog,ns,6.67077e+06,1.06338e+06,6.273
Diff/twitter,ns,4.77939e+06,625756,7.638
Dump/canada / -,ns,6.59487e+06,2.2613e+06,2.916
Dump/canada / 4,ns,8.74176e+06,2.97842e+06,2.935
Dump/citm_catalog / -,ns,1.3644e+06,288719,4.726
Dump/citm_catalog / 4,ns,1.89619e+06,413366,4.587
Dump/floats / -,ns,6.19828e+07,2.32629e+07,2.664
Dump/floats / 4,ns,6.99509e+07,2.42733e+07,2.882
Dump/jeopardy / -,ns,1.98646e+08,3.00149e+07,6.618
Dump/jeopardy / 4,ns,2.1766e+08,3.41791e+07,6.368
Dump/signed_ints / -,ns,2.34589e+07,1.04283e+07,2.250
Dump/signed_ints / 4,ns,3.14953e+07,1.10449e+07,2.852
Dump/small_signed_ints / -,ns,1.75382e+07,7.78445e+06,2.253
Dump/small_signed_ints / 4,ns,2.45961e+07,8.6025e+06,2.859
Dump/twitter / -,ns,1.37764e+06,206071,6.685
Dump/twitter / 4,ns,1.55081e+06,245319,6.322
Dump/unsigned_ints / -,ns,2.32299e+07,7.88898e+06,2.945
Dump/unsigned_ints / 4,ns,3.13409e+07,8.36799e+06,3.745
Equal/canada,ns,453424,327263,1.386
Equal/citm_catalog,ns,266993,250294,1.067
Equal/twitter,ns,139736,125746,1.111
Flatten/canada,ns,2.82338e+07,1.08847e+07,2.594
Flatten/citm_catalog,ns,6.30735e+06,3.00812e+06,2.097
Flatten/twitter,ns,3.47237e+06,2.01096e+06,1.727
FlattenOrdered/citm_catalog,ns,2.51117e+08,1.37356e+06,182.822
FlattenOrdered/twitter,ns,4.80472e+07,845690,56.814
FromBinaryBuffer/bjdata / canada,ns,8.06626e+06,4.09343e+06,1.971
FromBinaryBuffer/bjdata / twitter,ns,3.10065e+06,945348,3.280
FromBinaryBuffer/bjdata_optimized / canada,ns,8.55835e+06,2.4023e+06,3.563
FromBinaryBuffer/bjdata_optimized / twitter,ns,3.07733e+06,941691,3.268
FromBinaryBuffer/bson / canada,ns,9.21459e+06,4.26414e+06,2.161
FromBinaryBuffer/bson / citm_catalog,ns,3.83754e+06,1.59156e+06,2.411
FromBinaryBuffer/bson / twitter,ns,3.04999e+06,914475,3.335
FromBinaryBuffer/cbor / canada,ns,8.24692e+06,2.10045e+06,3.926
FromBinaryBuffer/cbor / citm_catalog,ns,3.67001e+06,1.40559e+06,2.611
FromBinaryBuffer/cbor / floats,ns,2.88379e+07,5.54206e+06,5.203
FromBinaryBuffer/cbor / jeopardy,ns,3.55185e+08,1.12369e+08,3.161
FromBinaryBuffer/cbor / signed_ints,ns,3.50877e+07,1.06246e+07,3.302
FromBinaryBuffer/cbor / twitter,ns,3.02882e+06,938435,3.228
FromBinaryBuffer/msgpack / canada,ns,8.1874e+06,2.10574e+06,3.888
FromBinaryBuffer/msgpack / citm_catalog,ns,3.69114e+06,1.38675e+06,2.662
FromBinaryBuffer/msgpack / jeopardy,ns,3.48804e+08,1.07752e+08,3.237
FromBinaryBuffer/msgpack / twitter,ns,3.00307e+06,918949,3.268
FromBinaryBuffer/ubjson / canada,ns,8.07635e+06,4.10295e+06,1.968
FromBinaryBuffer/ubjson / citm_catalog,ns,3.81009e+06,1.73556e+06,2.195
FromBinaryBuffer/ubjson / jeopardy,ns,3.68321e+08,1.13364e+08,3.249
FromBinaryBuffer/ubjson / twitter,ns,3.11341e+06,948522,3.282
FromBinaryBuffer/ubjson_optimized / canada,ns,8.35104e+06,2.36581e+06,3.530
FromBinaryBuffer/ubjson_optimized / twitter,ns,3.06434e+06,938610,3.265
FromBinaryFile/bjdata / twitter,ns,1.01717e+07,1.88288e+06,5.402
FromBinaryFile/bson / twitter,ns,1.00323e+07,1.7507e+06,5.730
FromBinaryFile/cbor / canada,ns,1.40561e+07,4.33636e+06,3.241
FromBinaryFile/cbor / twitter,ns,9.76788e+06,1.50363e+06,6.496
FromBinaryFile/ubjson / canada,ns,1.33567e+07,6.24716e+06,2.138
FromBinaryFile/ubjson / twitter,ns,1.02704e+07,1.88515e+06,5.448
FromBinaryShape/containers / bjdata,ns,1.39728e+07,6.97745e+06,2.003
FromBinaryShape/containers / bson,ns,1.66944e+07,7.57557e+06,2.204
FromBinaryShape/containers / cbor,ns,1.37656e+07,3.92529e+06,3.507
FromBinaryShape/containers / msgpack,ns,1.36795e+07,3.873e+06,3.532
FromBinaryShape/containers / ubjson,ns,1.39033e+07,6.94785e+06,2.001
FromBinaryShape/containers / ubjson_optimized,ns,1.45005e+07,4.4374e+06,3.268
FromBinaryShape/nested / bjdata,ns,94734.2,37641.8,2.517
FromBinaryShape/nested / bson,ns,100822,41783.2,2.413
FromBinaryShape/nested / cbor,ns,92458.3,35251.3,2.623
FromBinaryShape/nested / msgpack,ns,91071.5,34781.9,2.618
FromBinaryShape/nested / ubjson,ns,93738.5,37564.7,2.495
FromBinaryShape/scalars / bjdata,ns,2.41928e+07,1.11786e+07,2.164
FromBinaryShape/scalars / cbor,ns,2.53634e+07,5.77218e+06,4.394
FromBinaryShape/scalars / msgpack,ns,2.40515e+07,5.69592e+06,4.223
FromBinaryShape/scalars / ubjson,ns,2.43914e+07,1.12377e+07,2.171
FromCborChunkedString/10000 chunks,ns,89766.6,81082.5,1.107
FromMsgpack/canada,ns,1.39115e+07,4.36091e+06,3.190
FromMsgpack/citm_catalog,ns,8.78364e+06,2.19066e+06,4.010
FromMsgpack/floats,ns,5.88697e+07,2.716e+07,2.168
FromMsgpack/jeopardy,ns,1.1169e+09,1.78518e+08,6.257
FromMsgpack/signed_ints,ns,6.18791e+07,3.19405e+07,1.937
FromMsgpack/small_signed_ints,ns,6.17411e+07,3.32716e+07,1.856
FromMsgpack/twitter,ns,9.71057e+06,1.43151e+06,6.783
FromMsgpack/unsigned_ints,ns,5.46656e+07,2.73563e+07,1.998
"GetArray<std::array<int, 1000>>",ns,2226.89,628.823,3.541
GetArray<std::deque<int>>,ns,7987.51,1154.72,6.917
GetArray<std::set<int>>,ns,58292.1,41015.3,1.421
GetArray<std::vector<int>>,ns,6583.86,654.896,10.053
GetMap/citm_catalog,ns,3.37868e+06,2.38201e+06,1.418
GetVectorDouble/floats,ns,6.55968e+06,638337,10.276
GetVectorInt/signed_ints,ns,7.93082e+06,3.36672e+06,2.356
Iterate/canada,ns,863030,319612,2.700
Iterate/citm_catalog,ns,294667,165042,1.785
Iterate/twitter,ns,86187.1,61998.9,1.390
JsonPointerAt/citm_catalog,ns,1.79511e+06,1.10986e+06,1.617
JsonPointerAt/twitter,ns,783457,577673,1.356
JsonPointerContains/citm_catalog,ns,2.67654e+06,1.2123e+06,2.208
JsonPointerContains/twitter,ns,1.27533e+06,600836,2.123
JsonPointerParse/citm_catalog,ns,5.63099e+06,2.14907e+06,2.620
JsonPointerParse/twitter,ns,2.41845e+06,981978,2.463
JsonPointerToString/citm_catalog,ns,6.61402e+06,1.85736e+06,3.561
JsonPointerToString/twitter,ns,2.16657e+06,789775,2.743
ParseFILE/canada,ns,5.2126e+07,1.38733e+07,3.757
ParseFILE/citm_catalog,ns,3.4268e+07,7.25874e+06,4.721
ParseFILE/twitter,ns,1.33521e+07,3.2647e+06,4.090
ParseFile/canada,ns,1.72435e+07,6.07983e+06,2.836
ParseFile/citm_catalog,ns,7.64894e+06,2.38641e+06,3.205
ParseFile/floats,ns,1.27024e+08,4.70746e+07,2.698
ParseFile/jeopardy,ns,3.24619e+08,1.58029e+08,2.054
ParseFile/signed_ints,ns,1.24305e+08,4.5808e+07,2.714
ParseFile/small_signed_ints,ns,6.28615e+07,3.16401e+07,1.987
ParseFile/twitter,ns,3.2765e+06,1.34371e+06,2.438
ParseFile/unsigned_ints,ns,1.20124e+08,4.40035e+07,2.730
ParseIndented/canada / 4,ns,3.31005e+07,5.04112e+06,6.566
ParseIndented/citm_catalog / 4,ns,7.11787e+06,1.73917e+06,4.093
ParseIndented/jeopardy / 4,ns,3.33132e+08,1.29074e+08,2.581
ParseIndented/twitter / 4,ns,3.57115e+06,1.09089e+06,3.274
ParseStreamValues/ndjson,ns,6.97026e+06,3.70937e+06,1.879
ParseStreamValues/numbers,ns,1.8966e+06,373744,5.075
ParseString/canada,ns,1.50132e+07,4.35565e+06,3.447
ParseString/citm_catalog,ns,7.26397e+06,1.73446e+06,4.188
ParseString/floats,ns,1.1698e+08,3.02859e+07,3.863
ParseString/jeopardy,ns,3.05106e+08,1.28063e+08,2.382
ParseString/signed_ints,ns,1.19046e+08,3.16406e+07,3.762
ParseString/small_signed_ints,ns,5.97047e+07,2.20096e+07,2.713
ParseString/twitter,ns,3.18359e+06,1.02841e+06,3.096
ParseString/unsigned_ints,ns,1.18153e+08,3.03899e+07,3.888
ParseStringOrdered/canada,ns,1.52432e+07,4.31485e+06,3.533
ParseStringOrdered/citm_catalog,ns,1.07738e+07,1.61487e+06,6.672
ParseStringOrdered/jeopardy,ns,3.58314e+08,1.09968e+08,3.258
ParseStringOrdered/twitter,ns,4.34017e+06,897816,4.834
Patch/canada,ns,9.89382e+06,3.30963e+06,2.989
Patch/citm_catalog,ns,2.49909e+06,1.59354e+06,1.568
Patch/twitter,ns,1.4469e+06,840978,1.720
SaxParse/canada,ns,1.27947e+07,3.20901e+06,3.987
SaxParse/citm_catalog,ns,6.33091e+06,947578,6.681
SaxParse/twitter,ns,2.47342e+06,467446,5.291
ToCbor/canada,ns,1.36222e+06,546687,2.492
ToCbor/citm_catalog,ns,1.0175e+06,254725,3.995
ToCbor/floats,ns,8.88418e+06,1.88474e+06,4.714
ToCbor/jeopardy,ns,7.101e+07,2.10445e+07,3.374
ToCbor/signed_ints,ns,1.1155e+07,2.74959e+06,4.057
ToCbor/small_signed_ints,ns,1.01055e+07,2.36336e+06,4.276
ToCbor/twitter,ns,632231,141279,4.475
ToCbor/unsigned_ints,ns,7.99726e+06,2.748e+06,2.910
ToJsonStrings/copy,ns,5.81667e+06,5.47945e+06,1.062
ToJsonStrings/move,ns,5.79569e+06,3.00408e+06,1.929
Unflatten/canada,ns,4.09596e+07,1.06606e+07,3.842
Unflatten/citm_catalog,ns,9.66875e+06,3.44544e+06,2.806
Unflatten/twitter,ns,4.57166e+06,2.08857e+06,2.189
Accept/canada,ns,1.25437e+07,2.28713e+06,5.484
Accept/citm_catalog,ns,6.28134e+06,902496,6.960
Accept/floats,ns,1.11964e+08,2.19716e+07,5.096
Accept/jeopardy,ns,2.13142e+08,5.70288e+07,3.737
Accept/signed_ints,ns,1.13451e+08,2.73564e+07,4.147
Accept/small_signed_ints,ns,5.52119e+07,1.74636e+07,3.162
Accept/twitter,ns,2.43682e+06,469197,5.194
Accept/unsigned_ints,ns,1.11739e+08,2.86842e+07,3.895
BinaryToCbor/1024,ns,290.559,104.43,2.782
BinaryToCbor/128,ns,244.736,114.39,2.139
BinaryToCbor/16,ns,241.729,48.5869,4.975
BinaryToCbor/16384,ns,957.488,416.935,2.296
BinaryToCbor/2048,ns,314.999,123.874,2.543
BinaryToCbor/256,ns,263.753,89.8568,2.935
BinaryToCbor/32,ns,247.99,49.3588,5.024
BinaryToCbor/32768,ns,1544.84,793.525,1.947
BinaryToCbor/4096,ns,398.772,169.158,2.357
BinaryToCbor/512,ns,290.128,100.637,2.883
BinaryToCbor/64,ns,246.96,81.9565,3.013
BinaryToCbor/8,ns,244.014,48.5667,5.024
BinaryToCbor/8192,ns,507.276,249.019,2.037
Copy/canada,ns,3.60259e+06,2.83774e+06,1.270
Copy/citm_catalog,ns,1.59513e+06,1.43645e+06,1.110
Copy/twitter,ns,791709,718409,1.102
CopyAssign/canada,ns,3.634e+06,2.87724e+06,1.263
CopyAssign/citm_catalog,ns,1.63849e+06,1.48508e+06,1.103
CopyAssign/twitter,ns,798844,735446,1.086
CopyOnly/canada,ns,1.51311e+06,1.49476e+06,1.012
CopyOnly/citm_catalog,ns,732862,782280,0.937
CopyOnly/twitter,ns,395055,399033,0.990
CopyRing/canada,ns,3.63908e+06,2.87582e+06,1.265
CopyRing/citm_catalog,ns,1.65988e+06,1.51282e+06,1.097
CopyRing/twitter,ns,838112,768418,1.091
DestroyOnly/canada,ns,2.10335e+06,1.35995e+06,1.547
DestroyOnly/citm_catalog,ns,863782,670455,1.288
DestroyOnly/twitter,ns,399273,322030,1.240
Diff/canada,ns,3.74782e+07,3.6723e+06,10.206
Diff/citm_catalog,ns,6.64514e+06,1.07377e+06,6.189
Diff/twitter,ns,4.73628e+06,636708,7.439
Dump/canada / -,ns,6.62677e+06,2.25123e+06,2.944
Dump/canada / 4,ns,8.7042e+06,2.98066e+06,2.920
Dump/citm_catalog / -,ns,1.35686e+06,290577,4.670
Dump/citm_catalog / 4,ns,1.89401e+06,416756,4.545
Dump/floats / -,ns,6.22834e+07,2.32495e+07,2.679
Dump/floats / 4,ns,6.9976e+07,2.40924e+07,2.904
Dump/jeopardy / -,ns,2.01307e+08,2.99214e+07,6.728
Dump/jeopardy / 4,ns,2.17598e+08,3.38669e+07,6.425
Dump/signed_ints / -,ns,2.32472e+07,1.05121e+07,2.211
Dump/signed_ints / 4,ns,3.15119e+07,1.11146e+07,2.835
Dump/small_signed_ints / -,ns,1.75381e+07,7.82657e+06,2.241
Dump/small_signed_ints / 4,ns,2.45965e+07,8.63097e+06,2.850
Dump/twitter / -,ns,1.36561e+06,207090,6.594
Dump/twitter / 4,ns,1.5516e+06,248517,6.243
Dump/unsigned_ints / -,ns,2.31468e+07,7.93578e+06,2.917
Dump/unsigned_ints / 4,ns,3.13424e+07,8.35542e+06,3.751
Equal/canada,ns,450957,332485,1.356
Equal/citm_catalog,ns,263408,251937,1.046
Equal/twitter,ns,139223,127010,1.096
Flatten/canada,ns,2.80443e+07,1.10177e+07,2.545
Flatten/citm_catalog,ns,6.33655e+06,2.97021e+06,2.133
Flatten/twitter,ns,3.44993e+06,2.00619e+06,1.720
FlattenOrdered/citm_catalog,ns,2.49055e+08,1.37328e+06,181.357
FlattenOrdered/twitter,ns,4.89423e+07,846377,57.826
FromBinaryBuffer/bjdata / canada,ns,8.12748e+06,4.08424e+06,1.990
FromBinaryBuffer/bjdata / twitter,ns,3.07351e+06,948285,3.241
FromBinaryBuffer/bjdata_optimized / canada,ns,8.56879e+06,2.42618e+06,3.532
FromBinaryBuffer/bjdata_optimized / twitter,ns,3.07745e+06,948044,3.246
FromBinaryBuffer/bson / canada,ns,9.31889e+06,4.25253e+06,2.191
FromBinaryBuffer/bson / citm_catalog,ns,3.79713e+06,1.55174e+06,2.447
FromBinaryBuffer/bson / twitter,ns,3.04829e+06,910005,3.350
FromBinaryBuffer/cbor / canada,ns,8.26527e+06,2.05962e+06,4.013
FromBinaryBuffer/cbor / citm_catalog,ns,3.62891e+06,1.41833e+06,2.559
FromBinaryBuffer/cbor / floats,ns,2.89846e+07,5.39328e+06,5.374
FromBinaryBuffer/cbor / jeopardy,ns,3.54945e+08,1.1153e+08,3.183
FromBinaryBuffer/cbor / signed_ints,ns,3.49713e+07,9.53001e+06,3.670
FromBinaryBuffer/cbor / twitter,ns,3.0017e+06,942493,3.185
FromBinaryBuffer/msgpack / canada,ns,8.23088e+06,2.05409e+06,4.007
FromBinaryBuffer/msgpack / citm_catalog,ns,3.67736e+06,1.396e+06,2.634
FromBinaryBuffer/msgpack / jeopardy,ns,3.51715e+08,1.07205e+08,3.281
FromBinaryBuffer/msgpack / twitter,ns,2.98346e+06,920736,3.240
FromBinaryBuffer/ubjson / canada,ns,8.14127e+06,4.10394e+06,1.984
FromBinaryBuffer/ubjson / citm_catalog,ns,3.75785e+06,1.71291e+06,2.194
FromBinaryBuffer/ubjson / jeopardy,ns,3.62566e+08,1.12043e+08,3.236
FromBinaryBuffer/ubjson / twitter,ns,3.07643e+06,944874,3.256
FromBinaryBuffer/ubjson_optimized / canada,ns,8.38574e+06,2.37988e+06,3.524
FromBinaryBuffer/ubjson_optimized / twitter,ns,3.08095e+06,943868,3.264
FromBinaryFile/bjdata / twitter,ns,1.0295e+07,1.89097e+06,5.444
FromBinaryFile/bson / twitter,ns,9.94972e+06,1.76486e+06,5.638
FromBinaryFile/cbor / canada,ns,1.39806e+07,4.39308e+06,3.182
FromBinaryFile/cbor / twitter,ns,9.6646e+06,1.50859e+06,6.406
FromBinaryFile/ubjson / canada,ns,1.34115e+07,6.19543e+06,2.165
FromBinaryFile/ubjson / twitter,ns,1.02157e+07,1.89016e+06,5.405
FromBinaryShape/containers / bjdata,ns,1.40433e+07,6.96436e+06,2.016
FromBinaryShape/containers / bson,ns,1.682e+07,7.55534e+06,2.226
FromBinaryShape/containers / cbor,ns,1.35664e+07,3.8756e+06,3.500
FromBinaryShape/containers / msgpack,ns,1.34934e+07,3.82406e+06,3.529
FromBinaryShape/containers / ubjson,ns,1.40435e+07,6.9781e+06,2.013
FromBinaryShape/containers / ubjson_optimized,ns,1.45774e+07,4.45098e+06,3.275
FromBinaryShape/nested / bjdata,ns,94600.5,37840.9,2.500
FromBinaryShape/nested / bson,ns,100509,41429.8,2.426
FromBinaryShape/nested / cbor,ns,91972.7,37251.6,2.469
FromBinaryShape/nested / msgpack,ns,90727.9,36363.8,2.495
FromBinaryShape/nested / ubjson,ns,94469,37882.2,2.494
FromBinaryShape/scalars / bjdata,ns,2.41514e+07,1.12078e+07,2.155
FromBinaryShape/scalars / cbor,ns,2.5038e+07,5.53384e+06,4.525
FromBinaryShape/scalars / msgpack,ns,2.40268e+07,5.47092e+06,4.392
FromBinaryShape/scalars / ubjson,ns,2.44002e+07,1.14029e+07,2.140
FromCborChunkedString/10000 chunks,ns,88987.2,81634.2,1.090
FromMsgpack/canada,ns,1.39649e+07,4.41006e+06,3.167
FromMsgpack/citm_catalog,ns,8.78567e+06,2.21895e+06,3.959
FromMsgpack/floats,ns,5.87082e+07,2.73509e+07,2.146
FromMsgpack/jeopardy,ns,1.11544e+09,1.79233e+08,6.223
FromMsgpack/signed_ints,ns,6.10619e+07,3.2097e+07,1.902
FromMsgpack/small_signed_ints,ns,6.19196e+07,3.32392e+07,1.863
FromMsgpack/twitter,ns,9.66391e+06,1.45284e+06,6.652
FromMsgpack/unsigned_ints,ns,5.47021e+07,2.71662e+07,2.014
"GetArray<std::array<int, 1000>>",ns,2212.9,629.827,3.513
GetArray<std::deque<int>>,ns,7971.54,1157.96,6.884
GetArray<std::set<int>>,ns,57262.5,40671.2,1.408
GetArray<std::vector<int>>,ns,6546.87,657.105,9.963
GetMap/citm_catalog,ns,3.35706e+06,2.35562e+06,1.425
GetVectorDouble/floats,ns,6.57437e+06,644146,10.206
GetVectorInt/signed_ints,ns,7.90848e+06,3.367e+06,2.349
Iterate/canada,ns,859110,307802,2.791
Iterate/citm_catalog,ns,293450,179462,1.635
Iterate/twitter,ns,85889.4,61478.7,1.397
JsonPointerAt/citm_catalog,ns,1.80266e+06,1.10791e+06,1.627
JsonPointerAt/twitter,ns,778445,582386,1.337
JsonPointerContains/citm_catalog,ns,2.6652e+06,1.24663e+06,2.138
JsonPointerContains/twitter,ns,1.27254e+06,609697,2.087
JsonPointerParse/citm_catalog,ns,5.60728e+06,2.16895e+06,2.585
JsonPointerParse/twitter,ns,2.4042e+06,980041,2.453
JsonPointerToString/citm_catalog,ns,6.55559e+06,1.86437e+06,3.516
JsonPointerToString/twitter,ns,2.14645e+06,794812,2.701
ParseFILE/canada,ns,5.17963e+07,1.38332e+07,3.744
ParseFILE/citm_catalog,ns,3.40359e+07,7.24926e+06,4.695
ParseFILE/twitter,ns,1.33126e+07,3.28013e+06,4.059
ParseFile/canada,ns,1.72398e+07,6.19587e+06,2.782
ParseFile/citm_catalog,ns,7.5903e+06,2.40464e+06,3.157
ParseFile/floats,ns,1.26663e+08,4.7193e+07,2.684
ParseFile/jeopardy,ns,3.19976e+08,1.55503e+08,2.058
ParseFile/signed_ints,ns,1.23409e+08,4.4882e+07,2.750
ParseFile/small_signed_ints,ns,6.22208e+07,3.25371e+07,1.912
ParseFile/twitter,ns,3.28655e+06,1.33555e+06,2.461
ParseFile/unsigned_ints,ns,1.19152e+08,4.60377e+07,2.588
ParseIndented/canada / 4,ns,3.30986e+07,5.22169e+06,6.339
ParseIndented/citm_catalog / 4,ns,7.15038e+06,1.7594e+06,4.064
ParseIndented/jeopardy / 4,ns,3.29973e+08,1.30023e+08,2.538
ParseIndented/twitter / 4,ns,3.5335e+06,1.09154e+06,3.237
ParseStreamValues/ndjson,ns,6.99339e+06,3.69843e+06,1.891
ParseStreamValues/numbers,ns,1.90457e+06,379668,5.016
ParseString/canada,ns,1.48477e+07,4.48104e+06,3.313
ParseString/citm_catalog,ns,7.16124e+06,1.75975e+06,4.069
ParseString/floats,ns,1.17297e+08,2.86476e+07,4.094
ParseString/jeopardy,ns,2.97063e+08,1.26706e+08,2.344
ParseString/signed_ints,ns,1.17796e+08,3.09958e+07,3.800
ParseString/small_signed_ints,ns,6.02349e+07,2.39599e+07,2.514
ParseString/twitter,ns,3.14349e+06,1.02653e+06,3.062
ParseString/unsigned_ints,ns,1.17123e+08,3.2164e+07,3.641
ParseStringOrdered/canada,ns,1.48701e+07,4.3728e+06,3.401
ParseStringOrdered/citm_catalog,ns,1.06565e+07,1.63405e+06,6.522
ParseStringOrdered/jeopardy,ns,3.55998e+08,1.09838e+08,3.241
ParseStringOrdered/twitter,ns,4.29723e+06,903337,4.757
Patch/canada,ns,9.90601e+06,3.33316e+06,2.972
Patch/citm_catalog,ns,2.48566e+06,1.60436e+06,1.549
Patch/twitter,ns,1.44208e+06,846253,1.704
SaxParse/canada,ns,1.26629e+07,3.18268e+06,3.979
SaxParse/citm_catalog,ns,6.2984e+06,948233,6.642
SaxParse/twitter,ns,2.43897e+06,470550,5.183
ToCbor/canada,ns,1.36093e+06,545893,2.493
ToCbor/citm_catalog,ns,1.00658e+06,255966,3.932
ToCbor/floats,ns,8.79386e+06,1.87553e+06,4.689
ToCbor/jeopardy,ns,7.08239e+07,2.11723e+07,3.345
ToCbor/signed_ints,ns,1.1165e+07,2.74484e+06,4.068
ToCbor/small_signed_ints,ns,1.00698e+07,2.36786e+06,4.253
ToCbor/twitter,ns,625255,145380,4.301
ToCbor/unsigned_ints,ns,7.91821e+06,2.74734e+06,2.882
ToJsonStrings/copy,ns,5.77126e+06,5.52441e+06,1.045
ToJsonStrings/move,ns,5.76994e+06,3.01734e+06,1.912
Unflatten/canada,ns,4.05029e+07,1.06882e+07,3.790
Unflatten/citm_catalog,ns,9.51644e+06,3.4248e+06,2.779
Unflatten/twitter,ns,4.46756e+06,2.07793e+06,2.150
1 benchmark unit 3.12.0 3.13.0 speedup
2 Accept/canada ns 1.26696e+07 1.25437e+07 2.2575e+06 2.28713e+06 5.612 5.484
3 Accept/citm_catalog ns 6.27254e+06 6.28134e+06 821823 902496 7.632 6.960
4 Accept/floats ns 1.13006e+08 1.11964e+08 2.40221e+07 2.19716e+07 4.704 5.096
5 Accept/jeopardy ns 2.17632e+08 2.13142e+08 5.58138e+07 5.70288e+07 3.899 3.737
6 Accept/signed_ints ns 1.12907e+08 1.13451e+08 2.85756e+07 2.73564e+07 3.951 4.147
7 Accept/small_signed_ints ns 5.54714e+07 5.52119e+07 1.8795e+07 1.74636e+07 2.951 3.162
8 Accept/twitter ns 2.43838e+06 2.43682e+06 473586 469197 5.149 5.194
9 Accept/unsigned_ints ns 1.1346e+08 1.11739e+08 2.74621e+07 2.86842e+07 4.132 3.895
10 BinaryToCbor/1024 ns 297.407 290.559 99.5768 104.43 2.987 2.782
11 BinaryToCbor/128 ns 248.439 244.736 111.657 114.39 2.225 2.139
12 BinaryToCbor/16 ns 242.564 241.729 47.7818 48.5869 5.077 4.975
13 BinaryToCbor/16384 ns 973.398 957.488 399.499 416.935 2.437 2.296
14 BinaryToCbor/2048 ns 319.624 314.999 118.272 123.874 2.702 2.543
15 BinaryToCbor/256 ns 266.104 263.753 87.3165 89.8568 3.048 2.935
16 BinaryToCbor/32 ns 247.978 247.99 48.4634 49.3588 5.117 5.024
17 BinaryToCbor/32768 ns 1556.18 1544.84 800.873 793.525 1.943 1.947
18 BinaryToCbor/4096 ns 396.295 398.772 162.602 169.158 2.437 2.357
19 BinaryToCbor/512 ns 285.575 290.128 96.0648 100.637 2.973 2.883
20 BinaryToCbor/64 ns 250.377 246.96 81.925 81.9565 3.056 3.013
21 BinaryToCbor/8 ns 244.156 244.014 47.288 48.5667 5.163 5.024
22 BinaryToCbor/8192 ns 504.281 507.276 243.911 249.019 2.067 2.037
23 Copy/canada ns 3.63446e+06 3.60259e+06 2.82189e+06 2.83774e+06 1.288 1.270
24 Copy/citm_catalog ns 1.60912e+06 1.59513e+06 1.44486e+06 1.43645e+06 1.114 1.110
25 Copy/twitter ns 795454 791709 713137 718409 1.115 1.102
26 CopyAssign/canada ns 3.67193e+06 3.634e+06 2.83735e+06 2.87724e+06 1.294 1.263
27 CopyAssign/citm_catalog ns 1.6226e+06 1.63849e+06 1.46761e+06 1.48508e+06 1.106 1.103
28 CopyAssign/twitter ns 796879 798844 723802 735446 1.101 1.086
29 CopyOnly/canada ns 1.515e+06 1.51311e+06 1.48013e+06 1.49476e+06 1.024 1.012
30 CopyOnly/citm_catalog ns 735909 732862 779064 782280 0.945 0.937
31 CopyOnly/twitter ns 396091 395055 394148 399033 1.005 0.990
32 CopyRing/canada ns 3.6601e+06 3.63908e+06 2.87591e+06 2.87582e+06 1.273 1.265
33 CopyRing/citm_catalog ns 1.67396e+06 1.65988e+06 1.49385e+06 1.51282e+06 1.121 1.097
34 CopyRing/twitter ns 852203 838112 758099 768418 1.124 1.091
35 DestroyOnly/canada ns 2.11222e+06 2.10335e+06 1.34774e+06 1.35995e+06 1.567 1.547
36 DestroyOnly/citm_catalog ns 877627 863782 665344 670455 1.319 1.288
37 DestroyOnly/twitter ns 401389 399273 318049 322030 1.262 1.240
38 Diff/canada ns 3.79246e+07 3.74782e+07 3.63624e+06 3.6723e+06 10.430 10.206
39 Diff/citm_catalog ns 6.67077e+06 6.64514e+06 1.06338e+06 1.07377e+06 6.273 6.189
40 Diff/twitter ns 4.77939e+06 4.73628e+06 625756 636708 7.638 7.439
41 Dump/canada / - ns 6.59487e+06 6.62677e+06 2.2613e+06 2.25123e+06 2.916 2.944
42 Dump/canada / 4 ns 8.74176e+06 8.7042e+06 2.97842e+06 2.98066e+06 2.935 2.920
43 Dump/citm_catalog / - ns 1.3644e+06 1.35686e+06 288719 290577 4.726 4.670
44 Dump/citm_catalog / 4 ns 1.89619e+06 1.89401e+06 413366 416756 4.587 4.545
45 Dump/floats / - ns 6.19828e+07 6.22834e+07 2.32629e+07 2.32495e+07 2.664 2.679
46 Dump/floats / 4 ns 6.99509e+07 6.9976e+07 2.42733e+07 2.40924e+07 2.882 2.904
47 Dump/jeopardy / - ns 1.98646e+08 2.01307e+08 3.00149e+07 2.99214e+07 6.618 6.728
48 Dump/jeopardy / 4 ns 2.1766e+08 2.17598e+08 3.41791e+07 3.38669e+07 6.368 6.425
49 Dump/signed_ints / - ns 2.34589e+07 2.32472e+07 1.04283e+07 1.05121e+07 2.250 2.211
50 Dump/signed_ints / 4 ns 3.14953e+07 3.15119e+07 1.10449e+07 1.11146e+07 2.852 2.835
51 Dump/small_signed_ints / - ns 1.75382e+07 1.75381e+07 7.78445e+06 7.82657e+06 2.253 2.241
52 Dump/small_signed_ints / 4 ns 2.45961e+07 2.45965e+07 8.6025e+06 8.63097e+06 2.859 2.850
53 Dump/twitter / - ns 1.37764e+06 1.36561e+06 206071 207090 6.685 6.594
54 Dump/twitter / 4 ns 1.55081e+06 1.5516e+06 245319 248517 6.322 6.243
55 Dump/unsigned_ints / - ns 2.32299e+07 2.31468e+07 7.88898e+06 7.93578e+06 2.945 2.917
56 Dump/unsigned_ints / 4 ns 3.13409e+07 3.13424e+07 8.36799e+06 8.35542e+06 3.745 3.751
57 Equal/canada ns 453424 450957 327263 332485 1.386 1.356
58 Equal/citm_catalog ns 266993 263408 250294 251937 1.067 1.046
59 Equal/twitter ns 139736 139223 125746 127010 1.111 1.096
60 Flatten/canada ns 2.82338e+07 2.80443e+07 1.08847e+07 1.10177e+07 2.594 2.545
61 Flatten/citm_catalog ns 6.30735e+06 6.33655e+06 3.00812e+06 2.97021e+06 2.097 2.133
62 Flatten/twitter ns 3.47237e+06 3.44993e+06 2.01096e+06 2.00619e+06 1.727 1.720
63 FlattenOrdered/citm_catalog ns 2.51117e+08 2.49055e+08 1.37356e+06 1.37328e+06 182.822 181.357
64 FlattenOrdered/twitter ns 4.80472e+07 4.89423e+07 845690 846377 56.814 57.826
65 FromBinaryBuffer/bjdata / canada ns 8.06626e+06 8.12748e+06 4.09343e+06 4.08424e+06 1.971 1.990
66 FromBinaryBuffer/bjdata / twitter ns 3.10065e+06 3.07351e+06 945348 948285 3.280 3.241
67 FromBinaryBuffer/bjdata_optimized / canada ns 8.55835e+06 8.56879e+06 2.4023e+06 2.42618e+06 3.563 3.532
68 FromBinaryBuffer/bjdata_optimized / twitter ns 3.07733e+06 3.07745e+06 941691 948044 3.268 3.246
69 FromBinaryBuffer/bson / canada ns 9.21459e+06 9.31889e+06 4.26414e+06 4.25253e+06 2.161 2.191
70 FromBinaryBuffer/bson / citm_catalog ns 3.83754e+06 3.79713e+06 1.59156e+06 1.55174e+06 2.411 2.447
71 FromBinaryBuffer/bson / twitter ns 3.04999e+06 3.04829e+06 914475 910005 3.335 3.350
72 FromBinaryBuffer/cbor / canada ns 8.24692e+06 8.26527e+06 2.10045e+06 2.05962e+06 3.926 4.013
73 FromBinaryBuffer/cbor / citm_catalog ns 3.67001e+06 3.62891e+06 1.40559e+06 1.41833e+06 2.611 2.559
74 FromBinaryBuffer/cbor / floats ns 2.88379e+07 2.89846e+07 5.54206e+06 5.39328e+06 5.203 5.374
75 FromBinaryBuffer/cbor / jeopardy ns 3.55185e+08 3.54945e+08 1.12369e+08 1.1153e+08 3.161 3.183
76 FromBinaryBuffer/cbor / signed_ints ns 3.50877e+07 3.49713e+07 1.06246e+07 9.53001e+06 3.302 3.670
77 FromBinaryBuffer/cbor / twitter ns 3.02882e+06 3.0017e+06 938435 942493 3.228 3.185
78 FromBinaryBuffer/msgpack / canada ns 8.1874e+06 8.23088e+06 2.10574e+06 2.05409e+06 3.888 4.007
79 FromBinaryBuffer/msgpack / citm_catalog ns 3.69114e+06 3.67736e+06 1.38675e+06 1.396e+06 2.662 2.634
80 FromBinaryBuffer/msgpack / jeopardy ns 3.48804e+08 3.51715e+08 1.07752e+08 1.07205e+08 3.237 3.281
81 FromBinaryBuffer/msgpack / twitter ns 3.00307e+06 2.98346e+06 918949 920736 3.268 3.240
82 FromBinaryBuffer/ubjson / canada ns 8.07635e+06 8.14127e+06 4.10295e+06 4.10394e+06 1.968 1.984
83 FromBinaryBuffer/ubjson / citm_catalog ns 3.81009e+06 3.75785e+06 1.73556e+06 1.71291e+06 2.195 2.194
84 FromBinaryBuffer/ubjson / jeopardy ns 3.68321e+08 3.62566e+08 1.13364e+08 1.12043e+08 3.249 3.236
85 FromBinaryBuffer/ubjson / twitter ns 3.11341e+06 3.07643e+06 948522 944874 3.282 3.256
86 FromBinaryBuffer/ubjson_optimized / canada ns 8.35104e+06 8.38574e+06 2.36581e+06 2.37988e+06 3.530 3.524
87 FromBinaryBuffer/ubjson_optimized / twitter ns 3.06434e+06 3.08095e+06 938610 943868 3.265 3.264
88 FromBinaryFile/bjdata / twitter ns 1.01717e+07 1.0295e+07 1.88288e+06 1.89097e+06 5.402 5.444
89 FromBinaryFile/bson / twitter ns 1.00323e+07 9.94972e+06 1.7507e+06 1.76486e+06 5.730 5.638
90 FromBinaryFile/cbor / canada ns 1.40561e+07 1.39806e+07 4.33636e+06 4.39308e+06 3.241 3.182
91 FromBinaryFile/cbor / twitter ns 9.76788e+06 9.6646e+06 1.50363e+06 1.50859e+06 6.496 6.406
92 FromBinaryFile/ubjson / canada ns 1.33567e+07 1.34115e+07 6.24716e+06 6.19543e+06 2.138 2.165
93 FromBinaryFile/ubjson / twitter ns 1.02704e+07 1.02157e+07 1.88515e+06 1.89016e+06 5.448 5.405
94 FromBinaryShape/containers / bjdata ns 1.39728e+07 1.40433e+07 6.97745e+06 6.96436e+06 2.003 2.016
95 FromBinaryShape/containers / bson ns 1.66944e+07 1.682e+07 7.57557e+06 7.55534e+06 2.204 2.226
96 FromBinaryShape/containers / cbor ns 1.37656e+07 1.35664e+07 3.92529e+06 3.8756e+06 3.507 3.500
97 FromBinaryShape/containers / msgpack ns 1.36795e+07 1.34934e+07 3.873e+06 3.82406e+06 3.532 3.529
98 FromBinaryShape/containers / ubjson ns 1.39033e+07 1.40435e+07 6.94785e+06 6.9781e+06 2.001 2.013
99 FromBinaryShape/containers / ubjson_optimized ns 1.45005e+07 1.45774e+07 4.4374e+06 4.45098e+06 3.268 3.275
100 FromBinaryShape/nested / bjdata ns 94734.2 94600.5 37641.8 37840.9 2.517 2.500
101 FromBinaryShape/nested / bson ns 100822 100509 41783.2 41429.8 2.413 2.426
102 FromBinaryShape/nested / cbor ns 92458.3 91972.7 35251.3 37251.6 2.623 2.469
103 FromBinaryShape/nested / msgpack ns 91071.5 90727.9 34781.9 36363.8 2.618 2.495
104 FromBinaryShape/nested / ubjson ns 93738.5 94469 37564.7 37882.2 2.495 2.494
105 FromBinaryShape/scalars / bjdata ns 2.41928e+07 2.41514e+07 1.11786e+07 1.12078e+07 2.164 2.155
106 FromBinaryShape/scalars / cbor ns 2.53634e+07 2.5038e+07 5.77218e+06 5.53384e+06 4.394 4.525
107 FromBinaryShape/scalars / msgpack ns 2.40515e+07 2.40268e+07 5.69592e+06 5.47092e+06 4.223 4.392
108 FromBinaryShape/scalars / ubjson ns 2.43914e+07 2.44002e+07 1.12377e+07 1.14029e+07 2.171 2.140
109 FromCborChunkedString/10000 chunks ns 89766.6 88987.2 81082.5 81634.2 1.107 1.090
110 FromMsgpack/canada ns 1.39115e+07 1.39649e+07 4.36091e+06 4.41006e+06 3.190 3.167
111 FromMsgpack/citm_catalog ns 8.78364e+06 8.78567e+06 2.19066e+06 2.21895e+06 4.010 3.959
112 FromMsgpack/floats ns 5.88697e+07 5.87082e+07 2.716e+07 2.73509e+07 2.168 2.146
113 FromMsgpack/jeopardy ns 1.1169e+09 1.11544e+09 1.78518e+08 1.79233e+08 6.257 6.223
114 FromMsgpack/signed_ints ns 6.18791e+07 6.10619e+07 3.19405e+07 3.2097e+07 1.937 1.902
115 FromMsgpack/small_signed_ints ns 6.17411e+07 6.19196e+07 3.32716e+07 3.32392e+07 1.856 1.863
116 FromMsgpack/twitter ns 9.71057e+06 9.66391e+06 1.43151e+06 1.45284e+06 6.783 6.652
117 FromMsgpack/unsigned_ints ns 5.46656e+07 5.47021e+07 2.73563e+07 2.71662e+07 1.998 2.014
118 GetArray<std::array<int, 1000>> ns 2226.89 2212.9 628.823 629.827 3.541 3.513
119 GetArray<std::deque<int>> ns 7987.51 7971.54 1154.72 1157.96 6.917 6.884
120 GetArray<std::set<int>> ns 58292.1 57262.5 41015.3 40671.2 1.421 1.408
121 GetArray<std::vector<int>> ns 6583.86 6546.87 654.896 657.105 10.053 9.963
122 GetMap/citm_catalog ns 3.37868e+06 3.35706e+06 2.38201e+06 2.35562e+06 1.418 1.425
123 GetVectorDouble/floats ns 6.55968e+06 6.57437e+06 638337 644146 10.276 10.206
124 GetVectorInt/signed_ints ns 7.93082e+06 7.90848e+06 3.36672e+06 3.367e+06 2.356 2.349
125 Iterate/canada ns 863030 859110 319612 307802 2.700 2.791
126 Iterate/citm_catalog ns 294667 293450 165042 179462 1.785 1.635
127 Iterate/twitter ns 86187.1 85889.4 61998.9 61478.7 1.390 1.397
128 JsonPointerAt/citm_catalog ns 1.79511e+06 1.80266e+06 1.10986e+06 1.10791e+06 1.617 1.627
129 JsonPointerAt/twitter ns 783457 778445 577673 582386 1.356 1.337
130 JsonPointerContains/citm_catalog ns 2.67654e+06 2.6652e+06 1.2123e+06 1.24663e+06 2.208 2.138
131 JsonPointerContains/twitter ns 1.27533e+06 1.27254e+06 600836 609697 2.123 2.087
132 JsonPointerParse/citm_catalog ns 5.63099e+06 5.60728e+06 2.14907e+06 2.16895e+06 2.620 2.585
133 JsonPointerParse/twitter ns 2.41845e+06 2.4042e+06 981978 980041 2.463 2.453
134 JsonPointerToString/citm_catalog ns 6.61402e+06 6.55559e+06 1.85736e+06 1.86437e+06 3.561 3.516
135 JsonPointerToString/twitter ns 2.16657e+06 2.14645e+06 789775 794812 2.743 2.701
136 ParseFILE/canada ns 5.2126e+07 5.17963e+07 1.38733e+07 1.38332e+07 3.757 3.744
137 ParseFILE/citm_catalog ns 3.4268e+07 3.40359e+07 7.25874e+06 7.24926e+06 4.721 4.695
138 ParseFILE/twitter ns 1.33521e+07 1.33126e+07 3.2647e+06 3.28013e+06 4.090 4.059
139 ParseFile/canada ns 1.72435e+07 1.72398e+07 6.07983e+06 6.19587e+06 2.836 2.782
140 ParseFile/citm_catalog ns 7.64894e+06 7.5903e+06 2.38641e+06 2.40464e+06 3.205 3.157
141 ParseFile/floats ns 1.27024e+08 1.26663e+08 4.70746e+07 4.7193e+07 2.698 2.684
142 ParseFile/jeopardy ns 3.24619e+08 3.19976e+08 1.58029e+08 1.55503e+08 2.054 2.058
143 ParseFile/signed_ints ns 1.24305e+08 1.23409e+08 4.5808e+07 4.4882e+07 2.714 2.750
144 ParseFile/small_signed_ints ns 6.28615e+07 6.22208e+07 3.16401e+07 3.25371e+07 1.987 1.912
145 ParseFile/twitter ns 3.2765e+06 3.28655e+06 1.34371e+06 1.33555e+06 2.438 2.461
146 ParseFile/unsigned_ints ns 1.20124e+08 1.19152e+08 4.40035e+07 4.60377e+07 2.730 2.588
147 ParseIndented/canada / 4 ns 3.31005e+07 3.30986e+07 5.04112e+06 5.22169e+06 6.566 6.339
148 ParseIndented/citm_catalog / 4 ns 7.11787e+06 7.15038e+06 1.73917e+06 1.7594e+06 4.093 4.064
149 ParseIndented/jeopardy / 4 ns 3.33132e+08 3.29973e+08 1.29074e+08 1.30023e+08 2.581 2.538
150 ParseIndented/twitter / 4 ns 3.57115e+06 3.5335e+06 1.09089e+06 1.09154e+06 3.274 3.237
151 ParseStreamValues/ndjson ns 6.97026e+06 6.99339e+06 3.70937e+06 3.69843e+06 1.879 1.891
152 ParseStreamValues/numbers ns 1.8966e+06 1.90457e+06 373744 379668 5.075 5.016
153 ParseString/canada ns 1.50132e+07 1.48477e+07 4.35565e+06 4.48104e+06 3.447 3.313
154 ParseString/citm_catalog ns 7.26397e+06 7.16124e+06 1.73446e+06 1.75975e+06 4.188 4.069
155 ParseString/floats ns 1.1698e+08 1.17297e+08 3.02859e+07 2.86476e+07 3.863 4.094
156 ParseString/jeopardy ns 3.05106e+08 2.97063e+08 1.28063e+08 1.26706e+08 2.382 2.344
157 ParseString/signed_ints ns 1.19046e+08 1.17796e+08 3.16406e+07 3.09958e+07 3.762 3.800
158 ParseString/small_signed_ints ns 5.97047e+07 6.02349e+07 2.20096e+07 2.39599e+07 2.713 2.514
159 ParseString/twitter ns 3.18359e+06 3.14349e+06 1.02841e+06 1.02653e+06 3.096 3.062
160 ParseString/unsigned_ints ns 1.18153e+08 1.17123e+08 3.03899e+07 3.2164e+07 3.888 3.641
161 ParseStringOrdered/canada ns 1.52432e+07 1.48701e+07 4.31485e+06 4.3728e+06 3.533 3.401
162 ParseStringOrdered/citm_catalog ns 1.07738e+07 1.06565e+07 1.61487e+06 1.63405e+06 6.672 6.522
163 ParseStringOrdered/jeopardy ns 3.58314e+08 3.55998e+08 1.09968e+08 1.09838e+08 3.258 3.241
164 ParseStringOrdered/twitter ns 4.34017e+06 4.29723e+06 897816 903337 4.834 4.757
165 Patch/canada ns 9.89382e+06 9.90601e+06 3.30963e+06 3.33316e+06 2.989 2.972
166 Patch/citm_catalog ns 2.49909e+06 2.48566e+06 1.59354e+06 1.60436e+06 1.568 1.549
167 Patch/twitter ns 1.4469e+06 1.44208e+06 840978 846253 1.720 1.704
168 SaxParse/canada ns 1.27947e+07 1.26629e+07 3.20901e+06 3.18268e+06 3.987 3.979
169 SaxParse/citm_catalog ns 6.33091e+06 6.2984e+06 947578 948233 6.681 6.642
170 SaxParse/twitter ns 2.47342e+06 2.43897e+06 467446 470550 5.291 5.183
171 ToCbor/canada ns 1.36222e+06 1.36093e+06 546687 545893 2.492 2.493
172 ToCbor/citm_catalog ns 1.0175e+06 1.00658e+06 254725 255966 3.995 3.932
173 ToCbor/floats ns 8.88418e+06 8.79386e+06 1.88474e+06 1.87553e+06 4.714 4.689
174 ToCbor/jeopardy ns 7.101e+07 7.08239e+07 2.10445e+07 2.11723e+07 3.374 3.345
175 ToCbor/signed_ints ns 1.1155e+07 1.1165e+07 2.74959e+06 2.74484e+06 4.057 4.068
176 ToCbor/small_signed_ints ns 1.01055e+07 1.00698e+07 2.36336e+06 2.36786e+06 4.276 4.253
177 ToCbor/twitter ns 632231 625255 141279 145380 4.475 4.301
178 ToCbor/unsigned_ints ns 7.99726e+06 7.91821e+06 2.748e+06 2.74734e+06 2.910 2.882
179 ToJsonStrings/copy ns 5.81667e+06 5.77126e+06 5.47945e+06 5.52441e+06 1.062 1.045
180 ToJsonStrings/move ns 5.79569e+06 5.76994e+06 3.00408e+06 3.01734e+06 1.929 1.912
181 Unflatten/canada ns 4.09596e+07 4.05029e+07 1.06606e+07 1.06882e+07 3.842 3.790
182 Unflatten/citm_catalog ns 9.66875e+06 9.51644e+06 3.44544e+06 3.4248e+06 2.806 2.779
183 Unflatten/twitter ns 4.57166e+06 4.46756e+06 2.08857e+06 2.07793e+06 2.189 2.150
@@ -315,4 +315,4 @@ index,commit,date,pr,subject,parse_twitter,parse_citm,parse_canada,parse_citm_co
313,21ec9bd801,2026-10-27,5915,json_view: fewer allocations when parsing small documents (#5915),1388.282,2469.118,6066.495,2340.391,1744.901,478.745,214.934,292.970,2309.264,422.842,1323.237,138.541,1454.151,1707.314,178.058,366.514,958.110
314,2bb2feeef4,2026-10-27,5942,"Fix the red CI on develop (json_view pointer tokens, bson, from_json tests, Infer, IWYU) (#5942)",1391.981,2468.266,6068.495,2335.707,1751.527,482.908,214.285,291.291,2300.453,417.876,1328.089,138.010,1454.934,1701.845,178.250,367.182,964.917
315,78a0687147,2026-10-27,5940,Strong exception guarantee for operator[](json_pointer) (#5940),1379.414,2467.492,6109.136,2335.309,1723.090,480.260,216.197,292.075,2313.798,415.444,1314.530,138.314,1449.629,1698.792,177.628,364.844,965.314
316,candidate,,,develop + open pull requests,1404.881,2459.645,5976.210,2313.583,1739.023,477.276,214.858,289.366,2301.972,415.963,1307.406,137.828,1440.710,1714.002,176.462,364.414,971.829
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
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 1404.881 1378.171 2459.645 2455.459 5976.210 6104.495 2313.583 2322.256 1739.023 1708.449 477.276 478.518 214.858 213.396 289.366 288.204 2301.972 2276.700 415.963 422.782 1307.406 1304.925 137.828 138.585 1440.710 1429.984 1714.002 1718.802 176.462 176.236 364.414 363.908 971.829 983.595
+25 -25
View File
@@ -201,24 +201,24 @@ def digits():
# ---------- overview: speedup per workload (Google Benchmark rows, 3.12.0 time / 3.13.0 time) ----------
# (group, label, speedup), copied from the table "The short version"
OVERVIEW = [
("Parsing", "twitter.json", 3.10),
("Parsing", "citm_catalog.json", 4.19),
("Parsing", "canada.json", 3.45),
("Parsing", "canada.json, indented", 6.57),
("Parsing", "citm, ordered_json", 6.67),
("Parsing", "twitter, std::ifstream", 2.44),
("Parsing", "citm, FILE*", 4.72),
("Parsing", "citm, accept()", 7.63),
("Writing", "dump() twitter", 6.68),
("Writing", "dump() canada", 2.92),
("Writing", "dump(4) citm", 4.59),
("Writing", "to_cbor() twitter", 4.47),
("Reading CBOR", "twitter, memory", 3.23),
("Reading CBOR", "twitter, FILE*", 6.50),
("Values", "diff() canada", 10.43),
("Values", "iterate canada", 2.70),
("Parsing", "twitter.json", 3.06),
("Parsing", "citm_catalog.json", 4.07),
("Parsing", "canada.json", 3.31),
("Parsing", "canada.json, indented", 6.34),
("Parsing", "citm, ordered_json", 6.52),
("Parsing", "twitter, std::ifstream", 2.46),
("Parsing", "citm, FILE*", 4.70),
("Parsing", "citm, accept()", 6.96),
("Writing", "dump() twitter", 6.59),
("Writing", "dump() canada", 2.94),
("Writing", "dump(4) citm", 4.54),
("Writing", "to_cbor() twitter", 4.30),
("Reading CBOR", "twitter, memory", 3.19),
("Reading CBOR", "twitter, FILE*", 6.41),
("Values", "diff() canada", 10.21),
("Values", "iterate canada", 2.79),
("Values", "copy + destroy citm", 1.11),
("Values", "== citm", 1.07),
("Values", "== citm", 1.05),
]
@@ -396,15 +396,15 @@ def timeline():
# ---------- 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"
CLIFFS = [
("diff() 64k numbers vs []", 4101, 10.1),
("diff() 20k objects vs half", 119, 3.83),
("parse() callback, 32k objects", 1348, 11.5),
("operator< nested 24 deep", 63.6, 0.002),
("operator< citm, 10x", 273, 3.80),
("diff() 64k numbers vs []", 4113, 10.1),
("diff() 20k objects vs half", 119, 3.90),
("parse() callback, 32k objects", 1363, 11.5),
("operator< nested 24 deep", 63.7, 0.002),
("operator< citm, 10x", 274, 3.83),
("flatten() citm, ordered_json", 253, 1.37),
("to_bson() 200 deep, 100x", 19.5, 0.357),
("push_back() 100k, diagnostics", 1525, 5.14),
("at(i) 10k, diagnostics", 43.9, 0.080),
("to_bson() 200 deep, 100x", 19.8, 0.352),
("push_back() 100k, diagnostics", 1541, 5.11),
("at(i) 10k, diagnostics", 44.0, 0.084),
]