docs: re-measure the 3.13.0 post and apply the review
Measure everything again against develop with the open pull requests of 11-03 (suite, timeline, comparison on the Mac and on x86-64, compile times, stream gap), add the suite on an Intel MacBook Pro as a check, mark the ways that keep number text as "N" in the use-case charts, move the loop-shape box to theme 5, and apply the style and wording fixes of the review. Signed-off-by: Niels Lohmann <mail@nlohmann.me>
No files matched your search
@@ -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 []: 4140 ms to 10.5 ms; diff() 20k objects vs half: 119 ms to 3.99 ms; parse() callback, 32k objects: 1361 ms to 12.1 ms; operator< nested 24 deep: 64 ms to 0.002 ms; operator< citm, 10x: 278 ms to 3.86 ms; flatten() citm, ordered_json: 251 ms to 1.39 ms; to_bson() 200 deep, 100x: 19.9 ms to 0.349 ms; push_back() 100k, diagnostics: 1532 ms to 5.04 ms; at(i) 10k, diagnostics: 43.6 ms to 0.081 ms.</desc>
|
||||
<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 []: 4237 ms to 10.8 ms; diff() 20k objects vs half: 122 ms to 4.13 ms; parse() callback, 32k objects: 1398 ms to 12.1 ms; operator< nested 24 deep: 64.4 ms to 0.002 ms; operator< citm, 10x: 284 ms to 3.94 ms; flatten() citm, ordered_json: 271 ms to 1.45 ms; to_bson() 200 deep, 100x: 20.3 ms to 0.352 ms; push_back() 100k, diagnostics: 1589 ms to 5.32 ms; at(i) 10k, diagnostics: 45.9 ms to 0.088 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.671" y1="48" x2="449.443" y2="48" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="566.671" cy="48" r="5"><title>diff() 64k numbers vs [], 3.12.0: 4140 ms</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="442.443" cy="48" r="5"><title>diff() 64k numbers vs [], 3.13.0: 10.5 ms</title></circle>
|
||||
<text class="nj-charts-factor" x="504.557" y="41">394×</text>
|
||||
<line class="nj-charts-axis" x1="561.152" y1="48" x2="450.028" y2="48" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="567.152" cy="48" r="5"><title>diff() 64k numbers vs [], 3.12.0: 4237 ms</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="443.028" cy="48" r="5"><title>diff() 64k numbers vs [], 3.13.0: 10.8 ms</title></circle>
|
||||
<text class="nj-charts-factor" x="505.09" y="41">392×</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="429.332" y2="82" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="492.901" cy="82" r="5"><title>diff() 20k objects vs half, 3.12.0: 119 ms</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="422.332" cy="82" r="5"><title>diff() 20k objects vs half, 3.13.0: 3.99 ms</title></circle>
|
||||
<text class="nj-charts-factor" x="457.617" y="75">30×</text>
|
||||
<line class="nj-charts-axis" x1="487.419" y1="82" x2="430.049" y2="82" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="493.419" cy="82" r="5"><title>diff() 20k objects vs half, 3.12.0: 122 ms</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="423.049" cy="82" r="5"><title>diff() 20k objects vs half, 3.13.0: 4.13 ms</title></circle>
|
||||
<text class="nj-charts-factor" x="458.234" y="75">30×</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.549" y1="116" x2="452.39" y2="116" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="543.549" cy="116" r="5"><title>parse() callback, 32k objects, 3.12.0: 1361 ms</title></circle>
|
||||
<line class="nj-charts-axis" x1="538.106" y1="116" x2="452.39" y2="116" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="544.106" cy="116" r="5"><title>parse() callback, 32k objects, 3.12.0: 1398 ms</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="445.39" cy="116" r="5"><title>parse() callback, 32k objects, 3.13.0: 12.1 ms</title></circle>
|
||||
<text class="nj-charts-factor" x="494.47" y="109">112×</text>
|
||||
<text class="nj-charts-factor" x="494.748" y="109">116×</text>
|
||||
<text class="nj-charts-rowlabel" x="240" y="154" text-anchor="end">operator< nested 24 deep</text>
|
||||
<line class="nj-charts-axis" x1="474.01" y1="150" x2="271.406" y2="150" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="480.01" cy="150" r="5"><title>operator< nested 24 deep, 3.12.0: 64 ms</title></circle>
|
||||
<line class="nj-charts-axis" x1="474.14" y1="150" x2="271.406" y2="150" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="480.14" cy="150" r="5"><title>operator< nested 24 deep, 3.12.0: 64.4 ms</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="264.406" cy="150" r="5"><title>operator< nested 24 deep, 3.13.0: 0.002 ms</title></circle>
|
||||
<text class="nj-charts-factor" x="372.208" y="143">32000×</text>
|
||||
<text class="nj-charts-factor" x="372.273" y="143">32200×</text>
|
||||
<text class="nj-charts-rowlabel" x="240" y="188" text-anchor="end">operator< citm, 10x</text>
|
||||
<line class="nj-charts-axis" x1="504.536" y1="184" x2="428.644" y2="184" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="510.536" cy="184" r="5"><title>operator< citm, 10x, 3.12.0: 278 ms</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="421.644" cy="184" r="5"><title>operator< citm, 10x, 3.13.0: 3.86 ms</title></circle>
|
||||
<text class="nj-charts-factor" x="466.09" y="177">72×</text>
|
||||
<line class="nj-charts-axis" x1="504.98" y1="184" x2="429.07" y2="184" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="510.98" cy="184" r="5"><title>operator< citm, 10x, 3.12.0: 284 ms</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="422.07" cy="184" r="5"><title>operator< citm, 10x, 3.13.0: 3.94 ms</title></circle>
|
||||
<text class="nj-charts-factor" x="466.525" y="177">72×</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.413" y1="218" x2="407.416" y2="218" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="508.413" cy="218" r="5"><title>flatten() citm, ordered_json, 3.12.0: 251 ms</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="400.416" cy="218" r="5"><title>flatten() citm, ordered_json, 3.13.0: 1.39 ms</title></circle>
|
||||
<text class="nj-charts-factor" x="454.414" y="211">181×</text>
|
||||
<line class="nj-charts-axis" x1="504.006" y1="218" x2="408.294" y2="218" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="510.006" cy="218" r="5"><title>flatten() citm, ordered_json, 3.12.0: 271 ms</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="401.294" cy="218" r="5"><title>flatten() citm, ordered_json, 3.13.0: 1.45 ms</title></circle>
|
||||
<text class="nj-charts-factor" x="455.65" y="211">187×</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.731" y1="252" x2="378.692" y2="252" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="455.731" cy="252" r="5"><title>to_bson() 200 deep, 100x, 3.12.0: 19.9 ms</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="371.692" cy="252" r="5"><title>to_bson() 200 deep, 100x, 3.13.0: 0.349 ms</title></circle>
|
||||
<text class="nj-charts-factor" x="413.712" y="245">57×</text>
|
||||
<line class="nj-charts-axis" x1="450.144" y1="252" x2="378.87" y2="252" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="456.144" cy="252" r="5"><title>to_bson() 200 deep, 100x, 3.12.0: 20.3 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="414.007" y="245">58×</text>
|
||||
<text class="nj-charts-rowlabel" x="240" y="290" text-anchor="end">push_back() 100k, diagnostics</text>
|
||||
<line class="nj-charts-axis" x1="540.009" y1="286" x2="434.188" y2="286" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="546.009" cy="286" r="5"><title>push_back() 100k, diagnostics, 3.12.0: 1532 ms</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="427.188" cy="286" r="5"><title>push_back() 100k, diagnostics, 3.13.0: 5.04 ms</title></circle>
|
||||
<text class="nj-charts-factor" x="486.598" y="279">304×</text>
|
||||
<line class="nj-charts-axis" x1="540.768" y1="286" x2="435.311" y2="286" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="546.768" cy="286" r="5"><title>push_back() 100k, diagnostics, 3.12.0: 1589 ms</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="428.311" cy="286" r="5"><title>push_back() 100k, diagnostics, 3.13.0: 5.32 ms</title></circle>
|
||||
<text class="nj-charts-factor" x="487.54" y="279">299×</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.033" y1="320" x2="348.335" y2="320" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="472.033" cy="320" r="5"><title>at(i) 10k, diagnostics, 3.12.0: 43.6 ms</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="341.335" cy="320" r="5"><title>at(i) 10k, diagnostics, 3.13.0: 0.081 ms</title></circle>
|
||||
<text class="nj-charts-factor" x="406.684" y="313">538×</text>
|
||||
<line class="nj-charts-axis" x1="467.101" y1="320" x2="350.057" y2="320" marker-end="url(#nj-blog-cliffs-head)"/>
|
||||
<circle class="nj-charts-ojson-dot" cx="473.101" cy="320" r="5"><title>at(i) 10k, diagnostics, 3.12.0: 45.9 ms</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="343.057" cy="320" r="5"><title>at(i) 10k, diagnostics, 3.13.0: 0.088 ms</title></circle>
|
||||
<text class="nj-charts-factor" x="408.079" y="313">522×</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: 2; 1 to 1.5x: 21; 1.5 to 2x: 14; 2 to 3x: 58; 3 to 5x: 58; 5 to 10x: 25; 10x or more: 4. Median 3.0x, geometric mean 3.0x.</desc>
|
||||
<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: 12; 2 to 3x: 60; 3 to 5x: 58; 5 to 10x: 25; 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,17 +9,17 @@
|
||||
<text class="nj-charts-tick nj-charts-tick--r" x="46" y="97.1429">40</text>
|
||||
<line class="nj-charts-grid" x1="52" y1="41.7143" x2="548" y2="41.7143"/>
|
||||
<text class="nj-charts-tick nj-charts-tick--r" x="46" y="45.7143">60</text>
|
||||
<rect class="nj-charts-c2" x="60.0" y="190.9" width="54.9" height="5.1" rx="3"><title>below 1×: 2</title></rect>
|
||||
<text class="nj-charts-val" x="87.4" y="185.9" text-anchor="middle">2</text>
|
||||
<rect class="nj-charts-c2" x="60.0" y="193.4" width="54.9" height="2.6" rx="3"><title>below 1×: 1</title></rect>
|
||||
<text class="nj-charts-val" x="87.4" y="188.4" text-anchor="middle">1</text>
|
||||
<text class="nj-charts-tick" x="87.4" y="212.0">below 1×</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×: 21</title></rect>
|
||||
<text class="nj-charts-val" x="158.3" y="137.0" text-anchor="middle">21</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×: 22</title></rect>
|
||||
<text class="nj-charts-val" x="158.3" y="134.4" text-anchor="middle">22</text>
|
||||
<text class="nj-charts-tick" x="158.3" y="212.0">1 to 1.5×</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×: 14</title></rect>
|
||||
<text class="nj-charts-val" x="229.1" y="155.0" text-anchor="middle">14</text>
|
||||
<rect class="nj-charts-c1" x="201.7" y="165.1" width="54.9" height="30.9" rx="3"><title>1.5 to 2×: 12</title></rect>
|
||||
<text class="nj-charts-val" x="229.1" y="160.1" text-anchor="middle">12</text>
|
||||
<text class="nj-charts-tick" x="229.1" y="212.0">1.5 to 2×</text>
|
||||
<rect class="nj-charts-c1" x="272.6" y="46.9" width="54.9" height="149.1" rx="3"><title>2 to 3×: 58</title></rect>
|
||||
<text class="nj-charts-val" x="300.0" y="41.9" text-anchor="middle">58</text>
|
||||
<rect class="nj-charts-c1" x="272.6" y="41.7" width="54.9" height="154.3" rx="3"><title>2 to 3×: 60</title></rect>
|
||||
<text class="nj-charts-val" x="300.0" y="36.7" text-anchor="middle">60</text>
|
||||
<text class="nj-charts-tick" x="300.0" y="212.0">2 to 3×</text>
|
||||
<rect class="nj-charts-c1" x="343.4" y="46.9" width="54.9" height="149.1" rx="3"><title>3 to 5×: 58</title></rect>
|
||||
<text class="nj-charts-val" x="370.9" y="41.9" text-anchor="middle">58</text>
|
||||
|
||||
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
@@ -1,6 +1,6 @@
|
||||
<svg class="nj-fig nj-charts nj-charts--blog" viewBox="0 0 620 482" role="img" aria-labelledby="nj-blog-heldout nj-blog-heldout-d" xmlns="http://www.w3.org/2000/svg">
|
||||
<title id="nj-blog-heldout">Validating 19 files 3.13.0 was not tuned on: json_document's time relative to the fastest other library per file</title>
|
||||
<desc id="nj-blog-heldout-d">Dot plot per file, less is better; below 1.0 json_document is the fastest fully validating library. mesh: Mac 0.66, x86-64 0.42 (serde_json (Rust)); semanticscholar-corpus: Mac 0.78, x86-64 0.61 (sonic-rs (Rust)); gsoc-2018: Mac 0.61, x86-64 0.67 (Boost.J​SON); marine_ik: Mac 0.59, x86-64 0.69 (Boost.J​SON); twitter_api_compact_response: Mac 0.91, x86-64 0.72 (simdjson); github_events: Mac 0.81, x86-64 0.74 (simdjson); twitterescaped: Mac 0.94, x86-64 0.75 (simdjson); numbers: Mac 0.62, x86-64 0.77 (Boost.J​SON); update-center: Mac 0.89, x86-64 0.79 (simdjson); twitter_api_response: Mac 0.93, x86-64 0.81 (simdjson); twitter_timeline: Mac 0.97, x86-64 0.83 (yyjson); instruments: Mac 0.91, x86-64 0.86 (simdjson); google_maps_api_compact_response: Mac 0.84, x86-64 0.87 (yyjson); apache_builds: Mac 1.11, x86-64 0.88 (simdjson); random: Mac 0.84, x86-64 0.89 (simdjson); repeat: Mac 0.65, x86-64 0.90 (simdjson); mesh.pretty: Mac 0.85, x86-64 0.93 (Boost.J​SON); google_maps_api_response: Mac 0.91, x86-64 0.95 (simdjson); tree-pretty: Mac 0.95, x86-64 0.96 (simdjson).</desc>
|
||||
<desc id="nj-blog-heldout-d">Dot plot per file, less is better; below 1.0 json_document is the fastest fully validating library. mesh: Mac 0.67, x86-64 0.44 (serde_json (Rust)); marine_ik: Mac 0.59, x86-64 0.62 (Boost.J​SON); semanticscholar-corpus: Mac 0.79, x86-64 0.65 (sonic-rs (Rust)); gsoc-2018: Mac 0.61, x86-64 0.65 (Boost.J​SON); twitter_api_compact_response: Mac 0.91, x86-64 0.70 (simdjson); twitterescaped: Mac 0.94, x86-64 0.77 (simdjson); github_events: Mac 0.82, x86-64 0.77 (simdjson); numbers: Mac 0.69, x86-64 0.77 (Boost.J​SON); twitter_api_response: Mac 0.95, x86-64 0.81 (simdjson); google_maps_api_compact_response: Mac 0.84, x86-64 0.81 (yyjson); twitter_timeline: Mac 0.97, x86-64 0.82 (yyjson); update-center: Mac 0.89, x86-64 0.83 (simdjson); random: Mac 0.82, x86-64 0.88 (simdjson); instruments: Mac 0.94, x86-64 0.90 (simdjson); apache_builds: Mac 1.11, x86-64 0.90 (simdjson); repeat: Mac 0.65, x86-64 0.91 (simdjson); mesh.pretty: Mac 0.85, x86-64 0.92 (Boost.J​SON); tree-pretty: Mac 0.95, x86-64 0.94 (simdjson); google_maps_api_response: Mac 0.91, x86-64 0.99 (simdjson).</desc>
|
||||
<line class="nj-charts-grid" x1="262" y1="50" x2="262" y2="438"/>
|
||||
<text class="nj-charts-tick" x="262" y="454">0.4×</text>
|
||||
<line class="nj-charts-grid" x1="291.867" y1="50" x2="291.867" y2="438"/>
|
||||
@@ -22,80 +22,80 @@
|
||||
<circle class="nj-charts-ojson-dot" cx="134.2" cy="14" r="5"/><text class="nj-charts-leg" x="144.2" y="18.5">x86-64, G​CC 16.2</text>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="48">next on x86-64</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="68" text-anchor="end">mesh</text>
|
||||
<circle class="nj-charts-json-dot" cx="340.7" cy="60.5" r="4.5"><title>mesh, Apple M1 Max: 0.66× the time of Glaze</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="269.4" cy="67.5" r="4.5"><title>mesh, x86-64, G​CC 16.2: 0.42× the time of serde_json (Rust)</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="342.4" cy="60.5" r="4.5"><title>mesh, Apple M1 Max: 0.67× the time of Glaze</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="273.4" cy="67.5" r="4.5"><title>mesh, x86-64, G​CC 16.2: 0.44× the time of serde_json (Rust)</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="68">serde_json (Rust)</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="88" text-anchor="end">semanticscholar-corpus</text>
|
||||
<circle class="nj-charts-json-dot" cx="376.4" cy="80.5" r="4.5"><title>semanticscholar-corpus, Apple M1 Max: 0.78× the time of sonic-rs (Rust)</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="325.3" cy="87.5" r="4.5"><title>semanticscholar-corpus, x86-64, G​CC 16.2: 0.61× the time of sonic-rs (Rust)</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="88">sonic-rs (Rust)</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="108" text-anchor="end">gsoc-2018</text>
|
||||
<circle class="nj-charts-json-dot" cx="323.7" cy="100.5" r="4.5"><title>gsoc-2018, Apple M1 Max: 0.61× the time of sonic-rs (Rust)</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="342.5" cy="107.5" r="4.5"><title>gsoc-2018, x86-64, G​CC 16.2: 0.67× the time of Boost.J​SON</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="108">Boost.J​SON</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="128" text-anchor="end">marine_ik</text>
|
||||
<circle class="nj-charts-json-dot" cx="319.1" cy="120.5" r="4.5"><title>marine_ik, Apple M1 Max: 0.59× the time of Glaze</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="347.3" cy="127.5" r="4.5"><title>marine_ik, x86-64, G​CC 16.2: 0.69× the time of Boost.J​SON</title></circle>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="88" text-anchor="end">marine_ik</text>
|
||||
<circle class="nj-charts-json-dot" cx="319.7" cy="80.5" r="4.5"><title>marine_ik, Apple M1 Max: 0.59× the time of Glaze</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="327.8" cy="87.5" r="4.5"><title>marine_ik, x86-64, G​CC 16.2: 0.62× the time of Boost.J​SON</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="88">Boost.J​SON</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="108" text-anchor="end">semanticscholar-corpus</text>
|
||||
<circle class="nj-charts-json-dot" cx="377.8" cy="100.5" r="4.5"><title>semanticscholar-corpus, Apple M1 Max: 0.79× the time of sonic-rs (Rust)</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="336.7" cy="107.5" r="4.5"><title>semanticscholar-corpus, x86-64, G​CC 16.2: 0.65× the time of sonic-rs (Rust)</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="108">sonic-rs (Rust)</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="128" text-anchor="end">gsoc-2018</text>
|
||||
<circle class="nj-charts-json-dot" cx="326.1" cy="120.5" r="4.5"><title>gsoc-2018, Apple M1 Max: 0.61× the time of sonic-rs (Rust)</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="337.2" cy="127.5" r="4.5"><title>gsoc-2018, x86-64, G​CC 16.2: 0.65× the time of Boost.J​SON</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="128">Boost.J​SON</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="148" text-anchor="end">twitter_api_compact_response</text>
|
||||
<circle class="nj-charts-json-dot" cx="414.0" cy="140.5" r="4.5"><title>twitter_api_compact_response, Apple M1 Max: 0.91× the time of yyjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="357.4" cy="147.5" r="4.5"><title>twitter_api_compact_response, x86-64, G​CC 16.2: 0.72× the time of simdjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="352.1" cy="147.5" r="4.5"><title>twitter_api_compact_response, x86-64, G​CC 16.2: 0.70× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="148">simdjson</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="168" text-anchor="end">github_events</text>
|
||||
<circle class="nj-charts-json-dot" cx="384.2" cy="160.5" r="4.5"><title>github_events, Apple M1 Max: 0.81× the time of simdjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="364.2" cy="167.5" r="4.5"><title>github_events, x86-64, G​CC 16.2: 0.74× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="168" text-anchor="end">twitterescaped</text>
|
||||
<circle class="nj-charts-json-dot" cx="424.5" cy="160.5" r="4.5"><title>twitterescaped, Apple M1 Max: 0.94× the time of yyjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="371.3" cy="167.5" r="4.5"><title>twitterescaped, x86-64, G​CC 16.2: 0.77× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="168">simdjson</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="188" text-anchor="end">twitterescaped</text>
|
||||
<circle class="nj-charts-json-dot" cx="422.3" cy="180.5" r="4.5"><title>twitterescaped, Apple M1 Max: 0.94× the time of yyjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="367.7" cy="187.5" r="4.5"><title>twitterescaped, x86-64, G​CC 16.2: 0.75× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="188" text-anchor="end">github_events</text>
|
||||
<circle class="nj-charts-json-dot" cx="386.9" cy="180.5" r="4.5"><title>github_events, Apple M1 Max: 0.82× the time of simdjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="371.9" cy="187.5" r="4.5"><title>github_events, x86-64, G​CC 16.2: 0.77× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="188">simdjson</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="208" text-anchor="end">numbers</text>
|
||||
<circle class="nj-charts-json-dot" cx="327.4" cy="200.5" r="4.5"><title>numbers, Apple M1 Max: 0.62× the time of Glaze</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="371.6" cy="207.5" r="4.5"><title>numbers, x86-64, G​CC 16.2: 0.77× the time of Boost.J​SON</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="348.0" cy="200.5" r="4.5"><title>numbers, Apple M1 Max: 0.69× the time of Boost.J​SON</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="373.1" cy="207.5" r="4.5"><title>numbers, x86-64, G​CC 16.2: 0.77× the time of Boost.J​SON</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="208">Boost.J​SON</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="228" text-anchor="end">update-center</text>
|
||||
<circle class="nj-charts-json-dot" cx="409.0" cy="220.5" r="4.5"><title>update-center, Apple M1 Max: 0.89× the time of simdjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="379.9" cy="227.5" r="4.5"><title>update-center, x86-64, G​CC 16.2: 0.79× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="228" text-anchor="end">twitter_api_response</text>
|
||||
<circle class="nj-charts-json-dot" cx="427.0" cy="220.5" r="4.5"><title>twitter_api_response, Apple M1 Max: 0.95× the time of yyjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="384.1" cy="227.5" r="4.5"><title>twitter_api_response, x86-64, G​CC 16.2: 0.81× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="228">simdjson</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="248" text-anchor="end">twitter_api_response</text>
|
||||
<circle class="nj-charts-json-dot" cx="420.4" cy="240.5" r="4.5"><title>twitter_api_response, Apple M1 Max: 0.93× the time of simdjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="384.1" cy="247.5" r="4.5"><title>twitter_api_response, x86-64, G​CC 16.2: 0.81× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="248">simdjson</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="248" text-anchor="end">google_maps_api_compact_response</text>
|
||||
<circle class="nj-charts-json-dot" cx="394.5" cy="240.5" r="4.5"><title>google_maps_api_compact_response, Apple M1 Max: 0.84× the time of yyjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="384.2" cy="247.5" r="4.5"><title>google_maps_api_compact_response, x86-64, G​CC 16.2: 0.81× the time of yyjson</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="248">yyjson</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="268" text-anchor="end">twitter_timeline</text>
|
||||
<circle class="nj-charts-json-dot" cx="431.5" cy="260.5" r="4.5"><title>twitter_timeline, Apple M1 Max: 0.97× the time of yyjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="390.2" cy="267.5" r="4.5"><title>twitter_timeline, x86-64, G​CC 16.2: 0.83× the time of yyjson</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="431.6" cy="260.5" r="4.5"><title>twitter_timeline, Apple M1 Max: 0.97× the time of yyjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="388.4" cy="267.5" r="4.5"><title>twitter_timeline, x86-64, G​CC 16.2: 0.82× the time of yyjson</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="268">yyjson</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="288" text-anchor="end">instruments</text>
|
||||
<circle class="nj-charts-json-dot" cx="413.9" cy="280.5" r="4.5"><title>instruments, Apple M1 Max: 0.91× the time of yyjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="399.6" cy="287.5" r="4.5"><title>instruments, x86-64, G​CC 16.2: 0.86× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="288" text-anchor="end">update-center</text>
|
||||
<circle class="nj-charts-json-dot" cx="409.1" cy="280.5" r="4.5"><title>update-center, Apple M1 Max: 0.89× the time of sonic-rs (Rust)</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="391.0" cy="287.5" r="4.5"><title>update-center, x86-64, G​CC 16.2: 0.83× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="288">simdjson</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="308" text-anchor="end">google_maps_api_compact_response</text>
|
||||
<circle class="nj-charts-json-dot" cx="394.5" cy="300.5" r="4.5"><title>google_maps_api_compact_response, Apple M1 Max: 0.84× the time of yyjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="402.8" cy="307.5" r="4.5"><title>google_maps_api_compact_response, x86-64, G​CC 16.2: 0.87× the time of yyjson</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="308">yyjson</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="328" text-anchor="end">apache_builds</text>
|
||||
<circle class="nj-charts-json-dot" cx="475.4" cy="320.5" r="4.5"><title>apache_builds, Apple M1 Max: 1.11× the time of simdjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="405.3" cy="327.5" r="4.5"><title>apache_builds, x86-64, G​CC 16.2: 0.88× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="308" text-anchor="end">random</text>
|
||||
<circle class="nj-charts-json-dot" cx="387.2" cy="300.5" r="4.5"><title>random, Apple M1 Max: 0.82× the time of simdjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="404.0" cy="307.5" r="4.5"><title>random, x86-64, G​CC 16.2: 0.88× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="308">simdjson</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="328" text-anchor="end">instruments</text>
|
||||
<circle class="nj-charts-json-dot" cx="422.0" cy="320.5" r="4.5"><title>instruments, Apple M1 Max: 0.94× the time of yyjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="410.8" cy="327.5" r="4.5"><title>instruments, x86-64, G​CC 16.2: 0.90× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="328">simdjson</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="348" text-anchor="end">random</text>
|
||||
<circle class="nj-charts-json-dot" cx="392.1" cy="340.5" r="4.5"><title>random, Apple M1 Max: 0.84× the time of simdjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="409.1" cy="347.5" r="4.5"><title>random, x86-64, G​CC 16.2: 0.89× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="348" text-anchor="end">apache_builds</text>
|
||||
<circle class="nj-charts-json-dot" cx="474.6" cy="340.5" r="4.5"><title>apache_builds, Apple M1 Max: 1.11× the time of simdjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="412.3" cy="347.5" r="4.5"><title>apache_builds, x86-64, G​CC 16.2: 0.90× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="348">simdjson</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="368" text-anchor="end">repeat</text>
|
||||
<circle class="nj-charts-json-dot" cx="336.7" cy="360.5" r="4.5"><title>repeat, Apple M1 Max: 0.65× the time of simdjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="412.3" cy="367.5" r="4.5"><title>repeat, x86-64, G​CC 16.2: 0.90× the time of simdjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="414.5" cy="367.5" r="4.5"><title>repeat, x86-64, G​CC 16.2: 0.91× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="368">simdjson</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="388" text-anchor="end">mesh.pretty</text>
|
||||
<circle class="nj-charts-json-dot" cx="395.4" cy="380.5" r="4.5"><title>mesh.pretty, Apple M1 Max: 0.85× the time of Glaze</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="421.5" cy="387.5" r="4.5"><title>mesh.pretty, x86-64, G​CC 16.2: 0.93× the time of Boost.J​SON</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="396.5" cy="380.5" r="4.5"><title>mesh.pretty, Apple M1 Max: 0.85× the time of Glaze</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="417.8" cy="387.5" r="4.5"><title>mesh.pretty, x86-64, G​CC 16.2: 0.92× the time of Boost.J​SON</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="388">Boost.J​SON</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="408" text-anchor="end">google_maps_api_response</text>
|
||||
<circle class="nj-charts-json-dot" cx="412.9" cy="400.5" r="4.5"><title>google_maps_api_response, Apple M1 Max: 0.91× the time of simdjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="425.2" cy="407.5" r="4.5"><title>google_maps_api_response, x86-64, G​CC 16.2: 0.95× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="408" text-anchor="end">tree-pretty</text>
|
||||
<circle class="nj-charts-json-dot" cx="425.2" cy="400.5" r="4.5"><title>tree-pretty, Apple M1 Max: 0.95× the time of simdjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="424.2" cy="407.5" r="4.5"><title>tree-pretty, x86-64, G​CC 16.2: 0.94× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="408">simdjson</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="428" text-anchor="end">tree-pretty</text>
|
||||
<circle class="nj-charts-json-dot" cx="427.6" cy="420.5" r="4.5"><title>tree-pretty, Apple M1 Max: 0.95× the time of simdjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="429.3" cy="427.5" r="4.5"><title>tree-pretty, x86-64, G​CC 16.2: 0.96× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="252" y="428" text-anchor="end">google_maps_api_response</text>
|
||||
<circle class="nj-charts-json-dot" cx="415.8" cy="420.5" r="4.5"><title>google_maps_api_response, Apple M1 Max: 0.91× the time of yyjson</title></circle>
|
||||
<circle class="nj-charts-ojson-dot" cx="436.9" cy="427.5" r="4.5"><title>google_maps_api_response, x86-64, G​CC 16.2: 0.99× the time of simdjson</title></circle>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="500" y="428">simdjson</text>
|
||||
<line class="nj-charts-ref" x1="441.2" y1="50" x2="441.2" y2="438"/>
|
||||
<text class="nj-charts-tick" x="441.2" y="44">as fast as the next</text>
|
||||
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
@@ -1,6 +1,6 @@
|
||||
<svg class="nj-fig nj-charts nj-charts--blog" viewBox="0 0 560 604" role="img" aria-labelledby="nj-blog-overview nj-blog-overview-d" xmlns="http://www.w3.org/2000/svg">
|
||||
<title id="nj-blog-overview">Speedup of 3.13.0 over 3.12.0 per workload, Apple M1 Max, Apple clang</title>
|
||||
<desc id="nj-blog-overview-d">Horizontal bars of the speedup, more is better. twitter.json 3.0x; citm_catalog.json 4.1x; canada.json 3.4x; canada.json, indented 6.6x; citm, ordered_json 6.7x; twitter, std::ifstream 2.4x; citm, FILE* 4.7x; citm, accept() 7.0x; dump() twitter 6.7x; dump() canada 2.9x; dump(4) citm 4.6x; to_cbor() twitter 4.5x; twitter, memory 3.2x; twitter, FILE* 6.4x; diff() canada 10x; iterate canada 2.7x; copy + destroy citm 1.11x; == citm 1.04x.</desc>
|
||||
<desc id="nj-blog-overview-d">Horizontal bars of the speedup, more is better. twitter.json 3.1x; citm_catalog.json 4.2x; canada.json 3.4x; canada.json, indented 6.5x; citm, ordered_json 6.8x; twitter, std::ifstream 2.5x; citm, FILE* 4.7x; citm, accept() 7.1x; dump() twitter 6.7x; dump() canada 3.0x; dump(4) citm 4.7x; to_cbor() twitter 4.6x; twitter, memory 3.4x; twitter, FILE* 6.6x; diff() canada 10x; iterate canada 2.7x; copy + destroy citm 1.13x; == citm 1.06x.</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​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×</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="42" text-anchor="end">twitter.json</text>
|
||||
<path class="nj-charts-c1" d="M190 30 H276.6 Q280.6 30 280.6 34 V41 Q280.6 45 276.6 45 H190 Z"><title>twitter.json: 3.0×</title></path>
|
||||
<text class="nj-charts-val" x="285.6" y="42">3.0×</text>
|
||||
<path class="nj-charts-c1" d="M190 30 H280.2 Q284.2 30 284.2 34 V41 Q284.2 45 280.2 45 H190 Z"><title>twitter.json: 3.1×</title></path>
|
||||
<text class="nj-charts-val" x="289.2" y="42">3.1×</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="66" text-anchor="end">citm_catalog.json</text>
|
||||
<path class="nj-charts-c1" d="M190 54 H309.3 Q313.3 54 313.3 58 V65 Q313.3 69 309.3 69 H190 Z"><title>citm_catalog.json: 4.1×</title></path>
|
||||
<text class="nj-charts-val" x="318.3" y="66">4.1×</text>
|
||||
<path class="nj-charts-c1" d="M190 54 H313.5 Q317.5 54 317.5 58 V65 Q317.5 69 313.5 69 H190 Z"><title>citm_catalog.json: 4.2×</title></path>
|
||||
<text class="nj-charts-val" x="322.5" y="66">4.2×</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 H288.3 Q292.3 78 292.3 82 V89 Q292.3 93 288.3 93 H190 Z"><title>canada.json: 3.4×</title></path>
|
||||
<text class="nj-charts-val" x="297.3" y="90">3.4×</text>
|
||||
<path class="nj-charts-c1" d="M190 78 H286.5 Q290.5 78 290.5 82 V89 Q290.5 93 286.5 93 H190 Z"><title>canada.json: 3.4×</title></path>
|
||||
<text class="nj-charts-val" x="295.5" y="90">3.4×</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.7 Q387.7 102 387.7 106 V113 Q387.7 117 383.7 117 H190 Z"><title>canada.json, indented: 6.6×</title></path>
|
||||
<text class="nj-charts-val" x="392.7" y="114">6.6×</text>
|
||||
<path class="nj-charts-c1" d="M190 102 H381.3 Q385.3 102 385.3 106 V113 Q385.3 117 381.3 117 H190 Z"><title>canada.json, indented: 6.5×</title></path>
|
||||
<text class="nj-charts-val" x="390.3" y="114">6.5×</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 H387.3 Q391.3 126 391.3 130 V137 Q391.3 141 387.3 141 H190 Z"><title>citm, ordered_json: 6.7×</title></path>
|
||||
<text class="nj-charts-val" x="396.3" y="138">6.7×</text>
|
||||
<path class="nj-charts-c1" d="M190 126 H391.5 Q395.5 126 395.5 130 V137 Q395.5 141 391.5 141 H190 Z"><title>citm, ordered_json: 6.8×</title></path>
|
||||
<text class="nj-charts-val" x="400.5" y="138">6.8×</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×</title></path>
|
||||
<text class="nj-charts-val" x="268.2" y="162">2.4×</text>
|
||||
<path class="nj-charts-c1" d="M190 150 H261 Q265 150 265 154 V161 Q265 165 261 165 H190 Z"><title>twitter, std::ifstream: 2.5×</title></path>
|
||||
<text class="nj-charts-val" x="270" y="162">2.5×</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.3 Q331.3 174 331.3 178 V185 Q331.3 189 327.3 189 H190 Z"><title>citm, FILE*: 4.7×</title></path>
|
||||
<text class="nj-charts-val" x="336.3" y="186">4.7×</text>
|
||||
<path class="nj-charts-c1" d="M190 174 H328.2 Q332.2 174 332.2 178 V185 Q332.2 189 328.2 189 H190 Z"><title>citm, FILE*: 4.7×</title></path>
|
||||
<text class="nj-charts-val" x="337.2" y="186">4.7×</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 H397.2 Q401.2 198 401.2 202 V209 Q401.2 213 397.2 213 H190 Z"><title>citm, accept(): 7.0×</title></path>
|
||||
<text class="nj-charts-val" x="406.2" y="210">7.0×</text>
|
||||
<path class="nj-charts-c1" d="M190 198 H398.1 Q402.1 198 402.1 202 V209 Q402.1 213 398.1 213 H190 Z"><title>citm, accept(): 7.1×</title></path>
|
||||
<text class="nj-charts-val" x="407.1" y="210">7.1×</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 H385.8 Q389.8 254 389.8 258 V265 Q389.8 269 385.8 269 H190 Z"><title>dump() twitter: 6.7×</title></path>
|
||||
<text class="nj-charts-val" x="394.8" y="266">6.7×</text>
|
||||
<path class="nj-charts-c1" d="M190 254 H387 Q391 254 391 258 V265 Q391 269 387 269 H190 Z"><title>dump() twitter: 6.7×</title></path>
|
||||
<text class="nj-charts-val" x="396" y="266">6.7×</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.9 Q277.9 278 277.9 282 V289 Q277.9 293 273.9 293 H190 Z"><title>dump() canada: 2.9×</title></path>
|
||||
<text class="nj-charts-val" x="282.9" y="290">2.9×</text>
|
||||
<path class="nj-charts-c1" d="M190 278 H275.4 Q279.4 278 279.4 282 V289 Q279.4 293 275.4 293 H190 Z"><title>dump() canada: 3.0×</title></path>
|
||||
<text class="nj-charts-val" x="284.4" y="290">3.0×</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="314" text-anchor="end">dump(4) citm</text>
|
||||
<path class="nj-charts-c1" d="M190 302 H324.9 Q328.9 302 328.9 306 V313 Q328.9 317 324.9 317 H190 Z"><title>dump(4) citm: 4.6×</title></path>
|
||||
<text class="nj-charts-val" x="333.9" y="314">4.6×</text>
|
||||
<path class="nj-charts-c1" d="M190 302 H327 Q331 302 331 306 V313 Q331 317 327 317 H190 Z"><title>dump(4) citm: 4.7×</title></path>
|
||||
<text class="nj-charts-val" x="336" y="314">4.7×</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.4 Q324.4 326 324.4 330 V337 Q324.4 341 320.4 341 H190 Z"><title>to_cbor() twitter: 4.5×</title></path>
|
||||
<text class="nj-charts-val" x="329.4" y="338">4.5×</text>
|
||||
<path class="nj-charts-c1" d="M190 326 H323.7 Q327.7 326 327.7 330 V337 Q327.7 341 323.7 341 H190 Z"><title>to_cbor() twitter: 4.6×</title></path>
|
||||
<text class="nj-charts-val" x="332.7" y="338">4.6×</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="394" text-anchor="end">twitter, memory</text>
|
||||
<path class="nj-charts-c1" d="M190 382 H281.4 Q285.4 382 285.4 386 V393 Q285.4 397 281.4 397 H190 Z"><title>twitter, memory: 3.2×</title></path>
|
||||
<text class="nj-charts-val" x="290.4" y="394">3.2×</text>
|
||||
<path class="nj-charts-c1" d="M190 382 H287.7 Q291.7 382 291.7 386 V393 Q291.7 397 287.7 397 H190 Z"><title>twitter, memory: 3.4×</title></path>
|
||||
<text class="nj-charts-val" x="296.7" y="394">3.4×</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="418" text-anchor="end">twitter, FILE*</text>
|
||||
<path class="nj-charts-c1" d="M190 406 H378.3 Q382.3 406 382.3 410 V417 Q382.3 421 378.3 421 H190 Z"><title>twitter, FILE*: 6.4×</title></path>
|
||||
<text class="nj-charts-val" x="387.3" y="418">6.4×</text>
|
||||
<path class="nj-charts-c1" d="M190 406 H383.7 Q387.7 406 387.7 410 V417 Q387.7 421 383.7 421 H190 Z"><title>twitter, FILE*: 6.6×</title></path>
|
||||
<text class="nj-charts-val" x="392.7" y="418">6.6×</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 H496.2 Q500.2 462 500.2 466 V473 Q500.2 477 496.2 477 H190 Z"><title>diff() canada: 10×</title></path>
|
||||
<text class="nj-charts-val" x="505.2" y="474">10×</text>
|
||||
<path class="nj-charts-c1" d="M190 462 H499.8 Q503.8 462 503.8 466 V473 Q503.8 477 499.8 477 H190 Z"><title>diff() canada: 10×</title></path>
|
||||
<text class="nj-charts-val" x="508.8" y="474">10×</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.3 Q271.3 486 271.3 490 V497 Q271.3 501 267.3 501 H190 Z"><title>iterate canada: 2.7×</title></path>
|
||||
<text class="nj-charts-val" x="276.3" y="498">2.7×</text>
|
||||
<path class="nj-charts-c1" d="M190 486 H267.9 Q271.9 486 271.9 490 V497 Q271.9 501 267.9 501 H190 Z"><title>iterate canada: 2.7×</title></path>
|
||||
<text class="nj-charts-val" x="276.9" y="498">2.7×</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×</title></path>
|
||||
<text class="nj-charts-val" x="228.3" y="522">1.11×</text>
|
||||
<path class="nj-charts-c1" d="M190 510 H219.9 Q223.9 510 223.9 514 V521 Q223.9 525 219.9 525 H190 Z"><title>copy + destroy citm: 1.13×</title></path>
|
||||
<text class="nj-charts-val" x="228.9" y="522">1.13×</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-tick--r" x="182" y="546" text-anchor="end">== citm</text>
|
||||
<path class="nj-charts-c1" d="M190 534 H217.2 Q221.2 534 221.2 538 V545 Q221.2 549 217.2 549 H190 Z"><title>== citm: 1.04×</title></path>
|
||||
<text class="nj-charts-val" x="226.2" y="546">1.04×</text>
|
||||
<path class="nj-charts-c1" d="M190 534 H217.8 Q221.8 534 221.8 538 V545 Q221.8 549 217.8 549 H190 Z"><title>== citm: 1.06×</title></path>
|
||||
<text class="nj-charts-val" x="226.8" y="546">1.06×</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×), more is better</text>
|
||||
|
||||
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.1 KiB |
@@ -1,6 +1,6 @@
|
||||
<svg class="nj-fig nj-charts nj-charts--blog" viewBox="0 0 600 618" role="img" aria-labelledby="nj-blog-price nj-blog-price-d" xmlns="http://www.w3.org/2000/svg">
|
||||
<title id="nj-blog-price">Compile time of two programs with 3.13.0, alone, with a precompiled header and as a module, compared with 3.12.0</title>
|
||||
<desc id="nj-blog-price-d">Horizontal bars of the change in compile time against 3.12.0, less is better. Apple clang 21, -O0 (debug), count_numbers, 3.13.0: +20 %; Apple clang 21, -O0 (debug), count_numbers, 3.13.0, precompiled header: -29 %; Apple clang 21, -O0 (debug), count_numbers, 3.13.0, module: -16 %; Apple clang 21, -O0 (debug), server_config, 3.13.0: +30 %; Apple clang 21, -O0 (debug), server_config, 3.13.0, precompiled header: -31 %; Apple clang 21, -O0 (debug), server_config, 3.13.0, module: -5 %; Apple clang 21, -O2, count_numbers, 3.13.0: +47 %; Apple clang 21, -O2, count_numbers, 3.13.0, precompiled header: +8 %; Apple clang 21, -O2, count_numbers, 3.13.0, module: +19 %; Apple clang 21, -O2, server_config, 3.13.0: +49 %; Apple clang 21, -O2, server_config, 3.13.0, precompiled header: +11 %; Apple clang 21, -O2, server_config, 3.13.0, module: +36 %; G​CC 16, -O0 (debug), count_numbers, 3.13.0: +63 %; G​CC 16, -O0 (debug), count_numbers, 3.13.0, precompiled header: +9 %; G​CC 16, -O0 (debug), count_numbers, 3.13.0, module: +15 %; G​CC 16, -O0 (debug), server_config, 3.13.0: +40 %; G​CC 16, -O0 (debug), server_config, 3.13.0, precompiled header: +6 %; G​CC 16, -O0 (debug), server_config, 3.13.0, module: +10 %; G​CC 16, -O2, count_numbers, 3.13.0: +48 %; G​CC 16, -O2, count_numbers, 3.13.0, precompiled header: +28 %; G​CC 16, -O2, count_numbers, 3.13.0, module: +24 %; G​CC 16, -O2, server_config, 3.13.0: +52 %; G​CC 16, -O2, server_config, 3.13.0, precompiled header: +36 %; G​CC 16, -O2, server_config, 3.13.0, module: +32 %.</desc>
|
||||
<desc id="nj-blog-price-d">Horizontal bars of the change in compile time against 3.12.0, less is better. Apple clang 21, -O0 (debug), count_numbers, 3.13.0: +38 %; Apple clang 21, -O0 (debug), count_numbers, 3.13.0, precompiled header: -28 %; Apple clang 21, -O0 (debug), count_numbers, 3.13.0, module: -4 %; Apple clang 21, -O0 (debug), server_config, 3.13.0: +34 %; Apple clang 21, -O0 (debug), server_config, 3.13.0, precompiled header: -23 %; Apple clang 21, -O0 (debug), server_config, 3.13.0, module: +2 %; Apple clang 21, -O2, count_numbers, 3.13.0: +49 %; Apple clang 21, -O2, count_numbers, 3.13.0, precompiled header: +5 %; Apple clang 21, -O2, count_numbers, 3.13.0, module: +21 %; Apple clang 21, -O2, server_config, 3.13.0: +45 %; Apple clang 21, -O2, server_config, 3.13.0, precompiled header: +10 %; Apple clang 21, -O2, server_config, 3.13.0, module: +24 %; G​CC 16, -O0 (debug), count_numbers, 3.13.0: +62 %; G​CC 16, -O0 (debug), count_numbers, 3.13.0, precompiled header: +10 %; G​CC 16, -O0 (debug), count_numbers, 3.13.0, module: +8 %; G​CC 16, -O0 (debug), server_config, 3.13.0: +47 %; G​CC 16, -O0 (debug), server_config, 3.13.0, precompiled header: +14 %; G​CC 16, -O0 (debug), server_config, 3.13.0, module: +15 %; G​CC 16, -O2, count_numbers, 3.13.0: +58 %; G​CC 16, -O2, count_numbers, 3.13.0, precompiled header: +28 %; G​CC 16, -O2, count_numbers, 3.13.0, module: +25 %; G​CC 16, -O2, server_config, 3.13.0: +51 %; G​CC 16, -O2, server_config, 3.13.0, precompiled header: +28 %; G​CC 16, -O2, server_config, 3.13.0, module: +30 %.</desc>
|
||||
<rect class="nj-charts-c2" x="8" y="6" width="12" height="12" rx="3"/>
|
||||
<text class="nj-charts-leg" x="26" y="16.5">3.13.0</text>
|
||||
<rect class="nj-charts-c1" x="97.2" y="6" width="12" height="12" rx="3"/>
|
||||
@@ -15,19 +15,19 @@
|
||||
<line class="nj-charts-grid" x1="457.5" y1="74" x2="457.5" y2="170"/>
|
||||
<line class="nj-charts-grid" x1="525.833" y1="74" x2="525.833" y2="170"/>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="142" y="101" text-anchor="end">count_numbers</text>
|
||||
<path class="nj-charts-c2" d="M320.833 78 H385.167 Q389.167 78 389.167 82 V85 Q389.167 89 385.167 89 H320.833 Z"><title>count_numbers, Apple clang 21, -O0 (debug), 3.13.0: 1,155 ms against 959 ms with 3.12.0 (+20 %)</title></path>
|
||||
<text class="nj-charts-val" x="394.167" y="87.5">+20 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 92 H225.75 Q221.75 92 221.75 96 V99 Q221.75 103 225.75 103 H320.833 Z"><title>count_numbers, Apple clang 21, -O0 (debug), 3.13.0, precompiled header: 679 ms against 959 ms with 3.12.0 (−29 %)</title></path>
|
||||
<text class="nj-charts-val" x="216.75" y="101.5" text-anchor="end">−29 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 106 H270.167 Q266.167 106 266.167 110 V113 Q266.167 117 270.167 117 H320.833 Z"><title>count_numbers, Apple clang 21, -O0 (debug), 3.13.0, module: 804 ms against 959 ms with 3.12.0 (−16 %)</title></path>
|
||||
<text class="nj-charts-val" x="261.167" y="115.5" text-anchor="end">−16 %</text>
|
||||
<path class="nj-charts-c2" d="M320.833 78 H446.667 Q450.667 78 450.667 82 V85 Q450.667 89 446.667 89 H320.833 Z"><title>count_numbers, Apple clang 21, -O0 (debug), 3.13.0: 1,320 ms against 955 ms with 3.12.0 (+38 %)</title></path>
|
||||
<text class="nj-charts-val" x="455.667" y="87.5">+38 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 92 H229.167 Q225.167 92 225.167 96 V99 Q225.167 103 229.167 103 H320.833 Z"><title>count_numbers, Apple clang 21, -O0 (debug), 3.13.0, precompiled header: 688 ms against 955 ms with 3.12.0 (−28 %)</title></path>
|
||||
<text class="nj-charts-val" x="220.167" y="101.5" text-anchor="end">−28 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 106 H311.167 Q307.167 106 307.167 110 V113 Q307.167 117 311.167 117 H320.833 Z"><title>count_numbers, Apple clang 21, -O0 (debug), 3.13.0, module: 918 ms against 955 ms with 3.12.0 (−4 %)</title></path>
|
||||
<text class="nj-charts-val" x="302.167" y="115.5" text-anchor="end">−4 %</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="142" y="150" text-anchor="end">server_config</text>
|
||||
<path class="nj-charts-c2" d="M320.833 127 H419.333 Q423.333 127 423.333 131 V134 Q423.333 138 419.333 138 H320.833 Z"><title>server_config, Apple clang 21, -O0 (debug), 3.13.0: 1,445 ms against 1,108 ms with 3.12.0 (+30 %)</title></path>
|
||||
<text class="nj-charts-val" x="428.333" y="136.5">+30 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 141 H218.917 Q214.917 141 214.917 145 V148 Q214.917 152 218.917 152 H320.833 Z"><title>server_config, Apple clang 21, -O0 (debug), 3.13.0, precompiled header: 763 ms against 1,108 ms with 3.12.0 (−31 %)</title></path>
|
||||
<text class="nj-charts-val" x="209.917" y="150.5" text-anchor="end">−31 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 155 H307.75 Q303.75 155 303.75 159 V162 Q303.75 166 307.75 166 H320.833 Z"><title>server_config, Apple clang 21, -O0 (debug), 3.13.0, module: 1,057 ms against 1,108 ms with 3.12.0 (−5 %)</title></path>
|
||||
<text class="nj-charts-val" x="298.75" y="164.5" text-anchor="end">−5 %</text>
|
||||
<path class="nj-charts-c2" d="M320.833 127 H433 Q437 127 437 131 V134 Q437 138 433 138 H320.833 Z"><title>server_config, Apple clang 21, -O0 (debug), 3.13.0: 1,496 ms against 1,113 ms with 3.12.0 (+34 %)</title></path>
|
||||
<text class="nj-charts-val" x="442" y="136.5">+34 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 141 H246.25 Q242.25 141 242.25 145 V148 Q242.25 152 246.25 152 H320.833 Z"><title>server_config, Apple clang 21, -O0 (debug), 3.13.0, precompiled header: 863 ms against 1,113 ms with 3.12.0 (−23 %)</title></path>
|
||||
<text class="nj-charts-val" x="237.25" y="150.5" text-anchor="end">−23 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 155 H323.667 Q327.667 155 327.667 159 V162 Q327.667 166 323.667 166 H320.833 Z"><title>server_config, Apple clang 21, -O0 (debug), 3.13.0, module: 1,136 ms against 1,113 ms with 3.12.0 (+2 %)</title></path>
|
||||
<text class="nj-charts-val" x="332.667" y="164.5">+2 %</text>
|
||||
<text class="nj-charts-panel" x="8" y="198">Apple clang 21, -O2</text>
|
||||
<line class="nj-charts-grid" x1="184.167" y1="204" x2="184.167" y2="300"/>
|
||||
<line class="nj-charts-grid" x1="252.5" y1="204" x2="252.5" y2="300"/>
|
||||
@@ -35,19 +35,19 @@
|
||||
<line class="nj-charts-grid" x1="457.5" y1="204" x2="457.5" y2="300"/>
|
||||
<line class="nj-charts-grid" x1="525.833" y1="204" x2="525.833" y2="300"/>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="142" y="231" text-anchor="end">count_numbers</text>
|
||||
<path class="nj-charts-c2" d="M320.833 208 H477.417 Q481.417 208 481.417 212 V215 Q481.417 219 477.417 219 H320.833 Z"><title>count_numbers, Apple clang 21, -O2, 3.13.0: 1,868 ms against 1,269 ms with 3.12.0 (+47 %)</title></path>
|
||||
<text class="nj-charts-val" x="486.417" y="217.5">+47 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 222 H344.167 Q348.167 222 348.167 226 V229 Q348.167 233 344.167 233 H320.833 Z"><title>count_numbers, Apple clang 21, -O2, 3.13.0, precompiled header: 1,364 ms against 1,269 ms with 3.12.0 (+8 %)</title></path>
|
||||
<text class="nj-charts-val" x="353.167" y="231.5">+8 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 236 H381.75 Q385.75 236 385.75 240 V243 Q385.75 247 381.75 247 H320.833 Z"><title>count_numbers, Apple clang 21, -O2, 3.13.0, module: 1,513 ms against 1,269 ms with 3.12.0 (+19 %)</title></path>
|
||||
<text class="nj-charts-val" x="390.75" y="245.5">+19 %</text>
|
||||
<path class="nj-charts-c2" d="M320.833 208 H484.25 Q488.25 208 488.25 212 V215 Q488.25 219 484.25 219 H320.833 Z"><title>count_numbers, Apple clang 21, -O2, 3.13.0: 2,081 ms against 1,393 ms with 3.12.0 (+49 %)</title></path>
|
||||
<text class="nj-charts-val" x="493.25" y="217.5">+49 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 222 H333.917 Q337.917 222 337.917 226 V229 Q337.917 233 333.917 233 H320.833 Z"><title>count_numbers, Apple clang 21, -O2, 3.13.0, precompiled header: 1,458 ms against 1,393 ms with 3.12.0 (+5 %)</title></path>
|
||||
<text class="nj-charts-val" x="342.917" y="231.5">+5 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 236 H388.583 Q392.583 236 392.583 240 V243 Q392.583 247 388.583 247 H320.833 Z"><title>count_numbers, Apple clang 21, -O2, 3.13.0, module: 1,685 ms against 1,393 ms with 3.12.0 (+21 %)</title></path>
|
||||
<text class="nj-charts-val" x="397.583" y="245.5">+21 %</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="142" y="280" text-anchor="end">server_config</text>
|
||||
<path class="nj-charts-c2" d="M320.833 257 H484.25 Q488.25 257 488.25 261 V264 Q488.25 268 484.25 268 H320.833 Z"><title>server_config, Apple clang 21, -O2, 3.13.0: 2,354 ms against 1,577 ms with 3.12.0 (+49 %)</title></path>
|
||||
<text class="nj-charts-val" x="493.25" y="266.5">+49 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 271 H354.417 Q358.417 271 358.417 275 V278 Q358.417 282 354.417 282 H320.833 Z"><title>server_config, Apple clang 21, -O2, 3.13.0, precompiled header: 1,749 ms against 1,577 ms with 3.12.0 (+11 %)</title></path>
|
||||
<text class="nj-charts-val" x="363.417" y="280.5">+11 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 285 H439.833 Q443.833 285 443.833 289 V292 Q443.833 296 439.833 296 H320.833 Z"><title>server_config, Apple clang 21, -O2, 3.13.0, module: 2,141 ms against 1,577 ms with 3.12.0 (+36 %)</title></path>
|
||||
<text class="nj-charts-val" x="448.833" y="294.5">+36 %</text>
|
||||
<path class="nj-charts-c2" d="M320.833 257 H470.583 Q474.583 257 474.583 261 V264 Q474.583 268 470.583 268 H320.833 Z"><title>server_config, Apple clang 21, -O2, 3.13.0: 2,546 ms against 1,754 ms with 3.12.0 (+45 %)</title></path>
|
||||
<text class="nj-charts-val" x="479.583" y="266.5">+45 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 271 H351 Q355 271 355 275 V278 Q355 282 351 282 H320.833 Z"><title>server_config, Apple clang 21, -O2, 3.13.0, precompiled header: 1,925 ms against 1,754 ms with 3.12.0 (+10 %)</title></path>
|
||||
<text class="nj-charts-val" x="360" y="280.5">+10 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 285 H398.833 Q402.833 285 402.833 289 V292 Q402.833 296 398.833 296 H320.833 Z"><title>server_config, Apple clang 21, -O2, 3.13.0, module: 2,169 ms against 1,754 ms with 3.12.0 (+24 %)</title></path>
|
||||
<text class="nj-charts-val" x="407.833" y="294.5">+24 %</text>
|
||||
<text class="nj-charts-panel" x="8" y="328">G​CC 16, -O0 (debug)</text>
|
||||
<line class="nj-charts-grid" x1="184.167" y1="334" x2="184.167" y2="430"/>
|
||||
<line class="nj-charts-grid" x1="252.5" y1="334" x2="252.5" y2="430"/>
|
||||
@@ -55,19 +55,19 @@
|
||||
<line class="nj-charts-grid" x1="457.5" y1="334" x2="457.5" y2="430"/>
|
||||
<line class="nj-charts-grid" x1="525.833" y1="334" x2="525.833" y2="430"/>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="142" y="361" text-anchor="end">count_numbers</text>
|
||||
<path class="nj-charts-c2" d="M320.833 338 H532.083 Q536.083 338 536.083 342 V345 Q536.083 349 532.083 349 H320.833 Z"><title>count_numbers, G​CC 16, -O0 (debug), 3.13.0: 2,346 ms against 1,444 ms with 3.12.0 (+63 %)</title></path>
|
||||
<text class="nj-charts-val" x="541.083" y="347.5">+63 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 352 H347.583 Q351.583 352 351.583 356 V359 Q351.583 363 347.583 363 H320.833 Z"><title>count_numbers, G​CC 16, -O0 (debug), 3.13.0, precompiled header: 1,579 ms against 1,444 ms with 3.12.0 (+9 %)</title></path>
|
||||
<text class="nj-charts-val" x="356.583" y="361.5">+9 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 366 H368.083 Q372.083 366 372.083 370 V373 Q372.083 377 368.083 377 H320.833 Z"><title>count_numbers, G​CC 16, -O0 (debug), 3.13.0, module: 1,662 ms against 1,444 ms with 3.12.0 (+15 %)</title></path>
|
||||
<text class="nj-charts-val" x="377.083" y="375.5">+15 %</text>
|
||||
<path class="nj-charts-c2" d="M320.833 338 H528.667 Q532.667 338 532.667 342 V345 Q532.667 349 528.667 349 H320.833 Z"><title>count_numbers, G​CC 16, -O0 (debug), 3.13.0: 2,548 ms against 1,569 ms with 3.12.0 (+62 %)</title></path>
|
||||
<text class="nj-charts-val" x="537.667" y="347.5">+62 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 352 H351 Q355 352 355 356 V359 Q355 363 351 363 H320.833 Z"><title>count_numbers, G​CC 16, -O0 (debug), 3.13.0, precompiled header: 1,725 ms against 1,569 ms with 3.12.0 (+10 %)</title></path>
|
||||
<text class="nj-charts-val" x="360" y="361.5">+10 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 366 H344.167 Q348.167 366 348.167 370 V373 Q348.167 377 344.167 377 H320.833 Z"><title>count_numbers, G​CC 16, -O0 (debug), 3.13.0, module: 1,700 ms against 1,569 ms with 3.12.0 (+8 %)</title></path>
|
||||
<text class="nj-charts-val" x="353.167" y="375.5">+8 %</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="142" y="410" text-anchor="end">server_config</text>
|
||||
<path class="nj-charts-c2" d="M320.833 387 H453.5 Q457.5 387 457.5 391 V394 Q457.5 398 453.5 398 H320.833 Z"><title>server_config, G​CC 16, -O0 (debug), 3.13.0: 2,782 ms against 1,985 ms with 3.12.0 (+40 %)</title></path>
|
||||
<text class="nj-charts-val" x="462.5" y="396.5">+40 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 401 H337.333 Q341.333 401 341.333 405 V408 Q341.333 412 337.333 412 H320.833 Z"><title>server_config, G​CC 16, -O0 (debug), 3.13.0, precompiled header: 2,113 ms against 1,985 ms with 3.12.0 (+6 %)</title></path>
|
||||
<text class="nj-charts-val" x="346.333" y="410.5">+6 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 415 H351 Q355 415 355 419 V422 Q355 426 351 426 H320.833 Z"><title>server_config, G​CC 16, -O0 (debug), 3.13.0, module: 2,181 ms against 1,985 ms with 3.12.0 (+10 %)</title></path>
|
||||
<text class="nj-charts-val" x="360" y="424.5">+10 %</text>
|
||||
<path class="nj-charts-c2" d="M320.833 387 H477.417 Q481.417 387 481.417 391 V394 Q481.417 398 477.417 398 H320.833 Z"><title>server_config, G​CC 16, -O0 (debug), 3.13.0: 2,985 ms against 2,025 ms with 3.12.0 (+47 %)</title></path>
|
||||
<text class="nj-charts-val" x="486.417" y="396.5">+47 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 401 H364.667 Q368.667 401 368.667 405 V408 Q368.667 412 364.667 412 H320.833 Z"><title>server_config, G​CC 16, -O0 (debug), 3.13.0, precompiled header: 2,302 ms against 2,025 ms with 3.12.0 (+14 %)</title></path>
|
||||
<text class="nj-charts-val" x="373.667" y="410.5">+14 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 415 H368.083 Q372.083 415 372.083 419 V422 Q372.083 426 368.083 426 H320.833 Z"><title>server_config, G​CC 16, -O0 (debug), 3.13.0, module: 2,326 ms against 2,025 ms with 3.12.0 (+15 %)</title></path>
|
||||
<text class="nj-charts-val" x="377.083" y="424.5">+15 %</text>
|
||||
<text class="nj-charts-panel" x="8" y="458">G​CC 16, -O2</text>
|
||||
<line class="nj-charts-grid" x1="184.167" y1="464" x2="184.167" y2="560"/>
|
||||
<line class="nj-charts-grid" x1="252.5" y1="464" x2="252.5" y2="560"/>
|
||||
@@ -75,19 +75,19 @@
|
||||
<line class="nj-charts-grid" x1="457.5" y1="464" x2="457.5" y2="560"/>
|
||||
<line class="nj-charts-grid" x1="525.833" y1="464" x2="525.833" y2="560"/>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="142" y="491" text-anchor="end">count_numbers</text>
|
||||
<path class="nj-charts-c2" d="M320.833 468 H480.833 Q484.833 468 484.833 472 V475 Q484.833 479 480.833 479 H320.833 Z"><title>count_numbers, G​CC 16, -O2, 3.13.0: 3,453 ms against 2,327 ms with 3.12.0 (+48 %)</title></path>
|
||||
<text class="nj-charts-val" x="489.833" y="477.5">+48 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 482 H412.5 Q416.5 482 416.5 486 V489 Q416.5 493 412.5 493 H320.833 Z"><title>count_numbers, G​CC 16, -O2, 3.13.0, precompiled header: 2,972 ms against 2,327 ms with 3.12.0 (+28 %)</title></path>
|
||||
<path class="nj-charts-c2" d="M320.833 468 H515 Q519 468 519 472 V475 Q519 479 515 479 H320.833 Z"><title>count_numbers, G​CC 16, -O2, 3.13.0: 3,702 ms against 2,336 ms with 3.12.0 (+58 %)</title></path>
|
||||
<text class="nj-charts-val" x="524" y="477.5">+58 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 482 H412.5 Q416.5 482 416.5 486 V489 Q416.5 493 412.5 493 H320.833 Z"><title>count_numbers, G​CC 16, -O2, 3.13.0, precompiled header: 2,987 ms against 2,336 ms with 3.12.0 (+28 %)</title></path>
|
||||
<text class="nj-charts-val" x="421.5" y="491.5">+28 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 496 H398.833 Q402.833 496 402.833 500 V503 Q402.833 507 398.833 507 H320.833 Z"><title>count_numbers, G​CC 16, -O2, 3.13.0, module: 2,895 ms against 2,327 ms with 3.12.0 (+24 %)</title></path>
|
||||
<text class="nj-charts-val" x="407.833" y="505.5">+24 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 496 H402.25 Q406.25 496 406.25 500 V503 Q406.25 507 402.25 507 H320.833 Z"><title>count_numbers, G​CC 16, -O2, 3.13.0, module: 2,913 ms against 2,336 ms with 3.12.0 (+25 %)</title></path>
|
||||
<text class="nj-charts-val" x="411.25" y="505.5">+25 %</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-code" x="142" y="540" text-anchor="end">server_config</text>
|
||||
<path class="nj-charts-c2" d="M320.833 517 H494.5 Q498.5 517 498.5 521 V524 Q498.5 528 494.5 528 H320.833 Z"><title>server_config, G​CC 16, -O2, 3.13.0: 4,389 ms against 2,889 ms with 3.12.0 (+52 %)</title></path>
|
||||
<text class="nj-charts-val" x="503.5" y="526.5">+52 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 531 H439.833 Q443.833 531 443.833 535 V538 Q443.833 542 439.833 542 H320.833 Z"><title>server_config, G​CC 16, -O2, 3.13.0, precompiled header: 3,942 ms against 2,889 ms with 3.12.0 (+36 %)</title></path>
|
||||
<text class="nj-charts-val" x="448.833" y="540.5">+36 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 545 H426.167 Q430.167 545 430.167 549 V552 Q430.167 556 426.167 556 H320.833 Z"><title>server_config, G​CC 16, -O2, 3.13.0, module: 3,826 ms against 2,889 ms with 3.12.0 (+32 %)</title></path>
|
||||
<text class="nj-charts-val" x="435.167" y="554.5">+32 %</text>
|
||||
<path class="nj-charts-c2" d="M320.833 517 H491.083 Q495.083 517 495.083 521 V524 Q495.083 528 491.083 528 H320.833 Z"><title>server_config, G​CC 16, -O2, 3.13.0: 4,714 ms against 3,122 ms with 3.12.0 (+51 %)</title></path>
|
||||
<text class="nj-charts-val" x="500.083" y="526.5">+51 %</text>
|
||||
<path class="nj-charts-c1" d="M320.833 531 H412.5 Q416.5 531 416.5 535 V538 Q416.5 542 412.5 542 H320.833 Z"><title>server_config, G​CC 16, -O2, 3.13.0, precompiled header: 4,006 ms against 3,122 ms with 3.12.0 (+28 %)</title></path>
|
||||
<text class="nj-charts-val" x="421.5" y="540.5">+28 %</text>
|
||||
<path class="nj-charts-c3" d="M320.833 545 H419.333 Q423.333 545 423.333 549 V552 Q423.333 556 419.333 556 H320.833 Z"><title>server_config, G​CC 16, -O2, 3.13.0, module: 4,055 ms against 3,122 ms with 3.12.0 (+30 %)</title></path>
|
||||
<text class="nj-charts-val" x="428.333" y="554.5">+30 %</text>
|
||||
<line class="nj-charts-ref" x1="320.833" y1="52" x2="320.833" y2="574"/>
|
||||
<text class="nj-charts-tick" x="184.167" y="590">−40 %</text>
|
||||
<text class="nj-charts-tick" x="252.5" y="590">−20 %</text>
|
||||
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
@@ -1,6 +1,6 @@
|
||||
<svg class="nj-fig nj-charts nj-charts--timeline" viewBox="0 0 340 270" role="img" aria-labelledby="nj-blog-tl-accept_twitter nj-blog-tl-accept_twitter-d" xmlns="http://www.w3.org/2000/svg">
|
||||
<title id="nj-blog-tl-accept_twitter">accept() twitter.json: speedup over 3.12.0 by commit</title>
|
||||
<desc id="nj-blog-tl-accept_twitter-d">accept() twitter.json: speedup over 3.12.0 at each of 317 commits, ending at 5.0x. Labeled steps, by theme: 4, 1, 4, 4, 2, 2.</desc>
|
||||
<desc id="nj-blog-tl-accept_twitter-d">accept() twitter.json: speedup over 3.12.0 at each of 353 commits, ending at 5.1x. Labeled steps, by theme: 4, 1, 4, 4, 2, 2.</desc>
|
||||
<text class="nj-charts-panel" x="8" y="18">accept() twitter.json</text>
|
||||
<line class="nj-charts-grid" x1="44" y1="208" x2="330" y2="208"/>
|
||||
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="212">1×</text>
|
||||
@@ -12,34 +12,34 @@
|
||||
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="70">8×</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="44" y2="212"/>
|
||||
<text class="nj-charts-tick" x="44" y="225">3.12.0</text>
|
||||
<line class="nj-charts-axis" x1="126.361" y1="208" x2="126.361" y2="212"/>
|
||||
<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
|
||||
<circle class="nj-charts-json-dot" cx="93.8" cy="194.6" r="3.5"><title>#5234: 1.22×</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"/>
|
||||
<text class="nj-theme-num" x="93.8" y="50.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-charts-json-dot" cx="139.9" cy="143.3" r="3.5"><title>#5283: 2.6×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="139.9" y1="54.0" x2="139.9" y2="138.3"/>
|
||||
<circle class="nj-theme-dot" cx="139.9" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="139.9" y="50.0" text-anchor="middle">1</text>
|
||||
<circle class="nj-charts-json-dot" cx="243.1" cy="135.2" r="3.5"><title>#5592: 2.9×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="243.1" y1="54.0" x2="243.1" y2="130.2"/>
|
||||
<circle class="nj-theme-dot" cx="243.1" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="243.1" y="50.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-charts-json-dot" cx="265.7" cy="118.7" r="3.5"><title>#5809: 3.7×</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="266.6" cy="112.7" r="3.5"><title>#5810: 4.0×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="266.6" y1="36.0" x2="266.6" y2="107.7"/>
|
||||
<circle class="nj-theme-dot" cx="257.6" cy="28.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="257.6" y="32.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-theme-dot" cx="275.6" cy="28.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="275.6" y="32.0" text-anchor="middle">2</text>
|
||||
<circle class="nj-charts-json-dot" cx="299.2" cy="99.2" r="3.5"><title>#5853: 4.9×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="299.2" y1="54.0" x2="299.2" y2="94.2"/>
|
||||
<circle class="nj-theme-dot" cx="299.2" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="299.2" y="50.0" text-anchor="middle">2</text>
|
||||
<line class="nj-charts-axis" x1="117.938" y1="208" x2="117.938" y2="212"/>
|
||||
<text class="nj-charts-tick" x="117.938" y="225">Sep 2026</text>
|
||||
<line class="nj-charts-axis" x1="198.375" y1="208" x2="198.375" y2="212"/>
|
||||
<text class="nj-charts-tick" x="198.375" y="225">Oct</text>
|
||||
<polyline class="nj-charts-json" points="44.0,208.0 44.8,208.0 44.8,208.1 45.6,208.1 45.6,207.8 46.4,207.8 46.4,208.0 47.2,208.0 47.2,207.7 48.1,207.7 48.1,207.9 48.9,207.9 48.9,208.0 49.7,208.0 49.7,208.1 50.5,208.1 50.5,208.4 51.3,208.4 51.3,207.1 52.1,207.1 52.1,207.9 52.9,207.9 52.9,208.2 53.8,208.2 53.8,207.9 54.6,207.9 54.6,207.9 55.4,207.9 55.4,207.7 56.2,207.7 56.2,207.9 57.0,207.9 57.0,207.8 57.8,207.8 57.8,207.7 58.6,207.7 58.6,208.2 59.4,208.2 59.4,207.3 60.2,207.3 60.2,208.0 61.1,208.0 61.1,208.0 61.9,208.0 61.9,207.8 62.7,207.8 62.7,207.9 63.5,207.9 63.5,207.9 64.3,207.9 64.3,207.2 65.1,207.2 65.1,207.8 65.9,207.8 65.9,207.6 66.8,207.6 66.8,207.8 67.6,207.8 67.6,207.9 68.4,207.9 68.4,207.9 69.2,207.9 69.2,207.4 70.0,207.4 70.0,207.7 70.8,207.7 70.8,207.6 71.6,207.6 71.6,207.7 72.4,207.7 72.4,208.1 73.2,208.1 73.2,207.8 74.1,207.8 74.1,207.1 74.9,207.1 74.9,207.9 75.7,207.9 75.7,207.1 76.5,207.1 76.5,207.8 77.3,207.8 77.3,207.3 78.1,207.3 78.1,208.1 78.9,208.1 78.9,207.6 79.8,207.6 79.8,207.6 80.6,207.6 80.6,208.1 81.4,208.1 81.4,208.3 82.2,208.3 82.2,207.8 83.0,207.8 83.0,207.7 83.8,207.7 83.8,207.9 84.6,207.9 84.6,207.8 85.4,207.8 85.4,207.5 86.2,207.5 86.2,207.9 87.1,207.9 87.1,207.8 87.9,207.8 87.9,208.0 88.7,208.0 88.7,194.6 89.5,194.6 89.5,195.3 90.3,195.3 90.3,195.6 91.1,195.6 91.1,195.1 91.9,195.1 91.9,195.6 92.8,195.6 92.8,194.6 93.6,194.6 93.6,194.7 94.4,194.7 94.4,195.3 95.2,195.3 95.2,195.1 96.0,195.1 96.0,195.1 96.8,195.1 96.8,195.6 97.6,195.6 97.6,194.6 98.4,194.6 98.4,195.2 99.2,195.2 99.2,195.3 100.1,195.3 100.1,195.6 100.9,195.6 100.9,195.3 101.7,195.3 101.7,195.4 102.5,195.4 102.5,195.2 103.3,195.2 103.3,195.8 104.1,195.8 104.1,195.1 104.9,195.1 104.9,195.3 105.8,195.3 105.8,196.2 106.6,196.2 106.6,195.7 107.4,195.7 107.4,194.5 108.2,194.5 108.2,194.7 109.0,194.7 109.0,195.1 109.8,195.1 109.8,195.6 110.6,195.6 110.6,195.6 111.4,195.6 111.4,195.5 112.2,195.5 112.2,194.6 113.1,194.6 113.1,194.4 113.9,194.4 113.9,195.1 114.7,195.1 114.7,195.4 115.5,195.4 115.5,195.8 116.3,195.8 116.3,194.6 117.1,194.6 117.1,195.0 117.9,195.0 117.9,195.4 118.8,195.4 118.8,195.1 119.6,195.1 119.6,195.5 120.4,195.5 120.4,193.5 121.2,193.5 121.2,194.9 122.0,194.9 122.0,195.1 122.8,195.1 122.8,194.8 123.6,194.8 123.6,194.6 124.4,194.6 124.4,194.7 125.3,194.7 125.3,195.1 126.1,195.1 126.1,195.0 126.9,195.0 126.9,194.7 127.7,194.7 127.7,195.3 128.5,195.3 128.5,194.6 129.3,194.6 129.3,194.7 130.1,194.7 130.1,143.3 130.9,143.3 130.9,143.0 131.8,143.0 131.8,142.2 132.6,142.2 132.6,141.9 133.4,141.9 133.4,143.0 134.2,143.0 134.2,142.6 135.0,142.6 135.0,142.4 135.8,142.4 135.8,142.9 136.6,142.9 136.6,143.1 137.4,143.1 137.4,143.2 138.2,143.2 138.2,142.1 139.1,142.1 139.1,143.1 139.9,143.1 139.9,142.4 140.7,142.4 140.7,143.0 141.5,143.0 141.5,141.8 142.3,141.8 142.3,143.1 143.1,143.1 143.1,141.9 143.9,141.9 143.9,143.1 144.8,143.1 144.8,142.9 145.6,142.9 145.6,142.0 146.4,142.0 146.4,142.5 147.2,142.5 147.2,142.4 148.0,142.4 148.0,143.5 148.8,143.5 148.8,142.9 149.6,142.9 149.6,142.3 150.4,142.3 150.4,143.1 151.2,143.1 151.2,141.9 152.1,141.9 152.1,142.4 152.9,142.4 152.9,141.9 153.7,141.9 153.7,141.8 154.5,141.8 154.5,141.3 155.3,141.3 155.3,142.9 156.1,142.9 156.1,141.2 156.9,141.2 156.9,142.8 157.8,142.8 157.8,142.6 158.6,142.6 158.6,142.3 159.4,142.3 159.4,142.7 160.2,142.7 160.2,142.0 161.0,142.0 161.0,141.5 161.8,141.5 161.8,141.2 162.6,141.2 162.6,141.4 163.4,141.4 163.4,141.9 164.2,141.9 164.2,141.6 165.1,141.6 165.1,141.8 165.9,141.8 165.9,142.0 166.7,142.0 166.7,142.0 167.5,142.0 167.5,141.5 168.3,141.5 168.3,142.4 169.1,142.4 169.1,141.7 169.9,141.7 169.9,142.4 170.8,142.4 170.8,141.9 171.6,141.9 171.6,141.7 172.4,141.7 172.4,141.1 173.2,141.1 173.2,141.5 174.0,141.5 174.0,141.6 174.8,141.6 174.8,141.7 175.6,141.7 175.6,140.3 176.4,140.3 176.4,140.7 177.2,140.7 177.2,140.6 178.1,140.6 178.1,141.0 178.9,141.0 178.9,141.8 179.7,141.8 179.7,141.6 180.5,141.6 180.5,141.5 181.3,141.5 181.3,141.0 182.1,141.0 182.1,141.1 182.9,141.1 182.9,140.7 183.8,140.7 183.8,140.4 184.6,140.4 184.6,142.1 185.4,142.1 185.4,141.7 186.2,141.7 186.2,141.2 187.0,141.2 187.0,141.5 187.8,141.5 187.8,140.4 188.6,140.4 188.6,141.0 189.4,141.0 189.4,141.5 190.2,141.5 190.2,141.2 191.1,141.2 191.1,142.1 191.9,142.1 191.9,140.4 192.7,140.4 192.7,141.1 193.5,141.1 193.5,141.5 194.3,141.5 194.3,140.9 195.1,140.9 195.1,141.7 195.9,141.7 195.9,140.4 196.8,140.4 196.8,141.9 197.6,141.9 197.6,141.1 198.4,141.1 198.4,141.4 199.2,141.4 199.2,140.6 200.0,140.6 200.0,141.4 200.8,141.4 200.8,140.1 201.6,140.1 201.6,141.2 202.4,141.2 202.4,140.8 203.2,140.8 203.2,141.4 204.1,141.4 204.1,141.5 204.9,141.5 204.9,141.2 205.7,141.2 205.7,142.0 206.5,142.0 206.5,142.6 207.3,142.6 207.3,142.3 208.1,142.3 208.1,140.6 208.9,140.6 208.9,140.8 209.8,140.8 209.8,140.9 210.6,140.9 210.6,141.1 211.4,141.1 211.4,141.6 212.2,141.6 212.2,141.0 213.0,141.0 213.0,141.5 213.8,141.5 213.8,141.4 214.6,141.4 214.6,142.0 215.4,142.0 215.4,140.6 216.2,140.6 216.2,1Line truncated
|
||||
<circle class="nj-charts-json-dot" cx="88.7" cy="194.6" r="3.5"><title>#5234: 1.22×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="88.7" y1="54.0" x2="88.7" y2="189.6"/>
|
||||
<circle class="nj-theme-dot" cx="88.7" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="88.7" y="50.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-charts-json-dot" cx="130.1" cy="143.3" r="3.5"><title>#5283: 2.6×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="130.1" y1="54.0" x2="130.1" y2="138.3"/>
|
||||
<circle class="nj-theme-dot" cx="130.1" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="130.1" y="50.0" text-anchor="middle">1</text>
|
||||
<circle class="nj-charts-json-dot" cx="222.8" cy="135.2" r="3.5"><title>#5592: 2.9×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="222.8" y1="54.0" x2="222.8" y2="130.2"/>
|
||||
<circle class="nj-theme-dot" cx="222.8" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="222.8" y="50.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-charts-json-dot" cx="243.1" cy="118.7" r="3.5"><title>#5809: 3.7×</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="243.9" cy="112.7" r="3.5"><title>#5810: 4.0×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="243.9" y1="36.0" x2="243.9" y2="107.7"/>
|
||||
<circle class="nj-theme-dot" cx="234.9" cy="28.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="234.9" y="32.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-theme-dot" cx="252.9" cy="28.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="252.9" y="32.0" text-anchor="middle">2</text>
|
||||
<circle class="nj-charts-json-dot" cx="273.1" cy="99.2" r="3.5"><title>#5853: 4.9×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="273.1" y1="54.0" x2="273.1" y2="94.2"/>
|
||||
<circle class="nj-theme-dot" cx="273.1" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="273.1" y="50.0" text-anchor="middle">2</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="330" y2="208"/>
|
||||
<text class="nj-charts-note" x="8" y="262">speedup over 3.12.0 (log scale), more is better</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 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_canada nj-blog-tl-dump_canada-d" xmlns="http://www.w3.org/2000/svg">
|
||||
<title id="nj-blog-tl-dump_canada">dump() canada.json: speedup over 3.12.0 by commit</title>
|
||||
<desc id="nj-blog-tl-dump_canada-d">dump() canada.json: speedup over 3.12.0 at each of 317 commits, ending at 3.3x. Labeled steps, by theme: 6, 3.</desc>
|
||||
<desc id="nj-blog-tl-dump_canada-d">dump() canada.json: speedup over 3.12.0 at each of 353 commits, ending at 3.3x. Labeled steps, by theme: 6, 3.</desc>
|
||||
<text class="nj-charts-panel" x="8" y="18">dump() 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×</text>
|
||||
@@ -12,19 +12,19 @@
|
||||
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="70">8×</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="44" y2="212"/>
|
||||
<text class="nj-charts-tick" x="44" y="225">3.12.0</text>
|
||||
<line class="nj-charts-axis" x1="126.361" y1="208" x2="126.361" y2="212"/>
|
||||
<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
|
||||
<circle class="nj-charts-json-dot" cx="141.7" cy="202.2" r="3.5"><title>#5285: 1.09×</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"/>
|
||||
<text class="nj-theme-num" x="141.7" y="50.0" text-anchor="middle">6</text>
|
||||
<circle class="nj-charts-json-dot" cx="269.4" cy="130.7" r="3.5"><title>#5634: 3.1×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="269.4" y1="54.0" x2="269.4" y2="125.7"/>
|
||||
<circle class="nj-theme-dot" cx="269.4" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="269.4" y="50.0" text-anchor="middle">3</text>
|
||||
<line class="nj-charts-axis" x1="117.938" y1="208" x2="117.938" y2="212"/>
|
||||
<text class="nj-charts-tick" x="117.938" y="225">Sep 2026</text>
|
||||
<line class="nj-charts-axis" x1="198.375" y1="208" x2="198.375" y2="212"/>
|
||||
<text class="nj-charts-tick" x="198.375" y="225">Oct</text>
|
||||
<polyline class="nj-charts-json" points="44.0,208.0 44.8,208.0 44.8,208.0 45.6,208.0 45.6,207.2 46.4,207.2 46.4,207.9 47.2,207.9 47.2,206.7 48.1,206.7 48.1,207.5 48.9,207.5 48.9,207.7 49.7,207.7 49.7,207.3 50.5,207.3 50.5,207.9 51.3,207.9 51.3,206.6 52.1,206.6 52.1,207.5 52.9,207.5 52.9,208.0 53.8,208.0 53.8,207.6 54.6,207.6 54.6,207.2 55.4,207.2 55.4,207.5 56.2,207.5 56.2,206.6 57.0,206.6 57.0,207.1 57.8,207.1 57.8,207.1 58.6,207.1 58.6,207.2 59.4,207.2 59.4,206.6 60.2,206.6 60.2,207.5 61.1,207.5 61.1,207.6 61.9,207.6 61.9,207.7 62.7,207.7 62.7,207.2 63.5,207.2 63.5,206.5 64.3,206.5 64.3,206.8 65.1,206.8 65.1,207.1 65.9,207.1 65.9,207.0 66.8,207.0 66.8,207.1 67.6,207.1 67.6,206.7 68.4,206.7 68.4,208.2 69.2,208.2 69.2,207.5 70.0,207.5 70.0,206.6 70.8,206.6 70.8,206.7 71.6,206.7 71.6,206.3 72.4,206.3 72.4,208.4 73.2,208.4 73.2,207.3 74.1,207.3 74.1,206.8 74.9,206.8 74.9,208.0 75.7,208.0 75.7,207.8 76.5,207.8 76.5,207.1 77.3,207.1 77.3,207.5 78.1,207.5 78.1,207.9 78.9,207.9 78.9,206.3 79.8,206.3 79.8,206.8 80.6,206.8 80.6,207.5 81.4,207.5 81.4,208.1 82.2,208.1 82.2,206.6 83.0,206.6 83.0,207.2 83.8,207.2 83.8,207.2 84.6,207.2 84.6,207.4 85.4,207.4 85.4,207.0 86.2,207.0 86.2,206.7 87.1,206.7 87.1,206.5 87.9,206.5 87.9,207.6 88.7,207.6 88.7,207.4 89.5,207.4 89.5,207.2 90.3,207.2 90.3,207.5 91.1,207.5 91.1,207.6 91.9,207.6 91.9,208.0 92.8,208.0 92.8,208.2 93.6,208.2 93.6,206.7 94.4,206.7 94.4,207.4 95.2,207.4 95.2,206.7 96.0,206.7 96.0,206.6 96.8,206.6 96.8,208.0 97.6,208.0 97.6,208.0 98.4,208.0 98.4,206.3 99.2,206.3 99.2,208.3 100.1,208.3 100.1,207.8 100.9,207.8 100.9,207.4 101.7,207.4 101.7,206.3 102.5,206.3 102.5,208.1 103.3,208.1 103.3,207.5 104.1,207.5 104.1,207.4 104.9,207.4 104.9,207.5 105.8,207.5 105.8,207.7 106.6,207.7 106.6,208.0 107.4,208.0 107.4,207.0 108.2,207.0 108.2,207.5 109.0,207.5 109.0,207.2 109.8,207.2 109.8,207.7 110.6,207.7 110.6,207.3 111.4,207.3 111.4,208.0 112.2,208.0 112.2,206.7 113.1,206.7 113.1,206.6 113.9,206.6 113.9,207.2 114.7,207.2 114.7,208.1 115.5,208.1 115.5,208.1 116.3,208.1 116.3,206.7 117.1,206.7 117.1,207.8 117.9,207.8 117.9,207.6 118.8,207.6 118.8,207.4 119.6,207.4 119.6,207.1 120.4,207.1 120.4,207.5 121.2,207.5 121.2,208.8 122.0,208.8 122.0,209.2 122.8,209.2 122.8,208.4 123.6,208.4 123.6,208.3 124.4,208.3 124.4,208.0 125.3,208.0 125.3,209.0 126.1,209.0 126.1,208.5 126.9,208.5 126.9,209.1 127.7,209.1 127.7,209.2 128.5,209.2 128.5,208.6 129.3,208.6 129.3,207.7 130.1,207.7 130.1,207.7 130.9,207.7 130.9,207.5 131.8,207.5 131.8,202.2 132.6,202.2 132.6,202.3 133.4,202.3 133.4,201.7 134.2,201.7 134.2,202.3 135.0,202.3 135.0,201.9 135.8,201.9 135.8,201.2 136.6,201.2 136.6,202.1 137.4,202.1 137.4,202.6 138.2,202.6 138.2,201.5 139.1,201.5 139.1,202.3 139.9,202.3 139.9,202.3 140.7,202.3 140.7,201.7 141.5,201.7 141.5,201.3 142.3,201.3 142.3,202.5 143.1,202.5 143.1,201.1 143.9,201.1 143.9,202.9 144.8,202.9 144.8,202.2 145.6,202.2 145.6,201.7 146.4,201.7 146.4,201.7 147.2,201.7 147.2,201.6 148.0,201.6 148.0,203.0 148.8,203.0 148.8,202.7 149.6,202.7 149.6,202.4 150.4,202.4 150.4,202.8 151.2,202.8 151.2,202.1 152.1,202.1 152.1,203.1 152.9,203.1 152.9,202.3 153.7,202.3 153.7,202.3 154.5,202.3 154.5,201.8 155.3,201.8 155.3,203.1 156.1,203.1 156.1,201.8 156.9,201.8 156.9,202.6 157.8,202.6 157.8,202.6 158.6,202.6 158.6,202.9 159.4,202.9 159.4,202.3 160.2,202.3 160.2,202.3 161.0,202.3 161.0,201.6 161.8,201.6 161.8,201.5 162.6,201.5 162.6,202.4 163.4,202.4 163.4,201.7 164.2,201.7 164.2,201.2 165.1,201.2 165.1,202.2 165.9,202.2 165.9,201.6 166.7,201.6 166.7,201.6 167.5,201.6 167.5,201.8 168.3,201.8 168.3,202.1 169.1,202.1 169.1,201.7 169.9,201.7 169.9,201.4 170.8,201.4 170.8,202.2 171.6,202.2 171.6,202.7 172.4,202.7 172.4,202.4 173.2,202.4 173.2,201.7 174.0,201.7 174.0,201.7 174.8,201.7 174.8,202.3 175.6,202.3 175.6,201.6 176.4,201.6 176.4,201.7 177.2,201.7 177.2,202.2 178.1,202.2 178.1,202.2 178.9,202.2 178.9,202.4 179.7,202.4 179.7,201.7 180.5,201.7 180.5,202.1 181.3,202.1 181.3,201.6 182.1,201.6 182.1,202.2 182.9,202.2 182.9,201.9 183.8,201.9 183.8,201.9 184.6,201.9 184.6,202.5 185.4,202.5 185.4,201.6 186.2,201.6 186.2,202.1 187.0,202.1 187.0,202.3 187.8,202.3 187.8,201.8 188.6,201.8 188.6,201.5 189.4,201.5 189.4,202.3 190.2,202.3 190.2,202.2 191.1,202.2 191.1,202.9 191.9,202.9 191.9,201.3 192.7,201.3 192.7,202.2 193.5,202.2 193.5,203.6 194.3,203.6 194.3,201.9 195.1,201.9 195.1,202.4 195.9,202.4 195.9,201.7 196.8,201.7 196.8,202.7 197.6,202.7 197.6,202.3 198.4,202.3 198.4,202.5 199.2,202.5 199.2,202.1 200.0,202.1 200.0,203.4 200.8,203.4 200.8,202.1 201.6,202.1 201.6,202.3 202.4,202.3 202.4,201.9 203.2,201.9 203.2,202.3 204.1,202.3 204.1,201.7 204.9,201.7 204.9,202.4 205.7,202.4 205.7,202.3 206.5,202.3 206.5,202.9 207.3,202.9 207.3,202.9 208.1,202.9 208.1,202.2 208.9,202.2 208.9,202.4 209.8,202.4 209.8,202.2 210.6,202.2 210.6,202.7 211.4,202.7 211.4,202.5 212.2,202.5 212.2,202.5 213.0,202.5 213.0,201.5 213.8,201.5 213.8,203.1 214.6,203.1 214.6,203.2 215.4,203.2 215.4,201.5 216.2,201.5 216.2,2Line truncated
|
||||
<circle class="nj-charts-json-dot" cx="131.8" cy="202.2" r="3.5"><title>#5285: 1.09×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="131.8" y1="54.0" x2="131.8" y2="197.2"/>
|
||||
<circle class="nj-theme-dot" cx="131.8" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="131.8" y="50.0" text-anchor="middle">6</text>
|
||||
<circle class="nj-charts-json-dot" cx="246.3" cy="130.7" r="3.5"><title>#5634: 3.1×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="246.3" y1="54.0" x2="246.3" y2="125.7"/>
|
||||
<circle class="nj-theme-dot" cx="246.3" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="246.3" y="50.0" text-anchor="middle">3</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="330" y2="208"/>
|
||||
<text class="nj-charts-note" x="8" y="262">speedup over 3.12.0 (log scale), more is better</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 9.6 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-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.8x. 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 353 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×</text>
|
||||
@@ -14,27 +14,24 @@
|
||||
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="70">16×</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="44" y2="212"/>
|
||||
<text class="nj-charts-tick" x="44" y="225">3.12.0</text>
|
||||
<line class="nj-charts-axis" x1="126.361" y1="208" x2="126.361" y2="212"/>
|
||||
<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
|
||||
<circle class="nj-charts-json-dot" cx="141.7" cy="147.4" r="3.5"><title>#5285: 3.3×</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"/>
|
||||
<text class="nj-theme-num" x="141.7" y="50.0" text-anchor="middle">6</text>
|
||||
<circle class="nj-charts-json-dot" cx="268.5" cy="139.0" r="3.5"><title>#5738: 3.8×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="268.5" y1="54.0" x2="268.5" y2="134.0"/>
|
||||
<circle class="nj-theme-dot" cx="268.5" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="268.5" y="50.0" text-anchor="middle">2</text>
|
||||
<circle class="nj-charts-json-dot" cx="301.9" cy="131.0" r="3.5"><title>#5878: 4.5×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="301.9" y1="54.0" x2="301.9" y2="126.0"/>
|
||||
<circle class="nj-theme-dot" cx="301.9" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="301.9" y="50.0" text-anchor="middle">2</text>
|
||||
<circle class="nj-charts-json-dot" cx="308.3" cy="109.6" r="3.5"><title>#5883: 6.8×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="308.3" y1="36.0" x2="308.3" y2="104.6"/>
|
||||
<circle class="nj-theme-dot" cx="308.3" cy="28.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="308.3" y="32.0" text-anchor="middle">2</text>
|
||||
<line class="nj-charts-axis" x1="117.938" y1="208" x2="117.938" y2="212"/>
|
||||
<text class="nj-charts-tick" x="117.938" y="225">Sep 2026</text>
|
||||
<line class="nj-charts-axis" x1="198.375" y1="208" x2="198.375" y2="212"/>
|
||||
<text class="nj-charts-tick" x="198.375" y="225">Oct</text>
|
||||
<polyline class="nj-charts-json" points="44.0,208.0 44.8,208.0 44.8,208.0 45.6,208.0 45.6,207.2 46.4,207.2 46.4,207.9 47.2,207.9 47.2,206.8 48.1,206.8 48.1,208.0 48.9,208.0 48.9,207.4 49.7,207.4 49.7,207.3 50.5,207.3 50.5,208.0 51.3,208.0 51.3,206.8 52.1,206.8 52.1,207.2 52.9,207.2 52.9,208.0 53.8,208.0 53.8,207.2 54.6,207.2 54.6,207.5 55.4,207.5 55.4,206.8 56.2,206.8 56.2,206.9 57.0,206.9 57.0,207.5 57.8,207.5 57.8,207.3 58.6,207.3 58.6,207.8 59.4,207.8 59.4,206.8 60.2,206.8 60.2,207.8 61.1,207.8 61.1,207.4 61.9,207.4 61.9,208.0 62.7,208.0 62.7,207.4 63.5,207.4 63.5,207.3 64.3,207.3 64.3,206.9 65.1,206.9 65.1,207.3 65.9,207.3 65.9,207.4 66.8,207.4 66.8,207.6 67.6,207.6 67.6,207.5 68.4,207.5 68.4,207.6 69.2,207.6 69.2,207.4 70.0,207.4 70.0,207.2 70.8,207.2 70.8,207.1 71.6,207.1 71.6,207.3 72.4,207.3 72.4,207.7 73.2,207.7 73.2,207.8 74.1,207.8 74.1,206.9 74.9,206.9 74.9,207.6 75.7,207.6 75.7,207.0 76.5,207.0 76.5,207.0 77.3,207.0 77.3,207.3 78.1,207.3 78.1,207.6 78.9,207.6 78.9,206.8 79.8,206.8 79.8,207.7 80.6,207.7 80.6,207.4 81.4,207.4 81.4,207.5 82.2,207.5 82.2,207.1 83.0,207.1 83.0,207.3 83.8,207.3 83.8,207.5 84.6,207.5 84.6,207.3 85.4,207.3 85.4,207.3 86.2,207.3 86.2,206.9 87.1,206.9 87.1,207.4 87.9,207.4 87.9,207.9 88.7,207.9 88.7,207.3 89.5,207.3 89.5,206.8 90.3,206.8 90.3,207.6 91.1,207.6 91.1,207.7 91.9,207.7 91.9,208.6 92.8,208.6 92.8,208.5 93.6,208.5 93.6,208.6 94.4,208.6 94.4,209.2 95.2,209.2 95.2,208.5 96.0,208.5 96.0,208.2 96.8,208.2 96.8,209.3 97.6,209.3 97.6,208.4 98.4,208.4 98.4,208.4 99.2,208.4 99.2,209.0 100.1,209.0 100.1,209.0 100.9,209.0 100.9,208.7 101.7,208.7 101.7,208.9 102.5,208.9 102.5,208.7 103.3,208.7 103.3,209.0 104.1,209.0 104.1,208.8 104.9,208.8 104.9,208.7 105.8,208.7 105.8,209.3 106.6,209.3 106.6,208.6 107.4,208.6 107.4,208.5 108.2,208.5 108.2,208.4 109.0,208.4 109.0,208.0 109.8,208.0 109.8,208.9 110.6,208.9 110.6,208.6 111.4,208.6 111.4,208.9 112.2,208.9 112.2,208.1 113.1,208.1 113.1,208.0 113.9,208.0 113.9,208.6 114.7,208.6 114.7,208.5 115.5,208.5 115.5,209.1 116.3,209.1 116.3,208.0 117.1,208.0 117.1,209.1 117.9,209.1 117.9,208.9 118.8,208.9 118.8,208.5 119.6,208.5 119.6,209.1 120.4,209.1 120.4,209.0 121.2,209.0 121.2,208.8 122.0,208.8 122.0,208.6 122.8,208.6 122.8,208.6 123.6,208.6 123.6,208.2 124.4,208.2 124.4,209.0 125.3,209.0 125.3,209.2 126.1,209.2 126.1,209.1 126.9,209.1 126.9,209.2 127.7,209.2 127.7,209.2 128.5,209.2 128.5,208.5 129.3,208.5 129.3,208.7 130.1,208.7 130.1,209.5 130.9,209.5 130.9,208.4 131.8,208.4 131.8,147.4 132.6,147.4 132.6,148.3 133.4,148.3 133.4,148.4 134.2,148.4 134.2,147.5 135.0,147.5 135.0,147.5 135.8,147.5 135.8,147.7 136.6,147.7 136.6,148.2 137.4,148.2 137.4,148.2 138.2,148.2 138.2,147.3 139.1,147.3 139.1,148.1 139.9,148.1 139.9,147.2 140.7,147.2 140.7,147.5 141.5,147.5 141.5,147.3 142.3,147.3 142.3,148.4 143.1,148.4 143.1,147.4 143.9,147.4 143.9,148.3 144.8,148.3 144.8,148.5 145.6,148.5 145.6,147.7 146.4,147.7 146.4,147.8 147.2,147.8 147.2,148.0 148.0,148.0 148.0,148.5 148.8,148.5 148.8,148.0 149.6,148.0 149.6,148.1 150.4,148.1 150.4,148.2 151.2,148.2 151.2,148.3 152.1,148.3 152.1,149.0 152.9,149.0 152.9,148.7 153.7,148.7 153.7,148.2 154.5,148.2 154.5,148.1 155.3,148.1 155.3,148.9 156.1,148.9 156.1,147.7 156.9,147.7 156.9,149.2 157.8,149.2 157.8,149.1 158.6,149.1 158.6,148.8 159.4,148.8 159.4,148.1 160.2,148.1 160.2,148.7 161.0,148.7 161.0,147.7 161.8,147.7 161.8,147.9 162.6,147.9 162.6,147.7 163.4,147.7 163.4,148.3 164.2,148.3 164.2,148.0 165.1,148.0 165.1,148.2 165.9,148.2 165.9,148.4 166.7,148.4 166.7,148.3 167.5,148.3 167.5,148.1 168.3,148.1 168.3,149.0 169.1,149.0 169.1,147.8 169.9,147.8 169.9,148.8 170.8,148.8 170.8,148.3 171.6,148.3 171.6,148.0 172.4,148.0 172.4,147.8 173.2,147.8 173.2,148.0 174.0,148.0 174.0,147.7 174.8,147.7 174.8,148.2 175.6,148.2 175.6,147.1 176.4,147.1 176.4,147.9 177.2,147.9 177.2,147.9 178.1,147.9 178.1,147.9 178.9,147.9 178.9,147.7 179.7,147.7 179.7,148.0 180.5,148.0 180.5,147.4 181.3,147.4 181.3,147.5 182.1,147.5 182.1,147.5 182.9,147.5 182.9,147.0 183.8,147.0 183.8,147.0 184.6,147.0 184.6,148.2 185.4,148.2 185.4,147.7 186.2,147.7 186.2,148.0 187.0,148.0 187.0,148.2 187.8,148.2 187.8,147.7 188.6,147.7 188.6,147.8 189.4,147.8 189.4,148.2 190.2,148.2 190.2,148.3 191.1,148.3 191.1,148.5 191.9,148.5 191.9,148.1 192.7,148.1 192.7,147.9 193.5,147.9 193.5,148.2 194.3,148.2 194.3,147.5 195.1,147.5 195.1,148.1 195.9,148.1 195.9,147.6 196.8,147.6 196.8,148.4 197.6,148.4 197.6,148.2 198.4,148.2 198.4,148.3 199.2,148.3 199.2,148.7 200.0,148.7 200.0,149.4 200.8,149.4 200.8,148.7 201.6,148.7 201.6,149.5 202.4,149.5 202.4,148.2 203.2,148.2 203.2,148.5 204.1,148.5 204.1,149.1 204.9,149.1 204.9,148.8 205.7,148.8 205.7,149.2 206.5,149.2 206.5,149.3 207.3,149.3 207.3,149.1 208.1,149.1 208.1,148.6 208.9,148.6 208.9,148.9 209.8,148.9 209.8,148.5 210.6,148.5 210.6,148.9 211.4,148.9 211.4,149.0 212.2,149.0 212.2,149.0 213.0,149.0 213.0,148.5 213.8,148.5 213.8,149.1 214.6,149.1 214.6,149.2 215.4,149.2 215.4,148.3 216.2,148.3 216.2,1Line truncated
|
||||
<circle class="nj-charts-json-dot" cx="131.8" cy="147.4" r="3.5"><title>#5285: 3.3×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="131.8" y1="54.0" x2="131.8" y2="142.4"/>
|
||||
<circle class="nj-theme-dot" cx="131.8" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="131.8" y="50.0" text-anchor="middle">6</text>
|
||||
<circle class="nj-charts-json-dot" cx="245.5" cy="139.0" r="3.5"><title>#5738: 3.8×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="245.5" y1="54.0" x2="245.5" y2="134.0"/>
|
||||
<circle class="nj-theme-dot" cx="245.5" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="245.5" y="50.0" text-anchor="middle">2</text>
|
||||
<circle class="nj-charts-json-dot" cx="275.6" cy="131.0" r="3.5"><title>#5878: 4.5×</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="281.2" cy="109.6" r="3.5"><title>#5883: 6.8×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="281.2" y1="54.0" x2="281.2" y2="104.6"/>
|
||||
<circle class="nj-theme-dot" cx="281.2" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="281.2" y="50.0" text-anchor="middle">2</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="330" y2="208"/>
|
||||
<text class="nj-charts-note" x="8" y="262">speedup over 3.12.0 (log scale), more is better</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 10 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-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 353 commits, ending at 2.6x. Labeled steps, by theme: 1, 4, U, U.</desc>
|
||||
<text class="nj-charts-panel" x="8" y="18">from_cbor() twitter</text>
|
||||
<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×</text>
|
||||
@@ -10,27 +10,27 @@
|
||||
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="70">4×</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="44" y2="212"/>
|
||||
<text class="nj-charts-tick" x="44" y="225">3.12.0</text>
|
||||
<line class="nj-charts-axis" x1="126.361" y1="208" x2="126.361" y2="212"/>
|
||||
<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
|
||||
<circle class="nj-charts-json-dot" cx="94.7" cy="168.9" r="3.5"><title>#5233: 1.47×</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"/>
|
||||
<text class="nj-theme-num" x="94.7" y="50.0" text-anchor="middle">1</text>
|
||||
<circle class="nj-charts-json-dot" cx="139.0" cy="128.6" r="3.5"><title>#5501: 2.2×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="139.0" y1="54.0" x2="139.0" y2="123.6"/>
|
||||
<circle class="nj-theme-dot" cx="139.0" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="139.0" y="50.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-charts-json-dot" cx="175.2" cy="150.3" r="3.5"><title>#5185: 1.76×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="175.2" y1="54.0" x2="175.2" y2="145.3"/>
|
||||
<circle class="nj-theme-dot nj-theme-dot--other" cx="175.2" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="175.2" y="50.0" text-anchor="middle">U</text>
|
||||
<circle class="nj-charts-json-dot" cx="235.0" cy="122.0" r="3.5"><title>#5746: 2.3×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="235.0" y1="54.0" x2="235.0" y2="117.0"/>
|
||||
<circle class="nj-theme-dot nj-theme-dot--other" cx="235.0" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="235.0" y="50.0" text-anchor="middle">U</text>
|
||||
<line class="nj-charts-axis" x1="117.938" y1="208" x2="117.938" y2="212"/>
|
||||
<text class="nj-charts-tick" x="117.938" y="225">Sep 2026</text>
|
||||
<line class="nj-charts-axis" x1="198.375" y1="208" x2="198.375" y2="212"/>
|
||||
<text class="nj-charts-tick" x="198.375" y="225">Oct</text>
|
||||
<polyline class="nj-charts-json" points="44.0,208.0 44.8,208.0 44.8,209.1 45.6,209.1 45.6,208.2 46.4,208.2 46.4,208.6 47.2,208.6 47.2,208.0 48.1,208.0 48.1,208.4 48.9,208.4 48.9,208.6 49.7,208.6 49.7,208.3 50.5,208.3 50.5,209.1 51.3,209.1 51.3,207.8 52.1,207.8 52.1,208.5 52.9,208.5 52.9,208.6 53.8,208.6 53.8,208.6 54.6,208.6 54.6,207.7 55.4,207.7 55.4,207.1 56.2,207.1 56.2,207.3 57.0,207.3 57.0,206.9 57.8,206.9 57.8,207.1 58.6,207.1 58.6,207.0 59.4,207.0 59.4,207.1 60.2,207.1 60.2,207.1 61.1,207.1 61.1,207.5 61.9,207.5 61.9,207.5 62.7,207.5 62.7,206.9 63.5,206.9 63.5,207.0 64.3,207.0 64.3,206.2 65.1,206.2 65.1,207.1 65.9,207.1 65.9,208.5 66.8,208.5 66.8,208.0 67.6,208.0 67.6,207.8 68.4,207.8 68.4,208.5 69.2,208.5 69.2,207.8 70.0,207.8 70.0,207.0 70.8,207.0 70.8,208.1 71.6,208.1 71.6,208.2 72.4,208.2 72.4,208.6 73.2,208.6 73.2,208.1 74.1,208.1 74.1,207.2 74.9,207.2 74.9,208.3 75.7,208.3 75.7,207.4 76.5,207.4 76.5,207.9 77.3,207.9 77.3,207.7 78.1,207.7 78.1,208.6 78.9,208.6 78.9,207.3 79.8,207.3 79.8,207.9 80.6,207.9 80.6,208.4 81.4,208.4 81.4,208.5 82.2,208.5 82.2,208.0 83.0,208.0 83.0,207.1 83.8,207.1 83.8,208.1 84.6,208.1 84.6,208.1 85.4,208.1 85.4,207.8 86.2,207.8 86.2,207.9 87.1,207.9 87.1,207.9 87.9,207.9 87.9,208.7 88.7,208.7 88.7,208.1 89.5,208.1 89.5,168.9 90.3,168.9 90.3,170.3 91.1,170.3 91.1,169.9 91.9,169.9 91.9,169.0 92.8,169.0 92.8,169.6 93.6,169.6 93.6,169.1 94.4,169.1 94.4,170.1 95.2,170.1 95.2,168.8 96.0,168.8 96.0,167.9 96.8,167.9 96.8,170.4 97.6,170.4 97.6,169.5 98.4,169.5 98.4,169.7 99.2,169.7 99.2,172.9 100.1,172.9 100.1,170.5 100.9,170.5 100.9,170.4 101.7,170.4 101.7,170.1 102.5,170.1 102.5,170.2 103.3,170.2 103.3,170.7 104.1,170.7 104.1,170.5 104.9,170.5 104.9,170.4 105.8,170.4 105.8,171.1 106.6,171.1 106.6,170.2 107.4,170.2 107.4,168.6 108.2,168.6 108.2,168.9 109.0,168.9 109.0,168.8 109.8,168.8 109.8,170.5 110.6,170.5 110.6,169.2 111.4,169.2 111.4,169.8 112.2,169.8 112.2,168.2 113.1,168.2 113.1,168.3 113.9,168.3 113.9,169.9 114.7,169.9 114.7,170.3 115.5,170.3 115.5,170.5 116.3,170.5 116.3,169.2 117.1,169.2 117.1,170.5 117.9,170.5 117.9,170.1 118.8,170.1 118.8,170.0 119.6,170.0 119.6,170.0 120.4,170.0 120.4,169.7 121.2,169.7 121.2,169.9 122.0,169.9 122.0,169.2 122.8,169.2 122.8,169.6 123.6,169.6 123.6,170.0 124.4,170.0 124.4,170.0 125.3,170.0 125.3,170.5 126.1,170.5 126.1,170.8 126.9,170.8 126.9,170.5 127.7,170.5 127.7,170.8 128.5,170.8 128.5,169.2 129.3,169.2 129.3,128.6 130.1,128.6 130.1,121.0 130.9,121.0 130.9,120.5 131.8,120.5 131.8,120.8 132.6,120.8 132.6,120.9 133.4,120.9 133.4,120.2 134.2,120.2 134.2,116.5 135.0,116.5 135.0,117.5 135.8,117.5 135.8,117.4 136.6,117.4 136.6,118.0 137.4,118.0 137.4,118.3 138.2,118.3 138.2,118.0 139.1,118.0 139.1,120.1 139.9,120.1 139.9,118.9 140.7,118.9 140.7,119.6 141.5,119.6 141.5,119.0 142.3,119.0 142.3,120.9 143.1,120.9 143.1,118.6 143.9,118.6 143.9,121.1 144.8,121.1 144.8,120.1 145.6,120.1 145.6,118.4 146.4,118.4 146.4,119.3 147.2,119.3 147.2,119.0 148.0,119.0 148.0,120.2 148.8,120.2 148.8,119.0 149.6,119.0 149.6,119.4 150.4,119.4 150.4,119.8 151.2,119.8 151.2,120.4 152.1,120.4 152.1,120.6 152.9,120.6 152.9,119.6 153.7,119.6 153.7,118.8 154.5,118.8 154.5,118.4 155.3,118.4 155.3,120.2 156.1,120.2 156.1,119.3 156.9,119.3 156.9,119.9 157.8,119.9 157.8,119.6 158.6,119.6 158.6,119.7 159.4,119.7 159.4,119.2 160.2,119.2 160.2,119.5 161.0,119.5 161.0,118.0 161.8,118.0 161.8,150.3 162.6,150.3 162.6,150.5 163.4,150.5 163.4,150.6 164.2,150.6 164.2,151.3 165.1,151.3 165.1,151.4 165.9,151.4 165.9,150.7 166.7,150.7 166.7,152.1 167.5,152.1 167.5,151.8 168.3,151.8 168.3,152.4 169.1,152.4 169.1,150.6 169.9,150.6 169.9,152.8 170.8,152.8 170.8,154.2 171.6,154.2 171.6,152.8 172.4,152.8 172.4,152.9 173.2,152.9 173.2,153.6 174.0,153.6 174.0,151.7 174.8,151.7 174.8,153.8 175.6,153.8 175.6,151.6 176.4,151.6 176.4,152.6 177.2,152.6 177.2,153.5 178.1,153.5 178.1,151.8 178.9,151.8 178.9,152.7 179.7,152.7 179.7,153.6 180.5,153.6 180.5,152.7 181.3,152.7 181.3,152.5 182.1,152.5 182.1,152.7 182.9,152.7 182.9,151.6 183.8,151.6 183.8,153.2 184.6,153.2 184.6,154.6 185.4,154.6 185.4,152.1 186.2,152.1 186.2,152.9 187.0,152.9 187.0,153.9 187.8,153.9 187.8,153.0 188.6,153.0 188.6,152.6 189.4,152.6 189.4,154.0 190.2,154.0 190.2,154.0 191.1,154.0 191.1,154.3 191.9,154.3 191.9,152.5 192.7,152.5 192.7,154.4 193.5,154.4 193.5,154.2 194.3,154.2 194.3,151.8 195.1,151.8 195.1,154.0 195.9,154.0 195.9,153.0 196.8,153.0 196.8,152.2 197.6,152.2 197.6,153.7 198.4,153.7 198.4,153.8 199.2,153.8 199.2,153.9 200.0,153.9 200.0,155.5 200.8,155.5 200.8,153.4 201.6,153.4 201.6,155.4 202.4,155.4 202.4,152.8 203.2,152.8 203.2,154.0 204.1,154.0 204.1,152.3 204.9,152.3 204.9,153.2 205.7,153.2 205.7,153.5 206.5,153.5 206.5,153.6 207.3,153.6 207.3,154.6 208.1,154.6 208.1,152.7 208.9,152.7 208.9,155.4 209.8,155.4 209.8,152.5 210.6,152.5 210.6,153.3 211.4,153.3 211.4,153.3 212.2,153.3 212.2,154.5 213.0,154.5 213.0,152.6 213.8,152.6 213.8,153.0 214.6,153.0 214.6,154.3 215.4,154.3 215.4,122.0 216.2,122.0 216.2,1Line truncated
|
||||
<circle class="nj-charts-json-dot" cx="89.5" cy="168.9" r="3.5"><title>#5233: 1.47×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="89.5" y1="54.0" x2="89.5" y2="163.9"/>
|
||||
<circle class="nj-theme-dot" cx="89.5" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="89.5" y="50.0" text-anchor="middle">1</text>
|
||||
<circle class="nj-charts-json-dot" cx="129.3" cy="128.6" r="3.5"><title>#5501: 2.2×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="129.3" y1="54.0" x2="129.3" y2="123.6"/>
|
||||
<circle class="nj-theme-dot" cx="129.3" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="129.3" y="50.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-charts-json-dot" cx="161.8" cy="150.3" r="3.5"><title>#5185: 1.76×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="161.8" y1="54.0" x2="161.8" y2="145.3"/>
|
||||
<circle class="nj-theme-dot nj-theme-dot--other" cx="161.8" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="161.8" y="50.0" text-anchor="middle">U</text>
|
||||
<circle class="nj-charts-json-dot" cx="215.4" cy="122.0" r="3.5"><title>#5746: 2.3×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="215.4" y1="54.0" x2="215.4" y2="117.0"/>
|
||||
<circle class="nj-theme-dot nj-theme-dot--other" cx="215.4" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="215.4" y="50.0" text-anchor="middle">U</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="330" y2="208"/>
|
||||
<text class="nj-charts-note" x="8" y="262">speedup over 3.12.0 (log scale), more is better</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 10 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_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.8x. 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 353 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×</text>
|
||||
@@ -10,35 +10,35 @@
|
||||
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="70">4×</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="44" y2="212"/>
|
||||
<text class="nj-charts-tick" x="44" y="225">3.12.0</text>
|
||||
<line class="nj-charts-axis" x1="126.361" y1="208" x2="126.361" y2="212"/>
|
||||
<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
|
||||
<circle class="nj-charts-json-dot" cx="93.8" cy="197.5" r="3.5"><title>#5234: 1.11×</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"/>
|
||||
<text class="nj-theme-num" x="93.8" y="50.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-charts-json-dot" cx="139.9" cy="168.6" r="3.5"><title>#5283: 1.47×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="139.9" y1="54.0" x2="139.9" y2="163.6"/>
|
||||
<circle class="nj-theme-dot" cx="139.9" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="139.9" y="50.0" text-anchor="middle">1</text>
|
||||
<circle class="nj-charts-json-dot" cx="187.0" cy="167.7" r="3.5"><title>#5617: 1.48×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="187.0" y1="54.0" x2="187.0" y2="162.7"/>
|
||||
<circle class="nj-theme-dot" cx="187.0" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="187.0" y="50.0" text-anchor="middle">3</text>
|
||||
<circle class="nj-charts-json-dot" cx="268.5" cy="139.8" r="3.5"><title>#5738: 1.95×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="268.5" y1="54.0" x2="268.5" y2="134.8"/>
|
||||
<circle class="nj-theme-dot" cx="268.5" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="268.5" y="50.0" text-anchor="middle">3</text>
|
||||
<circle class="nj-charts-json-dot" cx="297.4" cy="127.4" r="3.5"><title>#5851: 2.2×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="297.4" y1="54.0" x2="297.4" y2="122.4"/>
|
||||
<circle class="nj-theme-dot" cx="297.4" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="297.4" y="50.0" text-anchor="middle">3</text>
|
||||
<circle class="nj-charts-json-dot" cx="312.8" cy="102.2" r="3.5"><title>#5882: 2.8×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="312.8" y1="36.0" x2="312.8" y2="97.2"/>
|
||||
<circle class="nj-theme-dot" cx="312.8" cy="28.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="312.8" y="32.0" text-anchor="middle">4</text>
|
||||
<line class="nj-charts-axis" x1="117.938" y1="208" x2="117.938" y2="212"/>
|
||||
<text class="nj-charts-tick" x="117.938" y="225">Sep 2026</text>
|
||||
<line class="nj-charts-axis" x1="198.375" y1="208" x2="198.375" y2="212"/>
|
||||
<text class="nj-charts-tick" x="198.375" y="225">Oct</text>
|
||||
<polyline class="nj-charts-json" points="44.0,208.0 44.8,208.0 44.8,208.2 45.6,208.2 45.6,208.1 46.4,208.1 46.4,207.7 47.2,207.7 47.2,207.2 48.1,207.2 48.1,208.0 48.9,208.0 48.9,208.2 49.7,208.2 49.7,207.8 50.5,207.8 50.5,208.5 51.3,208.5 51.3,207.3 52.1,207.3 52.1,208.0 52.9,208.0 52.9,209.1 53.8,209.1 53.8,208.5 54.6,208.5 54.6,208.1 55.4,208.1 55.4,207.7 56.2,207.7 56.2,209.8 57.0,209.8 57.0,208.6 57.8,208.6 57.8,208.1 58.6,208.1 58.6,208.1 59.4,208.1 59.4,207.0 60.2,207.0 60.2,207.8 61.1,207.8 61.1,207.6 61.9,207.6 61.9,208.1 62.7,208.1 62.7,208.4 63.5,208.4 63.5,207.8 64.3,207.8 64.3,207.4 65.1,207.4 65.1,208.3 65.9,208.3 65.9,207.3 66.8,207.3 66.8,207.8 67.6,207.8 67.6,207.9 68.4,207.9 68.4,207.9 69.2,207.9 69.2,207.5 70.0,207.5 70.0,207.5 70.8,207.5 70.8,208.1 71.6,208.1 71.6,208.1 72.4,208.1 72.4,207.9 73.2,207.9 73.2,207.8 74.1,207.8 74.1,207.1 74.9,207.1 74.9,207.6 75.7,207.6 75.7,207.8 76.5,207.8 76.5,207.3 77.3,207.3 77.3,207.6 78.1,207.6 78.1,208.6 78.9,208.6 78.9,206.5 79.8,206.5 79.8,208.0 80.6,208.0 80.6,208.7 81.4,208.7 81.4,208.0 82.2,208.0 82.2,207.7 83.0,207.7 83.0,208.4 83.8,208.4 83.8,207.9 84.6,207.9 84.6,207.5 85.4,207.5 85.4,207.9 86.2,207.9 86.2,207.4 87.1,207.4 87.1,207.5 87.9,207.5 87.9,208.5 88.7,208.5 88.7,197.5 89.5,197.5 89.5,197.9 90.3,197.9 90.3,196.9 91.1,196.9 91.1,197.0 91.9,197.0 91.9,197.7 92.8,197.7 92.8,196.0 93.6,196.0 93.6,197.3 94.4,197.3 94.4,198.1 95.2,198.1 95.2,197.4 96.0,197.4 96.0,197.0 96.8,197.0 96.8,197.5 97.6,197.5 97.6,197.3 98.4,197.3 98.4,197.7 99.2,197.7 99.2,197.7 100.1,197.7 100.1,197.6 100.9,197.6 100.9,196.9 101.7,196.9 101.7,197.9 102.5,197.9 102.5,197.9 103.3,197.9 103.3,197.6 104.1,197.6 104.1,197.6 104.9,197.6 104.9,197.6 105.8,197.6 105.8,198.1 106.6,198.1 106.6,198.0 107.4,198.0 107.4,195.3 108.2,195.3 108.2,196.6 109.0,196.6 109.0,197.9 109.8,197.9 109.8,197.0 110.6,197.0 110.6,196.3 111.4,196.3 111.4,196.8 112.2,196.8 112.2,196.6 113.1,196.6 113.1,196.6 113.9,196.6 113.9,197.7 114.7,197.7 114.7,197.5 115.5,197.5 115.5,198.1 116.3,198.1 116.3,195.9 117.1,195.9 117.1,197.5 117.9,197.5 117.9,197.6 118.8,197.6 118.8,196.7 119.6,196.7 119.6,197.0 120.4,197.0 120.4,198.0 121.2,198.0 121.2,197.0 122.0,197.0 122.0,197.2 122.8,197.2 122.8,196.6 123.6,196.6 123.6,197.0 124.4,197.0 124.4,197.2 125.3,197.2 125.3,197.6 126.1,197.6 126.1,197.8 126.9,197.8 126.9,197.2 127.7,197.2 127.7,197.6 128.5,197.6 128.5,197.3 129.3,197.3 129.3,197.0 130.1,197.0 130.1,168.6 130.9,168.6 130.9,169.7 131.8,169.7 131.8,170.1 132.6,170.1 132.6,168.9 133.4,168.9 133.4,168.3 134.2,168.3 134.2,169.9 135.0,169.9 135.0,168.7 135.8,168.7 135.8,168.3 136.6,168.3 136.6,169.7 137.4,169.7 137.4,170.9 138.2,170.9 138.2,168.1 139.1,168.1 139.1,170.2 139.9,170.2 139.9,169.1 140.7,169.1 140.7,170.1 141.5,170.1 141.5,168.5 142.3,168.5 142.3,169.7 143.1,169.7 143.1,170.1 143.9,170.1 143.9,169.8 144.8,169.8 144.8,169.1 145.6,169.1 145.6,167.2 146.4,167.2 146.4,169.7 147.2,169.7 147.2,168.6 148.0,168.6 148.0,170.3 148.8,170.3 148.8,169.7 149.6,169.7 149.6,168.7 150.4,168.7 150.4,169.3 151.2,169.3 151.2,172.3 152.1,172.3 152.1,171.2 152.9,171.2 152.9,169.1 153.7,169.1 153.7,167.8 154.5,167.8 154.5,169.3 155.3,169.3 155.3,169.1 156.1,169.1 156.1,168.5 156.9,168.5 156.9,168.7 157.8,168.7 157.8,168.6 158.6,168.6 158.6,169.0 159.4,169.0 159.4,168.5 160.2,168.5 160.2,170.9 161.0,170.9 161.0,169.9 161.8,169.9 161.8,168.0 162.6,168.0 162.6,168.8 163.4,168.8 163.4,168.5 164.2,168.5 164.2,168.5 165.1,168.5 165.1,169.9 165.9,169.9 165.9,169.1 166.7,169.1 166.7,168.6 167.5,168.6 167.5,168.6 168.3,168.6 168.3,169.4 169.1,169.4 169.1,169.1 169.9,169.1 169.9,170.2 170.8,170.2 170.8,178.0 171.6,178.0 171.6,177.3 172.4,177.3 172.4,167.7 173.2,167.7 173.2,168.5 174.0,168.5 174.0,168.7 174.8,168.7 174.8,168.5 175.6,168.5 175.6,168.8 176.4,168.8 176.4,168.0 177.2,168.0 177.2,168.2 178.1,168.2 178.1,167.7 178.9,167.7 178.9,167.5 179.7,167.5 179.7,168.1 180.5,168.1 180.5,168.3 181.3,168.3 181.3,168.1 182.1,168.1 182.1,168.1 182.9,168.1 182.9,167.5 183.8,167.5 183.8,166.5 184.6,166.5 184.6,169.1 185.4,169.1 185.4,168.6 186.2,168.6 186.2,168.5 187.0,168.5 187.0,168.1 187.8,168.1 187.8,167.3 188.6,167.3 188.6,168.0 189.4,168.0 189.4,168.3 190.2,168.3 190.2,168.6 191.1,168.6 191.1,169.0 191.9,169.0 191.9,166.6 192.7,166.6 192.7,169.4 193.5,169.4 193.5,169.3 194.3,169.3 194.3,167.3 195.1,167.3 195.1,168.5 195.9,168.5 195.9,167.1 196.8,167.1 196.8,169.4 197.6,169.4 197.6,168.9 198.4,168.9 198.4,167.4 199.2,167.4 199.2,168.4 200.0,168.4 200.0,168.5 200.8,168.5 200.8,166.9 201.6,166.9 201.6,168.7 202.4,168.7 202.4,165.7 203.2,165.7 203.2,167.0 204.1,167.0 204.1,166.6 204.9,166.6 204.9,167.4 205.7,167.4 205.7,167.6 206.5,167.6 206.5,167.2 207.3,167.2 207.3,167.4 208.1,167.4 208.1,166.6 208.9,166.6 208.9,166.2 209.8,166.2 209.8,168.4 210.6,168.4 210.6,167.2 211.4,167.2 211.4,166.7 212.2,166.7 212.2,166.5 213.0,166.5 213.0,166.0 213.8,166.0 213.8,167.4 214.6,167.4 214.6,167.3 215.4,167.3 215.4,167.3 216.2,167.3 216.2,1Line truncated
|
||||
<circle class="nj-charts-json-dot" cx="88.7" cy="197.5" r="3.5"><title>#5234: 1.11×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="88.7" y1="54.0" x2="88.7" y2="192.5"/>
|
||||
<circle class="nj-theme-dot" cx="88.7" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="88.7" y="50.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-charts-json-dot" cx="130.1" cy="168.6" r="3.5"><title>#5283: 1.47×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="130.1" y1="54.0" x2="130.1" y2="163.6"/>
|
||||
<circle class="nj-theme-dot" cx="130.1" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="130.1" y="50.0" text-anchor="middle">1</text>
|
||||
<circle class="nj-charts-json-dot" cx="172.4" cy="167.7" r="3.5"><title>#5617: 1.48×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="172.4" y1="54.0" x2="172.4" y2="162.7"/>
|
||||
<circle class="nj-theme-dot" cx="172.4" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="172.4" y="50.0" text-anchor="middle">3</text>
|
||||
<circle class="nj-charts-json-dot" cx="245.5" cy="139.8" r="3.5"><title>#5738: 1.95×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="245.5" y1="54.0" x2="245.5" y2="134.8"/>
|
||||
<circle class="nj-theme-dot" cx="245.5" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="245.5" y="50.0" text-anchor="middle">3</text>
|
||||
<circle class="nj-charts-json-dot" cx="271.5" cy="127.4" r="3.5"><title>#5851: 2.2×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="271.5" y1="54.0" x2="271.5" y2="122.4"/>
|
||||
<circle class="nj-theme-dot" cx="271.5" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="271.5" y="50.0" text-anchor="middle">3</text>
|
||||
<circle class="nj-charts-json-dot" cx="285.3" cy="102.2" r="3.5"><title>#5882: 2.8×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="285.3" y1="36.0" x2="285.3" y2="97.2"/>
|
||||
<circle class="nj-theme-dot" cx="285.3" cy="28.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="285.3" y="32.0" text-anchor="middle">4</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="330" y2="208"/>
|
||||
<text class="nj-charts-note" x="8" y="262">speedup over 3.12.0 (log scale), more is better</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 KiB |
@@ -1,6 +1,6 @@
|
||||
<svg class="nj-fig nj-charts nj-charts--timeline" viewBox="0 0 340 270" role="img" aria-labelledby="nj-blog-tl-parse_citm nj-blog-tl-parse_citm-d" xmlns="http://www.w3.org/2000/svg">
|
||||
<title id="nj-blog-tl-parse_citm">parse() citm_catalog.json: speedup over 3.12.0 by commit</title>
|
||||
<desc id="nj-blog-tl-parse_citm-d">parse() citm_catalog.json: speedup over 3.12.0 at each of 317 commits, ending at 3.4x. Labeled steps, by theme: 4, 1, 4, 4, 2, 4.</desc>
|
||||
<desc id="nj-blog-tl-parse_citm-d">parse() citm_catalog.json: speedup over 3.12.0 at each of 353 commits, ending at 3.3x. Labeled steps, by theme: 4, 1, 4, 4, 2, 4.</desc>
|
||||
<text class="nj-charts-panel" x="8" y="18">parse() citm_catalog.json</text>
|
||||
<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×</text>
|
||||
@@ -12,34 +12,34 @@
|
||||
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="70">8×</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="44" y2="212"/>
|
||||
<text class="nj-charts-tick" x="44" y="225">3.12.0</text>
|
||||
<line class="nj-charts-axis" x1="126.361" y1="208" x2="126.361" y2="212"/>
|
||||
<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
|
||||
<circle class="nj-charts-json-dot" cx="93.8" cy="178.2" r="3.5"><title>#5234: 1.55×</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"/>
|
||||
<text class="nj-theme-num" x="93.8" y="50.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-charts-json-dot" cx="139.9" cy="162.5" r="3.5"><title>#5283: 1.95×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="139.9" y1="54.0" x2="139.9" y2="157.5"/>
|
||||
<circle class="nj-theme-dot" cx="139.9" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="139.9" y="50.0" text-anchor="middle">1</text>
|
||||
<circle class="nj-charts-json-dot" cx="243.1" cy="155.4" r="3.5"><title>#5592: 2.2×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="243.1" y1="54.0" x2="243.1" y2="150.4"/>
|
||||
<circle class="nj-theme-dot" cx="243.1" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="243.1" y="50.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-charts-json-dot" cx="265.7" cy="147.1" r="3.5"><title>#5809: 2.4×</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="266.6" cy="138.2" r="3.5"><title>#5810: 2.8×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="266.6" y1="36.0" x2="266.6" y2="133.2"/>
|
||||
<circle class="nj-theme-dot" cx="257.6" cy="28.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="257.6" y="32.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-theme-dot" cx="275.6" cy="28.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="275.6" y="32.0" text-anchor="middle">2</text>
|
||||
<circle class="nj-charts-json-dot" cx="312.8" cy="125.7" r="3.5"><title>#5882: 3.3×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="312.8" y1="54.0" x2="312.8" y2="120.7"/>
|
||||
<circle class="nj-theme-dot" cx="312.8" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="312.8" y="50.0" text-anchor="middle">4</text>
|
||||
<line class="nj-charts-axis" x1="117.938" y1="208" x2="117.938" y2="212"/>
|
||||
<text class="nj-charts-tick" x="117.938" y="225">Sep 2026</text>
|
||||
<line class="nj-charts-axis" x1="198.375" y1="208" x2="198.375" y2="212"/>
|
||||
<text class="nj-charts-tick" x="198.375" y="225">Oct</text>
|
||||
<polyline class="nj-charts-json" points="44.0,208.0 44.8,208.0 44.8,208.2 45.6,208.2 45.6,207.8 46.4,207.8 46.4,207.5 47.2,207.5 47.2,206.5 48.1,206.5 48.1,208.3 48.9,208.3 48.9,207.3 49.7,207.3 49.7,206.8 50.5,206.8 50.5,207.8 51.3,207.8 51.3,206.8 52.1,206.8 52.1,207.3 52.9,207.3 52.9,207.6 53.8,207.6 53.8,207.8 54.6,207.8 54.6,207.0 55.4,207.0 55.4,207.3 56.2,207.3 56.2,207.2 57.0,207.2 57.0,207.4 57.8,207.4 57.8,207.5 58.6,207.5 58.6,207.4 59.4,207.4 59.4,206.6 60.2,206.6 60.2,207.6 61.1,207.6 61.1,207.6 61.9,207.6 61.9,207.2 62.7,207.2 62.7,207.0 63.5,207.0 63.5,207.6 64.3,207.6 64.3,206.7 65.1,206.7 65.1,207.4 65.9,207.4 65.9,206.8 66.8,206.8 66.8,207.3 67.6,207.3 67.6,207.7 68.4,207.7 68.4,207.9 69.2,207.9 69.2,207.2 70.0,207.2 70.0,206.4 70.8,206.4 70.8,207.6 71.6,207.6 71.6,206.4 72.4,206.4 72.4,208.0 73.2,208.0 73.2,207.4 74.1,207.4 74.1,206.5 74.9,206.5 74.9,207.5 75.7,207.5 75.7,207.2 76.5,207.2 76.5,206.9 77.3,206.9 77.3,207.6 78.1,207.6 78.1,207.6 78.9,207.6 78.9,207.0 79.8,207.0 79.8,206.9 80.6,206.9 80.6,208.0 81.4,208.0 81.4,207.6 82.2,207.6 82.2,206.6 83.0,206.6 83.0,206.8 83.8,206.8 83.8,207.3 84.6,207.3 84.6,206.9 85.4,206.9 85.4,207.6 86.2,207.6 86.2,207.1 87.1,207.1 87.1,207.6 87.9,207.6 87.9,207.9 88.7,207.9 88.7,178.2 89.5,178.2 89.5,177.5 90.3,177.5 90.3,177.7 91.1,177.7 91.1,177.6 91.9,177.6 91.9,177.7 92.8,177.7 92.8,177.1 93.6,177.1 93.6,176.8 94.4,176.8 94.4,177.7 95.2,177.7 95.2,177.6 96.0,177.6 96.0,176.8 96.8,176.8 96.8,177.8 97.6,177.8 97.6,177.0 98.4,177.0 98.4,176.8 99.2,176.8 99.2,178.0 100.1,178.0 100.1,178.1 100.9,178.1 100.9,177.6 101.7,177.6 101.7,177.6 102.5,177.6 102.5,177.4 103.3,177.4 103.3,177.6 104.1,177.6 104.1,177.8 104.9,177.8 104.9,177.5 105.8,177.5 105.8,177.9 106.6,177.9 106.6,177.7 107.4,177.7 107.4,175.9 108.2,175.9 108.2,177.5 109.0,177.5 109.0,177.6 109.8,177.6 109.8,177.6 110.6,177.6 110.6,176.9 111.4,176.9 111.4,177.5 112.2,177.5 112.2,177.4 113.1,177.4 113.1,177.4 113.9,177.4 113.9,176.9 114.7,176.9 114.7,177.9 115.5,177.9 115.5,177.3 116.3,177.3 116.3,176.6 117.1,176.6 117.1,177.4 117.9,177.4 117.9,177.5 118.8,177.5 118.8,177.5 119.6,177.5 119.6,177.4 120.4,177.4 120.4,177.0 121.2,177.0 121.2,177.7 122.0,177.7 122.0,176.2 122.8,176.2 122.8,176.9 123.6,176.9 123.6,177.5 124.4,177.5 124.4,177.8 125.3,177.8 125.3,177.8 126.1,177.8 126.1,177.9 126.9,177.9 126.9,177.3 127.7,177.3 127.7,177.5 128.5,177.5 128.5,177.4 129.3,177.4 129.3,177.1 130.1,177.1 130.1,162.5 130.9,162.5 130.9,162.2 131.8,162.2 131.8,161.8 132.6,161.8 132.6,162.2 133.4,162.2 133.4,161.2 134.2,161.2 134.2,160.7 135.0,160.7 135.0,159.4 135.8,159.4 135.8,160.3 136.6,160.3 136.6,160.4 137.4,160.4 137.4,160.6 138.2,160.6 138.2,159.5 139.1,159.5 139.1,160.4 139.9,160.4 139.9,159.6 140.7,159.6 140.7,160.0 141.5,160.0 141.5,159.9 142.3,159.9 142.3,160.2 143.1,160.2 143.1,159.6 143.9,159.6 143.9,160.8 144.8,160.8 144.8,160.1 145.6,160.1 145.6,159.1 146.4,159.1 146.4,159.7 147.2,159.7 147.2,159.9 148.0,159.9 148.0,160.5 148.8,160.5 148.8,160.2 149.6,160.2 149.6,159.9 150.4,159.9 150.4,160.5 151.2,160.5 151.2,160.5 152.1,160.5 152.1,160.6 152.9,160.6 152.9,159.7 153.7,159.7 153.7,159.5 154.5,159.5 154.5,160.0 155.3,160.0 155.3,160.2 156.1,160.2 156.1,160.0 156.9,160.0 156.9,160.6 157.8,160.6 157.8,159.9 158.6,159.9 158.6,160.2 159.4,160.2 159.4,160.1 160.2,160.1 160.2,160.8 161.0,160.8 161.0,159.2 161.8,159.2 161.8,159.6 162.6,159.6 162.6,159.2 163.4,159.2 163.4,160.0 164.2,160.0 164.2,159.4 165.1,159.4 165.1,159.6 165.9,159.6 165.9,159.5 166.7,159.5 166.7,160.1 167.5,160.1 167.5,159.0 168.3,159.0 168.3,159.4 169.1,159.4 169.1,160.2 169.9,160.2 169.9,161.4 170.8,161.4 170.8,161.7 171.6,161.7 171.6,161.6 172.4,161.6 172.4,160.3 173.2,160.3 173.2,161.1 174.0,161.1 174.0,161.2 174.8,161.2 174.8,161.7 175.6,161.7 175.6,161.2 176.4,161.2 176.4,160.4 177.2,160.4 177.2,161.6 178.1,161.6 178.1,160.6 178.9,160.6 178.9,161.4 179.7,161.4 179.7,161.3 180.5,161.3 180.5,161.3 181.3,161.3 181.3,161.7 182.1,161.7 182.1,161.2 182.9,161.2 182.9,160.1 183.8,160.1 183.8,160.9 184.6,160.9 184.6,161.5 185.4,161.5 185.4,160.6 186.2,160.6 186.2,161.9 187.0,161.9 187.0,161.4 187.8,161.4 187.8,160.1 188.6,160.1 188.6,160.6 189.4,160.6 189.4,162.0 190.2,162.0 190.2,161.5 191.1,161.5 191.1,162.0 191.9,162.0 191.9,161.3 192.7,161.3 192.7,162.3 193.5,162.3 193.5,162.1 194.3,162.1 194.3,160.8 195.1,160.8 195.1,161.5 195.9,161.5 195.9,161.4 196.8,161.4 196.8,162.2 197.6,162.2 197.6,161.4 198.4,161.4 198.4,161.4 199.2,161.4 199.2,161.8 200.0,161.8 200.0,160.7 200.8,160.7 200.8,160.5 201.6,160.5 201.6,160.5 202.4,160.5 202.4,159.3 203.2,159.3 203.2,159.4 204.1,159.4 204.1,160.4 204.9,160.4 204.9,160.1 205.7,160.1 205.7,160.4 206.5,160.4 206.5,160.4 207.3,160.4 207.3,160.8 208.1,160.8 208.1,159.8 208.9,159.8 208.9,159.4 209.8,159.4 209.8,160.5 210.6,160.5 210.6,160.1 211.4,160.1 211.4,160.7 212.2,160.7 212.2,160.6 213.0,160.6 213.0,159.5 213.8,159.5 213.8,161.1 214.6,161.1 214.6,161.3 215.4,161.3 215.4,161.0 216.2,161.0 216.2,1Line truncated
|
||||
<circle class="nj-charts-json-dot" cx="88.7" cy="178.2" r="3.5"><title>#5234: 1.55×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="88.7" y1="54.0" x2="88.7" y2="173.2"/>
|
||||
<circle class="nj-theme-dot" cx="88.7" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="88.7" y="50.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-charts-json-dot" cx="130.1" cy="162.5" r="3.5"><title>#5283: 1.95×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="130.1" y1="54.0" x2="130.1" y2="157.5"/>
|
||||
<circle class="nj-theme-dot" cx="130.1" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="130.1" y="50.0" text-anchor="middle">1</text>
|
||||
<circle class="nj-charts-json-dot" cx="222.8" cy="155.4" r="3.5"><title>#5592: 2.2×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="222.8" y1="54.0" x2="222.8" y2="150.4"/>
|
||||
<circle class="nj-theme-dot" cx="222.8" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="222.8" y="50.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-charts-json-dot" cx="243.1" cy="147.1" r="3.5"><title>#5809: 2.4×</title></circle>
|
||||
<circle class="nj-charts-json-dot" cx="243.9" cy="138.2" r="3.5"><title>#5810: 2.8×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="243.9" y1="36.0" x2="243.9" y2="133.2"/>
|
||||
<circle class="nj-theme-dot" cx="234.9" cy="28.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="234.9" y="32.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-theme-dot" cx="252.9" cy="28.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="252.9" y="32.0" text-anchor="middle">2</text>
|
||||
<circle class="nj-charts-json-dot" cx="285.3" cy="125.7" r="3.5"><title>#5882: 3.3×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="285.3" y1="54.0" x2="285.3" y2="120.7"/>
|
||||
<circle class="nj-theme-dot" cx="285.3" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="285.3" y="50.0" text-anchor="middle">4</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="330" y2="208"/>
|
||||
<text class="nj-charts-note" x="8" y="262">speedup over 3.12.0 (log scale), more is better</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 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 353 commits, ending at 2.2x. Labeled steps, by theme: 1, 1.</desc>
|
||||
<text class="nj-charts-panel" x="8" y="18">parse() twitter.json, std::ifstream</text>
|
||||
<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×</text>
|
||||
@@ -10,19 +10,19 @@
|
||||
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="70">4×</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="44" y2="212"/>
|
||||
<text class="nj-charts-tick" x="44" y="225">3.12.0</text>
|
||||
<line class="nj-charts-axis" x1="126.361" y1="208" x2="126.361" y2="212"/>
|
||||
<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
|
||||
<circle class="nj-charts-json-dot" cx="287.5" cy="138.8" r="3.5"><title>#5828: 1.97×</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"/>
|
||||
<text class="nj-theme-num" x="287.5" y="50.0" text-anchor="middle">1</text>
|
||||
<circle class="nj-charts-json-dot" cx="306.5" cy="127.0" r="3.5"><title>#5884: 2.2×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="306.5" y1="54.0" x2="306.5" y2="122.0"/>
|
||||
<circle class="nj-theme-dot" cx="306.5" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="306.5" y="50.0" text-anchor="middle">1</text>
|
||||
<line class="nj-charts-axis" x1="117.938" y1="208" x2="117.938" y2="212"/>
|
||||
<text class="nj-charts-tick" x="117.938" y="225">Sep 2026</text>
|
||||
<line class="nj-charts-axis" x1="198.375" y1="208" x2="198.375" y2="212"/>
|
||||
<text class="nj-charts-tick" x="198.375" y="225">Oct</text>
|
||||
<polyline class="nj-charts-json" points="44.0,208.0 44.8,208.0 44.8,209.3 45.6,209.3 45.6,206.6 46.4,206.6 46.4,208.3 47.2,208.3 47.2,205.9 48.1,205.9 48.1,209.3 48.9,209.3 48.9,208.3 49.7,208.3 49.7,207.9 50.5,207.9 50.5,209.4 51.3,209.4 51.3,205.8 52.1,205.8 52.1,206.7 52.9,206.7 52.9,209.2 53.8,209.2 53.8,208.1 54.6,208.1 54.6,206.9 55.4,206.9 55.4,207.5 56.2,207.5 56.2,207.5 57.0,207.5 57.0,207.6 57.8,207.6 57.8,206.9 58.6,206.9 58.6,206.9 59.4,206.9 59.4,208.4 60.2,208.4 60.2,208.6 61.1,208.6 61.1,209.1 61.9,209.1 61.9,207.7 62.7,207.7 62.7,207.0 63.5,207.0 63.5,206.7 64.3,206.7 64.3,206.1 65.1,206.1 65.1,207.5 65.9,207.5 65.9,206.4 66.8,206.4 66.8,206.7 67.6,206.7 67.6,206.8 68.4,206.8 68.4,209.3 69.2,209.3 69.2,206.7 70.0,206.7 70.0,206.8 70.8,206.8 70.8,206.6 71.6,206.6 71.6,206.8 72.4,206.8 72.4,209.2 73.2,209.2 73.2,207.6 74.1,207.6 74.1,205.9 74.9,205.9 74.9,209.1 75.7,209.1 75.7,206.6 76.5,206.6 76.5,207.4 77.3,207.4 77.3,207.0 78.1,207.0 78.1,209.1 78.9,209.1 78.9,205.8 79.8,205.8 79.8,206.9 80.6,206.9 80.6,208.0 81.4,208.0 81.4,208.5 82.2,208.5 82.2,206.6 83.0,206.6 83.0,206.0 83.8,206.0 83.8,207.9 84.6,207.9 84.6,206.6 85.4,206.6 85.4,206.5 86.2,206.5 86.2,206.6 87.1,206.6 87.1,207.2 87.9,207.2 87.9,208.0 88.7,208.0 88.7,208.1 89.5,208.1 89.5,206.7 90.3,206.7 90.3,207.8 91.1,207.8 91.1,206.7 91.9,206.7 91.9,208.1 92.8,208.1 92.8,205.9 93.6,205.9 93.6,206.8 94.4,206.8 94.4,208.0 95.2,208.0 95.2,207.3 96.0,207.3 96.0,206.7 96.8,206.7 96.8,209.3 97.6,209.3 97.6,206.5 98.4,206.5 98.4,207.2 99.2,207.2 99.2,208.2 100.1,208.2 100.1,209.3 100.9,209.3 100.9,207.8 101.7,207.8 101.7,206.9 102.5,206.9 102.5,206.7 103.3,206.7 103.3,209.0 104.1,209.0 104.1,208.0 104.9,208.0 104.9,208.1 105.8,208.1 105.8,209.1 106.6,209.1 106.6,208.1 107.4,208.1 107.4,205.6 108.2,205.6 108.2,207.0 109.0,207.0 109.0,206.7 109.8,206.7 109.8,207.9 110.6,207.9 110.6,206.7 111.4,206.7 111.4,206.9 112.2,206.9 112.2,206.8 113.1,206.8 113.1,206.4 113.9,206.4 113.9,207.1 114.7,207.1 114.7,208.6 115.5,208.6 115.5,208.7 116.3,208.7 116.3,206.6 117.1,206.6 117.1,209.3 117.9,209.3 117.9,208.0 118.8,208.0 118.8,206.7 119.6,206.7 119.6,207.7 120.4,207.7 120.4,206.9 121.2,206.9 121.2,208.8 122.0,208.8 122.0,208.7 122.8,208.7 122.8,207.7 123.6,207.7 123.6,208.8 124.4,208.8 124.4,207.8 125.3,207.8 125.3,210.3 126.1,210.3 126.1,208.9 126.9,208.9 126.9,208.9 127.7,208.9 127.7,209.0 128.5,209.0 128.5,208.0 129.3,208.0 129.3,207.7 130.1,207.7 130.1,208.3 130.9,208.3 130.9,207.0 131.8,207.0 131.8,207.2 132.6,207.2 132.6,207.5 133.4,207.5 133.4,208.0 134.2,208.0 134.2,207.6 135.0,207.6 135.0,207.9 135.8,207.9 135.8,207.6 136.6,207.6 136.6,208.5 137.4,208.5 137.4,209.2 138.2,209.2 138.2,206.3 139.1,206.3 139.1,208.7 139.9,208.7 139.9,207.6 140.7,207.6 140.7,207.4 141.5,207.4 141.5,207.5 142.3,207.5 142.3,209.0 143.1,209.0 143.1,206.9 143.9,206.9 143.9,209.3 144.8,209.3 144.8,209.9 145.6,209.9 145.6,207.0 146.4,207.0 146.4,207.3 147.2,207.3 147.2,208.1 148.0,208.1 148.0,209.8 148.8,209.8 148.8,208.1 149.6,208.1 149.6,208.1 150.4,208.1 150.4,208.5 151.2,208.5 151.2,208.2 152.1,208.2 152.1,210.4 152.9,210.4 152.9,207.7 153.7,207.7 153.7,207.2 154.5,207.2 154.5,206.7 155.3,206.7 155.3,209.9 156.1,209.9 156.1,206.6 156.9,206.6 156.9,209.9 157.8,209.9 157.8,208.8 158.6,208.8 158.6,208.8 159.4,208.8 159.4,209.5 160.2,209.5 160.2,208.9 161.0,208.9 161.0,206.4 161.8,206.4 161.8,207.2 162.6,207.2 162.6,207.0 163.4,207.0 163.4,207.2 164.2,207.2 164.2,206.6 165.1,206.6 165.1,207.2 165.9,207.2 165.9,208.0 166.7,208.0 166.7,207.6 167.5,207.6 167.5,207.9 168.3,207.9 168.3,207.5 169.1,207.5 169.1,205.6 169.9,205.6 169.9,208.0 170.8,208.0 170.8,209.7 171.6,209.7 171.6,207.9 172.4,207.9 172.4,207.6 173.2,207.6 173.2,208.5 174.0,208.5 174.0,207.9 174.8,207.9 174.8,210.4 175.6,210.4 175.6,206.7 176.4,206.7 176.4,207.7 177.2,207.7 177.2,209.2 178.1,209.2 178.1,206.8 178.9,206.8 178.9,209.3 179.7,209.3 179.7,208.0 180.5,208.0 180.5,208.0 181.3,208.0 181.3,207.9 182.1,207.9 182.1,208.2 182.9,208.2 182.9,207.9 183.8,207.9 183.8,207.0 184.6,207.0 184.6,208.8 185.4,208.8 185.4,208.0 186.2,208.0 186.2,208.0 187.0,208.0 187.0,209.2 187.8,209.2 187.8,206.7 188.6,206.7 188.6,206.7 189.4,206.7 189.4,208.5 190.2,208.5 190.2,208.9 191.1,208.9 191.1,210.1 191.9,210.1 191.9,206.4 192.7,206.4 192.7,209.4 193.5,209.4 193.5,210.1 194.3,210.1 194.3,207.6 195.1,207.6 195.1,209.5 195.9,209.5 195.9,208.7 196.8,208.7 196.8,211.1 197.6,211.1 197.6,210.1 198.4,210.1 198.4,211.7 199.2,211.7 199.2,208.8 200.0,208.8 200.0,209.2 200.8,209.2 200.8,207.7 201.6,207.7 201.6,208.1 202.4,208.1 202.4,206.4 203.2,206.4 203.2,206.7 204.1,206.7 204.1,207.3 204.9,207.3 204.9,207.8 205.7,207.8 205.7,208.7 206.5,208.7 206.5,210.1 207.3,210.1 207.3,210.0 208.1,210.0 208.1,206.9 208.9,206.9 208.9,209.0 209.8,209.0 209.8,208.7 210.6,208.7 210.6,209.1 211.4,209.1 211.4,208.6 212.2,208.6 212.2,208.9 213.0,208.9 213.0,207.3 213.8,207.3 213.8,208.9 214.6,208.9 214.6,209.2 215.4,209.2 215.4,207.3 216.2,207.3 216.2,2Line truncated
|
||||
<circle class="nj-charts-json-dot" cx="262.6" cy="138.8" r="3.5"><title>#5828: 1.97×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="262.6" y1="54.0" x2="262.6" y2="133.8"/>
|
||||
<circle class="nj-theme-dot" cx="262.6" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="262.6" y="50.0" text-anchor="middle">1</text>
|
||||
<circle class="nj-charts-json-dot" cx="279.6" cy="127.0" r="3.5"><title>#5884: 2.2×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="279.6" y1="36.0" x2="279.6" y2="122.0"/>
|
||||
<circle class="nj-theme-dot" cx="279.6" cy="28.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="279.6" y="32.0" text-anchor="middle">1</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="330" y2="208"/>
|
||||
<text class="nj-charts-note" x="8" y="262">speedup over 3.12.0 (log scale), more is better</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 9.6 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-to_cbor_twitter nj-blog-tl-to_cbor_twitter-d" xmlns="http://www.w3.org/2000/svg">
|
||||
<title id="nj-blog-tl-to_cbor_twitter">to_cbor() twitter: speedup over 3.12.0 by commit</title>
|
||||
<desc id="nj-blog-tl-to_cbor_twitter-d">to_cbor() twitter: speedup over 3.12.0 at each of 317 commits, ending at 5.0x. Labeled steps, by theme: 4, 6, 6.</desc>
|
||||
<desc id="nj-blog-tl-to_cbor_twitter-d">to_cbor() twitter: speedup over 3.12.0 at each of 353 commits, ending at 5.0x. Labeled steps, by theme: 4, 6, 6.</desc>
|
||||
<text class="nj-charts-panel" x="8" y="18">to_cbor() twitter</text>
|
||||
<line class="nj-charts-grid" x1="44" y1="208" x2="330" y2="208"/>
|
||||
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="212">1×</text>
|
||||
@@ -12,23 +12,23 @@
|
||||
<text class="nj-charts-tick nj-charts-tick--r" x="38" y="70">8×</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="44" y2="212"/>
|
||||
<text class="nj-charts-tick" x="44" y="225">3.12.0</text>
|
||||
<line class="nj-charts-axis" x1="126.361" y1="208" x2="126.361" y2="212"/>
|
||||
<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
|
||||
<circle class="nj-charts-json-dot" cx="256.7" cy="153.7" r="3.5"><title>#5328: 2.2×</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"/>
|
||||
<text class="nj-theme-num" x="256.7" y="50.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-charts-json-dot" cx="295.6" cy="123.4" r="3.5"><title>#5824: 3.5×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="295.6" y1="54.0" x2="295.6" y2="118.4"/>
|
||||
<circle class="nj-theme-dot" cx="295.6" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="295.6" y="50.0" text-anchor="middle">6</text>
|
||||
<circle class="nj-charts-json-dot" cx="309.2" cy="96.9" r="3.5"><title>#5885: 5.1×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="309.2" y1="36.0" x2="309.2" y2="91.9"/>
|
||||
<circle class="nj-theme-dot" cx="309.2" cy="28.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="309.2" y="32.0" text-anchor="middle">6</text>
|
||||
<line class="nj-charts-axis" x1="117.938" y1="208" x2="117.938" y2="212"/>
|
||||
<text class="nj-charts-tick" x="117.938" y="225">Sep 2026</text>
|
||||
<line class="nj-charts-axis" x1="198.375" y1="208" x2="198.375" y2="212"/>
|
||||
<text class="nj-charts-tick" x="198.375" y="225">Oct</text>
|
||||
<polyline class="nj-charts-json" points="44.0,208.0 44.8,208.0 44.8,208.0 45.6,208.0 45.6,204.9 46.4,204.9 46.4,205.2 47.2,205.2 47.2,204.7 48.1,204.7 48.1,205.2 48.9,205.2 48.9,205.0 49.7,205.0 49.7,204.9 50.5,204.9 50.5,205.0 51.3,205.0 51.3,205.0 52.1,205.0 52.1,205.1 52.9,205.1 52.9,205.4 53.8,205.4 53.8,205.0 54.6,205.0 54.6,205.2 55.4,205.2 55.4,211.6 56.2,211.6 56.2,206.8 57.0,206.8 57.0,204.2 57.8,204.2 57.8,207.6 58.6,207.6 58.6,204.1 59.4,204.1 59.4,203.8 60.2,203.8 60.2,204.2 61.1,204.2 61.1,205.1 61.9,205.1 61.9,204.4 62.7,204.4 62.7,204.3 63.5,204.3 63.5,204.0 64.3,204.0 64.3,202.7 65.1,202.7 65.1,204.2 65.9,204.2 65.9,204.2 66.8,204.2 66.8,204.2 67.6,204.2 67.6,204.4 68.4,204.4 68.4,206.2 69.2,206.2 69.2,204.3 70.0,204.3 70.0,204.1 70.8,204.1 70.8,204.3 71.6,204.3 71.6,204.3 72.4,204.3 72.4,204.3 73.2,204.3 73.2,204.3 74.1,204.3 74.1,204.4 74.9,204.4 74.9,204.8 75.7,204.8 75.7,208.4 76.5,208.4 76.5,203.5 77.3,203.5 77.3,206.2 78.1,206.2 78.1,204.4 78.9,204.4 78.9,203.2 79.8,203.2 79.8,204.1 80.6,204.1 80.6,204.2 81.4,204.2 81.4,203.7 82.2,203.7 82.2,204.2 83.0,204.2 83.0,203.2 83.8,203.2 83.8,204.2 84.6,204.2 84.6,204.4 85.4,204.4 85.4,203.8 86.2,203.8 86.2,204.4 87.1,204.4 87.1,204.7 87.9,204.7 87.9,204.6 88.7,204.6 88.7,208.7 89.5,208.7 89.5,205.2 90.3,205.2 90.3,205.5 91.1,205.5 91.1,205.2 91.9,205.2 91.9,205.3 92.8,205.3 92.8,206.8 93.6,206.8 93.6,204.6 94.4,204.6 94.4,205.5 95.2,205.5 95.2,205.1 96.0,205.1 96.0,204.7 96.8,204.7 96.8,205.7 97.6,205.7 97.6,205.0 98.4,205.0 98.4,204.9 99.2,204.9 99.2,206.5 100.1,206.5 100.1,205.6 100.9,205.6 100.9,205.0 101.7,205.0 101.7,209.2 102.5,209.2 102.5,205.9 103.3,205.9 103.3,206.5 104.1,206.5 104.1,205.5 104.9,205.5 104.9,205.3 105.8,205.3 105.8,205.3 106.6,205.3 106.6,205.1 107.4,205.1 107.4,204.4 108.2,204.4 108.2,204.6 109.0,204.6 109.0,204.8 109.8,204.8 109.8,204.2 110.6,204.2 110.6,203.8 111.4,203.8 111.4,204.4 112.2,204.4 112.2,202.8 113.1,202.8 113.1,203.5 113.9,203.5 113.9,204.0 114.7,204.0 114.7,204.3 115.5,204.3 115.5,202.9 116.3,202.9 116.3,203.3 117.1,203.3 117.1,204.4 117.9,204.4 117.9,204.5 118.8,204.5 118.8,204.1 119.6,204.1 119.6,208.3 120.4,208.3 120.4,203.8 121.2,203.8 121.2,207.0 122.0,207.0 122.0,205.9 122.8,205.9 122.8,205.4 123.6,205.4 123.6,205.3 124.4,205.3 124.4,205.8 125.3,205.8 125.3,205.4 126.1,205.4 126.1,205.6 126.9,205.6 126.9,206.3 127.7,206.3 127.7,205.5 128.5,205.5 128.5,204.8 129.3,204.8 129.3,204.6 130.1,204.6 130.1,206.1 130.9,206.1 130.9,204.6 131.8,204.6 131.8,204.1 132.6,204.1 132.6,204.3 133.4,204.3 133.4,205.6 134.2,205.6 134.2,203.9 135.0,203.9 135.0,204.0 135.8,204.0 135.8,203.9 136.6,203.9 136.6,204.6 137.4,204.6 137.4,204.1 138.2,204.1 138.2,203.9 139.1,203.9 139.1,204.8 139.9,204.8 139.9,203.2 140.7,203.2 140.7,203.3 141.5,203.3 141.5,204.7 142.3,204.7 142.3,208.3 143.1,208.3 143.1,204.3 143.9,204.3 143.9,207.4 144.8,207.4 144.8,204.4 145.6,204.4 145.6,208.2 146.4,208.2 146.4,205.0 147.2,205.0 147.2,204.9 148.0,204.9 148.0,208.8 148.8,208.8 148.8,207.9 149.6,207.9 149.6,206.2 150.4,206.2 150.4,204.2 151.2,204.2 151.2,204.1 152.1,204.1 152.1,204.2 152.9,204.2 152.9,202.2 153.7,202.2 153.7,205.6 154.5,205.6 154.5,203.0 155.3,203.0 155.3,203.4 156.1,203.4 156.1,202.7 156.9,202.7 156.9,203.6 157.8,203.6 157.8,203.3 158.6,203.3 158.6,203.2 159.4,203.2 159.4,204.9 160.2,204.9 160.2,202.9 161.0,202.9 161.0,202.2 161.8,202.2 161.8,202.5 162.6,202.5 162.6,202.9 163.4,202.9 163.4,202.9 164.2,202.9 164.2,202.3 165.1,202.3 165.1,202.9 165.9,202.9 165.9,203.7 166.7,203.7 166.7,204.1 167.5,204.1 167.5,203.9 168.3,203.9 168.3,203.7 169.1,203.7 169.1,203.3 169.9,203.3 169.9,203.8 170.8,203.8 170.8,205.0 171.6,205.0 171.6,208.0 172.4,208.0 172.4,205.1 173.2,205.1 173.2,206.5 174.0,206.5 174.0,205.4 174.8,205.4 174.8,205.4 175.6,205.4 175.6,207.0 176.4,207.0 176.4,204.9 177.2,204.9 177.2,205.4 178.1,205.4 178.1,203.6 178.9,203.6 178.9,205.7 179.7,205.7 179.7,204.5 180.5,204.5 180.5,205.0 181.3,205.0 181.3,205.2 182.1,205.2 182.1,204.9 182.9,204.9 182.9,204.5 183.8,204.5 183.8,204.9 184.6,204.9 184.6,205.3 185.4,205.3 185.4,203.9 186.2,203.9 186.2,204.8 187.0,204.8 187.0,204.8 187.8,204.8 187.8,203.6 188.6,203.6 188.6,203.4 189.4,203.4 189.4,203.8 190.2,203.8 190.2,205.1 191.1,205.1 191.1,205.5 191.9,205.5 191.9,204.0 192.7,204.0 192.7,204.9 193.5,204.9 193.5,205.0 194.3,205.0 194.3,206.4 195.1,206.4 195.1,205.1 195.9,205.1 195.9,204.5 196.8,204.5 196.8,204.8 197.6,204.8 197.6,205.2 198.4,205.2 198.4,205.0 199.2,205.0 199.2,204.6 200.0,204.6 200.0,203.9 200.8,203.9 200.8,203.5 201.6,203.5 201.6,203.6 202.4,203.6 202.4,204.2 203.2,204.2 203.2,205.9 204.1,205.9 204.1,205.2 204.9,205.2 204.9,204.8 205.7,204.8 205.7,207.3 206.5,207.3 206.5,205.2 207.3,205.2 207.3,208.6 208.1,208.6 208.1,204.3 208.9,204.3 208.9,203.9 209.8,203.9 209.8,203.2 210.6,203.2 210.6,203.9 211.4,203.9 211.4,205.9 212.2,205.9 212.2,204.8 213.0,204.8 213.0,204.7 213.8,204.7 213.8,203.6 214.6,203.6 214.6,203.7 215.4,203.7 215.4,208.2 216.2,208.2 216.2,2Line truncated
|
||||
<circle class="nj-charts-json-dot" cx="234.9" cy="153.7" r="3.5"><title>#5328: 2.2×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="234.9" y1="54.0" x2="234.9" y2="148.7"/>
|
||||
<circle class="nj-theme-dot" cx="234.9" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="234.9" y="50.0" text-anchor="middle">4</text>
|
||||
<circle class="nj-charts-json-dot" cx="269.9" cy="123.4" r="3.5"><title>#5824: 3.5×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="269.9" y1="54.0" x2="269.9" y2="118.4"/>
|
||||
<circle class="nj-theme-dot" cx="269.9" cy="46.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="269.9" y="50.0" text-anchor="middle">6</text>
|
||||
<circle class="nj-charts-json-dot" cx="282.1" cy="96.9" r="3.5"><title>#5885: 5.1×</title></circle>
|
||||
<line class="nj-charts-grid" stroke-dasharray="2 2" x1="282.1" y1="36.0" x2="282.1" y2="91.9"/>
|
||||
<circle class="nj-theme-dot" cx="282.1" cy="28.0" r="7.5"/>
|
||||
<text class="nj-theme-num" x="282.1" y="32.0" text-anchor="middle">6</text>
|
||||
<line class="nj-charts-axis" x1="44" y1="208" x2="330" y2="208"/>
|
||||
<text class="nj-charts-note" x="8" y="262">speedup over 3.12.0 (log scale), more is better</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 11 KiB |
@@ -1,6 +1,6 @@
|
||||
<svg class="nj-fig nj-charts nj-charts--blog nj-charts--heat" viewBox="0 0 784 510" role="img" aria-labelledby="nj-blog-uc-mac nj-blog-uc-mac-d" xmlns="http://www.w3.org/2000/svg">
|
||||
<title id="nj-blog-uc-mac">Use cases: time of each library relative to the fastest, Apple M1 Max</title>
|
||||
<desc id="nj-blog-uc-mac-d">Table of relative times, libraries by use case. nlohmann/json json_document validate: 1.00; nlohmann/json json_document sum: 1.00; nlohmann/json json_document select: 1.00; nlohmann/json json_document edit: 1.00; nlohmann/json json_document minify: 1.00; nlohmann/json json_document write: 1.00; yyjson validate: 1.41; yyjson sum: 1.12; yyjson select: 1.29; yyjson edit: 1.50; yyjson minify: 1.25; yyjson write: 1.23; simdjson validate: 1.49; simdjson sum: 1.18; simdjson select: 1.34 (0.74 checking less, partial); simdjson edit: n/a; simdjson minify: 2.03 (0.18 checking less, partial); simdjson write: 3.21; sonic-rs (Rust) validate: 1.93; sonic-rs (Rust) sum: 1.54; sonic-rs (Rust) select: 1.85; sonic-rs (Rust) edit: 2.10; sonic-rs (Rust) minify: 1.93; sonic-rs (Rust) write: 2.37; sonic-cpp validate: no fully validating way (2.52 checking less, no U​TF-8); sonic-cpp sum: no fully validating way (1.84 checking less, no U​TF-8); sonic-cpp select: no fully validating way (2.32 checking less, no U​TF-8); sonic-cpp edit: no fully validating way (1.68 checking less, no U​TF-8); sonic-cpp minify: no fully validating way (2.01 checking less, no U​TF-8); sonic-cpp write: 1.54; simd-json (Rust) validate: 2.07; simd-json (Rust) sum: 1.62; simd-json (Rust) select: 2.40; simd-json (Rust) edit: 2.86; simd-json (Rust) minify: 3.41; simd-json (Rust) write: 3.08; Glaze validate: 2.03; Glaze sum: 3.84; Glaze select: 1.79 (0.81 checking less, partial); Glaze edit: 4.43; Glaze minify: 5.18 (1.03 checking less, partial); Glaze write: 2.19; Boost.J​SON validate: 2.55; Boost.J​SON sum: 1.97; Boost.J​SON select: 3.30; Boost.J​SON edit: 3.22; Boost.J​SON minify: 3.84; Boost.J​SON write: 3.68; nlohmann/json json validate: 2.70; nlohmann/json json sum: 1.95; nlohmann/json json select: 6.87; nlohmann/json json edit: 3.58; nlohmann/json json minify: 4.85; nlohmann/json json write: 2.04; serde_json (Rust) validate: 2.47 (2.23 checking less, no U​TF-8); serde_json (Rust) sum: 2.59; serde_json (Rust) select: 2.42 (2.27 checking less, no U​TF-8); serde_json (Rust) edit: 5.04; serde_json (Rust) minify: 5.88; serde_json (Rust) write: 2.93; RapidJSON validate: 6.68 (4.32 checking less, no U​TF-8); RapidJSON sum: 4.43 (2.98 checking less, no U​TF-8); RapidJSON select: 5.99 (3.90 checking less, no U​TF-8); RapidJSON edit: 4.85 (3.80 checking less, no U​TF-8); RapidJSON minify: 4.85 (4.53 checking less, no U​TF-8); RapidJSON write: 5.74.</desc>
|
||||
<desc id="nj-blog-uc-mac-d">Table of relative times, libraries by use case. nlohmann/json json_document validate: 1.00; nlohmann/json json_document sum: 1.00; nlohmann/json json_document select: 1.00; nlohmann/json json_document edit: 1.00 (0.85 doing less, N); nlohmann/json json_document minify: 1.00 (0.85 doing less, N); nlohmann/json json_document write: 1.00 (0.70 doing less, N); yyjson validate: 1.42; yyjson sum: 1.14; yyjson select: 1.30; yyjson edit: 1.49; yyjson minify: 1.26 (1.19 doing less, N); yyjson write: 1.26; simdjson validate: 1.52; simdjson sum: 1.20; simdjson select: 1.36 (0.75 doing less, P); simdjson edit: n/a; simdjson minify: 2.06 (0.18 doing less, P); simdjson write: 3.27; sonic-rs (Rust) validate: 1.94; sonic-rs (Rust) sum: 1.53; sonic-rs (Rust) select: 1.84; sonic-rs (Rust) edit: 2.10; sonic-rs (Rust) minify: 1.93; sonic-rs (Rust) write: 2.39; sonic-cpp validate: no fully validating way (2.55 doing less, U); sonic-cpp sum: no fully validating way (1.85 doing less, U); sonic-cpp select: no fully validating way (2.33 doing less, U); sonic-cpp edit: no fully validating way (1.71 doing less, U); sonic-cpp minify: no fully validating way (2.04 doing less, U); sonic-cpp write: 1.63; simd-json (Rust) validate: 2.08; simd-json (Rust) sum: 1.62; simd-json (Rust) select: 2.39; simd-json (Rust) edit: 2.85; simd-json (Rust) minify: 3.40; simd-json (Rust) write: 3.12; Glaze validate: 2.05; Glaze sum: 3.86; Glaze select: 1.80 (0.82 doing less, P); Glaze edit: 4.42; Glaze minify: 5.19 (1.06 doing less, P); Glaze write: 2.24; Boost.J​SON validate: 2.59; Boost.J​SON sum: 1.98; Boost.J​SON select: 3.29; Boost.J​SON edit: 3.25; Boost.J​SON minify: 3.87; Boost.J​SON write: 3.75; serde_json (Rust) validate: 2.48 (2.24 doing less, U); serde_json (Rust) sum: 2.58; serde_json (Rust) select: 2.41 (2.25 doing less, U); serde_json (Rust) edit: 5.02; serde_json (Rust) minify: 5.86; serde_json (Rust) write: 2.97; nlohmann/json json validate: 2.74; nlohmann/json json sum: 1.96; nlohmann/json json select: 6.91; nlohmann/json json edit: 3.72; nlohmann/json json minify: 4.91; nlohmann/json json write: 2.08; RapidJSON validate: 6.78 (4.40 doing less, U); RapidJSON sum: 4.46 (3.01 doing less, U); RapidJSON select: 6.01 (3.95 doing less, U); RapidJSON edit: 4.88 (3.84 doing less, U); RapidJSON minify: 4.89 (4.28 doing less, U N); RapidJSON write: 5.87.</desc>
|
||||
<text class="nj-charts-tick" x="270" y="34">validate</text>
|
||||
<text class="nj-charts-tick" x="362" y="34">sum</text>
|
||||
<text class="nj-charts-tick" x="454" y="34">select</text>
|
||||
@@ -8,102 +8,122 @@
|
||||
<text class="nj-charts-tick" x="638" y="34">minify</text>
|
||||
<text class="nj-charts-tick" x="730" y="34">write</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-name-json" x="216" y="66" text-anchor="end">nlohmann/json json_document</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · validate 1.00× the time of the fastest library (fully validating) way: accept twitter.json: 170 µs citm_catalog.json: 313 µs canada.json: 881 µs jeopardy.json: 20,764 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · validate 1.00× the time of the fastest library (fully validating) way: accept twitter.json: 169 µs citm_catalog.json: 313 µs canada.json: 868 µs jeopardy.json: 20,764 µs">
|
||||
<rect class="nj-heat-0" x="225" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · sum 1.00× the time of the fastest library (fully validating) way: parse twitter.json: 226 µs citm_catalog.json: 482 µs canada.json: 1,818 µs jeopardy.json: 28,732 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · sum 1.00× the time of the fastest library (fully validating) way: parse twitter.json: 227 µs citm_catalog.json: 482 µs canada.json: 1,790 µs jeopardy.json: 29,450 µs">
|
||||
<rect class="nj-heat-0" x="317" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · select 1.00× the time of the fastest library (fully validating) way: parse twitter.json: 180 µs citm_catalog.json: 363 µs canada.json: 959 µs jeopardy.json: 24,367 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · select 1.00× the time of the fastest library (fully validating) way: parse twitter.json: 186 µs citm_catalog.json: 363 µs canada.json: 928 µs jeopardy.json: 25,032 µs">
|
||||
<rect class="nj-heat-0" x="409" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · edit 1.00× the time of the fastest library (fully validating) way: editable twitter.json: 284 µs citm_catalog.json: 560 µs canada.json: 2,762 µs jeopardy.json: 57,380 µs">
|
||||
<rect class="nj-heat-0" x="501" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="66" text-anchor="middle">1.00</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · edit 1.00× the time of the fastest library (fully validating) way: editable twitter.json: 283 µs citm_catalog.json: 563 µs canada.json: 2,741 µs jeopardy.json: 58,470 µs">
|
||||
<rect class="nj-heat-0" x="501" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="523.5" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · minify 1.00× the time of the fastest library (fully validating) way: parse + dump twitter.json: 258 µs citm_catalog.json: 496 µs canada.json: 2,577 µs jeopardy.json: 37,294 µs">
|
||||
<rect class="nj-heat-0" x="593" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="66" text-anchor="middle">1.00</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · edit, checking less 0.85× the time of the fastest fully validating library twitter.json: 283 µs · editable (validates fully) citm_catalog.json: 560 µs · editable (source numbers) (validates fully) canada.json: 1,448 µs · editable (source numbers) (validates fully) jeopardy.json: 58,344 µs · editable (source numbers) (validates fully) copies each number's text instead of formatting it (number_format::source)">
|
||||
<rect class="nj-heat-0" x="547" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="568.5" y="60" text-anchor="middle">0.85</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="568.5" y="73" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · write 1.00× the time of the fastest library (fully validating) way: dump twitter.json: 75.6 µs citm_catalog.json: 136 µs canada.json: 1,618 µs jeopardy.json: 14,609 µs">
|
||||
<rect class="nj-heat-0" x="685" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="66" text-anchor="middle">1.00</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · minify 1.00× the time of the fastest library (fully validating) way: parse + dump twitter.json: 261 µs citm_catalog.json: 493 µs canada.json: 2,550 µs jeopardy.json: 37,888 µs">
|
||||
<rect class="nj-heat-0" x="593" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · minify, checking less 0.85× the time of the fastest fully validating library twitter.json: 259 µs · parse + dump (source numbers) (validates fully) citm_catalog.json: 493 µs · parse + dump (source numbers) (validates fully) canada.json: 1,328 µs · parse + dump (source numbers) (validates fully) jeopardy.json: 37,888 µs · parse + dump (validates fully) copies each number's text instead of formatting it (number_format::source)">
|
||||
<rect class="nj-heat-0" x="639" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="60" text-anchor="middle">0.85</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="73" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · write 1.00× the time of the fastest library (fully validating) way: dump twitter.json: 72.9 µs citm_catalog.json: 133 µs canada.json: 1,622 µs jeopardy.json: 14,735 µs">
|
||||
<rect class="nj-heat-0" x="685" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="707.5" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · write, checking less 0.70× the time of the fastest fully validating library twitter.json: 72.9 µs · dump (validates fully) citm_catalog.json: 133 µs · dump (validates fully) canada.json: 400 µs · dump (source numbers) (validates fully) jeopardy.json: 14,732 µs · dump (source numbers) (validates fully) copies each number's text instead of formatting it (number_format::source)">
|
||||
<rect class="nj-heat-0" x="731" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="752.5" y="60" text-anchor="middle">0.70</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="752.5" y="73" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="102" text-anchor="end">yyjson</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · validate 1.41× the time of the fastest library (fully validating) twitter.json: 181 µs · read citm_catalog.json: 474 µs · insitu (copy) canada.json: 1,484 µs · insitu (copy) jeopardy.json: 30,583 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · validate 1.42× the time of the fastest library (fully validating) twitter.json: 178 µs · read citm_catalog.json: 475 µs · read canada.json: 1,496 µs · insitu (copy) jeopardy.json: 30,679 µs · read (raw numbers) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="225" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="102" text-anchor="middle">1.41</text>
|
||||
<text class="nj-charts-cell" x="270" y="102" text-anchor="middle">1.42</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · sum 1.12× the time of the fastest library (fully validating) twitter.json: 229 µs · insitu (copy) citm_catalog.json: 570 µs · read canada.json: 1,867 µs · insitu (copy) jeopardy.json: 37,323 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · sum 1.14× the time of the fastest library (fully validating) twitter.json: 229 µs · insitu (copy) citm_catalog.json: 576 µs · read canada.json: 1,941 µs · read jeopardy.json: 37,855 µs · read (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-0" x="317" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="102" text-anchor="middle">1.12</text>
|
||||
<text class="nj-charts-cell" x="362" y="102" text-anchor="middle">1.14</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · select 1.29× the time of the fastest library (fully validating) twitter.json: 188 µs · insitu (copy) citm_catalog.json: 475 µs · insitu (copy) canada.json: 1,488 µs · insitu (copy) jeopardy.json: 32,022 µs · read (raw numbers) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · select 1.30× the time of the fastest library (fully validating) twitter.json: 191 µs · insitu (copy) citm_catalog.json: 476 µs · read canada.json: 1,490 µs · insitu (copy) jeopardy.json: 33,078 µs · read (raw numbers) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="409" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="102" text-anchor="middle">1.29</text>
|
||||
<text class="nj-charts-cell" x="454" y="102" text-anchor="middle">1.30</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · edit 1.50× the time of the fastest library (fully validating) twitter.json: 446 µs · mut copy citm_catalog.json: 924 µs · insitu (copy) + mut copy canada.json: 3,685 µs · insitu (copy) + mut copy jeopardy.json: 83,706 µs · insitu (copy) + mut copy (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · edit 1.49× the time of the fastest library (fully validating) twitter.json: 441 µs · mut copy citm_catalog.json: 904 µs · insitu (copy) + mut copy canada.json: 3,700 µs · mut copy jeopardy.json: 85,478 µs · insitu (copy) + mut copy (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="501" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="102" text-anchor="middle">1.50</text>
|
||||
<text class="nj-charts-cell" x="546" y="102" text-anchor="middle">1.49</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · minify 1.25× the time of the fastest library (fully validating) twitter.json: 291 µs · insitu (copy) + write citm_catalog.json: 635 µs · insitu (copy) + write canada.json: 3,209 µs · read + write jeopardy.json: 49,919 µs · insitu (copy) + write (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="593" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="102" text-anchor="middle">1.25</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · minify 1.26× the time of the fastest library (fully validating) twitter.json: 298 µs · read + write citm_catalog.json: 641 µs · insitu (copy) + write canada.json: 3,219 µs · insitu (copy) + write jeopardy.json: 51,099 µs · read + write (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="593" y="81" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="102" text-anchor="middle">1.26</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · write 1.23× the time of the fastest library (fully validating) way: write twitter.json: 101 µs citm_catalog.json: 164 µs canada.json: 1,715 µs jeopardy.json: 19,621 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · minify, checking less 1.19× the time of the fastest fully validating library twitter.json: 298 µs · read + write (validates fully) citm_catalog.json: 641 µs · insitu (copy) + write (validates fully) canada.json: 2,527 µs · read (raw numbers) + write (validates fully) jeopardy.json: 51,099 µs · read + write (validates fully) copies each number's text instead of formatting it (YYJSON_READ_NUMBER_AS_RAW) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="639" y="81" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="96" text-anchor="middle">1.19</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="109" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · write 1.26× the time of the fastest library (fully validating) way: write twitter.json: 103 µs citm_catalog.json: 165 µs canada.json: 1,719 µs jeopardy.json: 19,993 µs">
|
||||
<rect class="nj-heat-1" x="685" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="102" text-anchor="middle">1.23</text>
|
||||
<text class="nj-charts-cell" x="730" y="102" text-anchor="middle">1.26</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="138" text-anchor="end">simdjson</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · validate 1.49× the time of the fastest library (fully validating) way: D​OM twitter.json: 202 µs citm_catalog.json: 444 µs canada.json: 1,883 µs jeopardy.json: 28,317 µs">
|
||||
<rect class="nj-heat-1" x="225" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="138" text-anchor="middle">1.49</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · validate 1.52× the time of the fastest library (fully validating) way: D​OM twitter.json: 205 µs citm_catalog.json: 459 µs canada.json: 1,890 µs jeopardy.json: 28,911 µs">
|
||||
<rect class="nj-heat-2" x="225" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="138" text-anchor="middle">1.52</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · sum 1.18× the time of the fastest library (fully validating) twitter.json: 239 µs · D​OM citm_catalog.json: 563 µs · On-Demand canada.json: 2,372 µs · On-Demand jeopardy.json: 34,486 µs · D​OM">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · sum 1.20× the time of the fastest library (fully validating) twitter.json: 244 µs · D​OM citm_catalog.json: 588 µs · On-Demand canada.json: 2,387 µs · On-Demand jeopardy.json: 35,389 µs · D​OM">
|
||||
<rect class="nj-heat-1" x="317" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="138" text-anchor="middle">1.18</text>
|
||||
<text class="nj-charts-cell" x="362" y="138" text-anchor="middle">1.20</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select 1.34× the time of the fastest library (fully validating) way: D​OM twitter.json: 196 µs citm_catalog.json: 441 µs canada.json: 1,883 µs jeopardy.json: 30,127 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select 1.36× the time of the fastest library (fully validating) way: D​OM twitter.json: 202 µs citm_catalog.json: 454 µs canada.json: 1,886 µs jeopardy.json: 30,892 µs">
|
||||
<rect class="nj-heat-1" x="409" y="117" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="431.5" y="138" text-anchor="middle">1.34</text>
|
||||
<text class="nj-charts-cell" x="431.5" y="138" text-anchor="middle">1.36</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select, checking less 0.74× the time of the fastest fully validating library twitter.json: 125 µs · On-Demand structs citm_catalog.json: 346 µs · On-Demand canada.json: 564 µs · On-Demand jeopardy.json: 19,234 µs · On-Demand reads lazily: On-Demand reads only what you ask for and steps over the rest by matching brackets">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select, checking less 0.75× the time of the fastest fully validating library twitter.json: 128 µs · On-Demand structs citm_catalog.json: 353 µs · On-Demand canada.json: 566 µs · On-Demand (key selectors) jeopardy.json: 19,832 µs · On-Demand reads lazily: On-Demand reads only what you ask for and steps over the rest by matching brackets">
|
||||
<rect class="nj-heat-0" x="455" y="117" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="476.5" y="132" text-anchor="middle">0.74</text>
|
||||
<text class="nj-charts-cell" x="476.5" y="132" text-anchor="middle">0.75</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="145" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · edit simdjson's documents are read-only: it has no A​PI to change a value and write the result">
|
||||
<rect class="nj-heat-na" x="501" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-tick" x="546" y="138">n/a</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify 2.03× the time of the fastest library (fully validating) way: D​OM + to_string twitter.json: 566 µs citm_catalog.json: 906 µs canada.json: 5,026 µs jeopardy.json: 81,426 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify 2.06× the time of the fastest library (fully validating) way: D​OM + to_string twitter.json: 574 µs citm_catalog.json: 928 µs canada.json: 5,038 µs jeopardy.json: 82,978 µs">
|
||||
<rect class="nj-heat-2" x="593" y="117" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="138" text-anchor="middle">2.03</text>
|
||||
<text class="nj-charts-cell" x="615.5" y="138" text-anchor="middle">2.06</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify, checking less 0.18× the time of the fastest fully validating library way: minify twitter.json: 61.3 µs citm_catalog.json: 168 µs canada.json: 228 µs jeopardy.json: 5,653 µs simdjson::minify() only removes whitespace, without parsing the values">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify, checking less 0.18× the time of the fastest fully validating library way: minify twitter.json: 61.5 µs citm_catalog.json: 168 µs canada.json: 227 µs jeopardy.json: 5,755 µs simdjson::minify() only removes whitespace, without parsing the values">
|
||||
<rect class="nj-heat-0" x="639" y="117" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="132" text-anchor="middle">0.18</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="145" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · write 3.21× the time of the fastest library (fully validating) way: to_string twitter.json: 342 µs citm_catalog.json: 451 µs canada.json: 3,159 µs jeopardy.json: 52,849 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · write 3.27× the time of the fastest library (fully validating) way: to_string twitter.json: 342 µs citm_catalog.json: 448 µs canada.json: 3,196 µs jeopardy.json: 53,776 µs">
|
||||
<rect class="nj-heat-3" x="685" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="138" text-anchor="middle">3.21</text>
|
||||
<text class="nj-charts-cell" x="730" y="138" text-anchor="middle">3.27</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="174" text-anchor="end">sonic-rs (Rust)</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · validate 1.93× the time of the fastest library (fully validating) way: Value twitter.json: 326 µs citm_catalog.json: 681 µs canada.json: 1,939 µs jeopardy.json: 31,450 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · validate 1.94× the time of the fastest library (fully validating) way: Value twitter.json: 326 µs citm_catalog.json: 681 µs canada.json: 1,939 µs jeopardy.json: 31,450 µs">
|
||||
<rect class="nj-heat-2" x="225" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="174" text-anchor="middle">1.93</text>
|
||||
<text class="nj-charts-cell" x="270" y="174" text-anchor="middle">1.94</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · sum 1.54× the time of the fastest library (fully validating) way: visitor twitter.json: 364 µs citm_catalog.json: 778 µs canada.json: 2,703 µs jeopardy.json: 41,361 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · sum 1.53× the time of the fastest library (fully validating) way: visitor twitter.json: 364 µs citm_catalog.json: 778 µs canada.json: 2,703 µs jeopardy.json: 41,361 µs">
|
||||
<rect class="nj-heat-2" x="317" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="174" text-anchor="middle">1.54</text>
|
||||
<text class="nj-charts-cell" x="362" y="174" text-anchor="middle">1.53</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · select 1.85× the time of the fastest library (fully validating) way: Value twitter.json: 333 µs citm_catalog.json: 691 µs canada.json: 1,936 µs jeopardy.json: 40,660 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · select 1.84× the time of the fastest library (fully validating) way: Value twitter.json: 333 µs citm_catalog.json: 691 µs canada.json: 1,936 µs jeopardy.json: 40,660 µs">
|
||||
<rect class="nj-heat-2" x="409" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="174" text-anchor="middle">1.85</text>
|
||||
<text class="nj-charts-cell" x="454" y="174" text-anchor="middle">1.84</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · edit 2.10× the time of the fastest library (fully validating) way: Value twitter.json: 634 µs citm_catalog.json: 1,257 µs canada.json: 4,396 µs jeopardy.json: 140,936 µs">
|
||||
<rect class="nj-heat-2" x="501" y="153" width="90" height="34" rx="3"/>
|
||||
@@ -113,234 +133,234 @@
|
||||
<rect class="nj-heat-2" x="593" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="174" text-anchor="middle">1.93</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · write 2.37× the time of the fastest library (fully validating) way: Value twitter.json: 212 µs citm_catalog.json: 446 µs canada.json: 2,419 µs jeopardy.json: 33,366 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · write 2.39× the time of the fastest library (fully validating) way: Value twitter.json: 212 µs citm_catalog.json: 446 µs canada.json: 2,419 µs jeopardy.json: 33,366 µs">
|
||||
<rect class="nj-heat-2" x="685" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="174" text-anchor="middle">2.37</text>
|
||||
<text class="nj-charts-cell" x="730" y="174" text-anchor="middle">2.39</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="210" text-anchor="end">sonic-cpp</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · validate, checking less 2.52× the time of the fastest fully validating library way: Document twitter.json: 380 µs citm_catalog.json: 981 µs canada.json: 2,577 µs jeopardy.json: 40,694 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · validate, checking less 2.55× the time of the fastest fully validating library way: Document twitter.json: 381 µs citm_catalog.json: 994 µs canada.json: 2,579 µs jeopardy.json: 41,429 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-3" x="225" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="204" text-anchor="middle">2.52</text>
|
||||
<text class="nj-charts-cell" x="270" y="204" text-anchor="middle">2.55</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="270" y="217" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · sum, checking less 1.84× the time of the fastest fully validating library way: Document twitter.json: 427 µs citm_catalog.json: 1,084 µs canada.json: 2,955 µs jeopardy.json: 48,014 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · sum, checking less 1.85× the time of the fastest fully validating library way: Document twitter.json: 428 µs citm_catalog.json: 1,088 µs canada.json: 2,972 µs jeopardy.json: 48,845 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-2" x="317" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="204" text-anchor="middle">1.84</text>
|
||||
<text class="nj-charts-cell" x="362" y="204" text-anchor="middle">1.85</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="362" y="217" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · select, checking less 2.32× the time of the fastest fully validating library way: Document twitter.json: 384 µs citm_catalog.json: 990 µs canada.json: 2,576 µs jeopardy.json: 45,060 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · select, checking less 2.33× the time of the fastest fully validating library way: Document twitter.json: 385 µs citm_catalog.json: 991 µs canada.json: 2,585 µs jeopardy.json: 46,396 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-2" x="409" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="204" text-anchor="middle">2.32</text>
|
||||
<text class="nj-charts-cell" x="454" y="204" text-anchor="middle">2.33</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="454" y="217" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · edit, checking less 1.68× the time of the fastest fully validating library way: Document twitter.json: 476 µs citm_catalog.json: 1,218 µs canada.json: 5,620 µs jeopardy.json: 61,631 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · edit, checking less 1.71× the time of the fastest fully validating library way: Document twitter.json: 490 µs citm_catalog.json: 1,229 µs canada.json: 5,653 µs jeopardy.json: 63,914 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-2" x="501" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="204" text-anchor="middle">1.68</text>
|
||||
<text class="nj-charts-cell" x="546" y="204" text-anchor="middle">1.71</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="546" y="217" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · minify, checking less 2.01× the time of the fastest fully validating library way: Document + Serialize twitter.json: 490 µs citm_catalog.json: 1,212 µs canada.json: 5,620 µs jeopardy.json: 59,715 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · minify, checking less 2.04× the time of the fastest fully validating library way: Document + Serialize twitter.json: 505 µs citm_catalog.json: 1,224 µs canada.json: 5,661 µs jeopardy.json: 61,985 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-2" x="593" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="204" text-anchor="middle">2.01</text>
|
||||
<text class="nj-charts-cell" x="638" y="204" text-anchor="middle">2.04</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="638" y="217" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · write 1.54× the time of the fastest library (fully validating) way: Serialize twitter.json: 104 µs citm_catalog.json: 229 µs canada.json: 3,040 µs jeopardy.json: 18,906 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · write 1.63× the time of the fastest library (fully validating) way: Serialize twitter.json: 113 µs citm_catalog.json: 236 µs canada.json: 3,046 µs jeopardy.json: 19,953 µs">
|
||||
<rect class="nj-heat-2" x="685" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="210" text-anchor="middle">1.54</text>
|
||||
<text class="nj-charts-cell" x="730" y="210" text-anchor="middle">1.63</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="246" text-anchor="end">simd-json (Rust)</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · validate 2.07× the time of the fastest library (fully validating) way: tape (copy) twitter.json: 289 µs citm_catalog.json: 698 µs canada.json: 2,278 µs jeopardy.json: 38,874 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · validate 2.08× the time of the fastest library (fully validating) way: tape (copy) twitter.json: 289 µs citm_catalog.json: 698 µs canada.json: 2,278 µs jeopardy.json: 38,874 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-2" x="225" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="246" text-anchor="middle">2.07</text>
|
||||
<text class="nj-charts-cell" x="270" y="246" text-anchor="middle">2.08</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · sum 1.62× the time of the fastest library (fully validating) way: visitor (copy) twitter.json: 354 µs citm_catalog.json: 866 µs canada.json: 2,717 µs jeopardy.json: 47,518 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-2" x="317" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="246" text-anchor="middle">1.62</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · select 2.40× the time of the fastest library (fully validating) way: structs (copy) twitter.json: 364 µs citm_catalog.json: 914 µs canada.json: 2,657 µs jeopardy.json: 57,697 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · select 2.39× the time of the fastest library (fully validating) way: structs (copy) twitter.json: 364 µs citm_catalog.json: 914 µs canada.json: 2,657 µs jeopardy.json: 57,697 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-2" x="409" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="246" text-anchor="middle">2.40</text>
|
||||
<text class="nj-charts-cell" x="454" y="246" text-anchor="middle">2.39</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · edit 2.86× the time of the fastest library (fully validating) way: borrowed (copy) twitter.json: 948 µs citm_catalog.json: 2,102 µs canada.json: 7,654 µs jeopardy.json: 110,693 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · edit 2.85× the time of the fastest library (fully validating) way: borrowed (copy) twitter.json: 948 µs citm_catalog.json: 2,102 µs canada.json: 7,654 µs jeopardy.json: 110,693 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="501" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="246" text-anchor="middle">2.86</text>
|
||||
<text class="nj-charts-cell" x="546" y="246" text-anchor="middle">2.85</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · minify 3.41× the time of the fastest library (fully validating) way: borrowed (copy) twitter.json: 952 µs citm_catalog.json: 2,111 µs canada.json: 7,658 µs jeopardy.json: 108,130 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · minify 3.40× the time of the fastest library (fully validating) way: borrowed (copy) twitter.json: 952 µs citm_catalog.json: 2,111 µs canada.json: 7,658 µs jeopardy.json: 108,130 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="593" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="246" text-anchor="middle">3.41</text>
|
||||
<text class="nj-charts-cell" x="638" y="246" text-anchor="middle">3.40</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · write 3.08× the time of the fastest library (fully validating) way: borrowed twitter.json: 355 µs citm_catalog.json: 478 µs canada.json: 2,728 µs jeopardy.json: 47,412 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · write 3.12× the time of the fastest library (fully validating) way: borrowed twitter.json: 355 µs citm_catalog.json: 478 µs canada.json: 2,728 µs jeopardy.json: 47,412 µs">
|
||||
<rect class="nj-heat-3" x="685" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="246" text-anchor="middle">3.08</text>
|
||||
<text class="nj-charts-cell" x="730" y="246" text-anchor="middle">3.12</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="282" text-anchor="end">Glaze</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · validate 2.03× the time of the fastest library (fully validating) way: validate_json twitter.json: 328 µs citm_catalog.json: 864 µs canada.json: 1,304 µs jeopardy.json: 45,000 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · validate 2.05× the time of the fastest library (fully validating) way: validate_json twitter.json: 330 µs citm_catalog.json: 854 µs canada.json: 1,302 µs jeopardy.json: 46,181 µs">
|
||||
<rect class="nj-heat-2" x="225" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="282" text-anchor="middle">2.03</text>
|
||||
<text class="nj-charts-cell" x="270" y="282" text-anchor="middle">2.05</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · sum 3.84× the time of the fastest library (fully validating) way: generic (double, strict) twitter.json: 976 µs citm_catalog.json: 2,058 µs canada.json: 6,228 µs jeopardy.json: 99,307 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · sum 3.86× the time of the fastest library (fully validating) way: generic (double, strict) twitter.json: 985 µs citm_catalog.json: 2,057 µs canada.json: 6,272 µs jeopardy.json: 100,545 µs">
|
||||
<rect class="nj-heat-3" x="317" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="282" text-anchor="middle">3.84</text>
|
||||
<text class="nj-charts-cell" x="362" y="282" text-anchor="middle">3.86</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select 1.79× the time of the fastest library (fully validating) way: structs (validate_skipped) twitter.json: 310 µs citm_catalog.json: 846 µs canada.json: 1,304 µs jeopardy.json: 46,082 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select 1.80× the time of the fastest library (fully validating) way: structs (validate_skipped) twitter.json: 313 µs citm_catalog.json: 849 µs canada.json: 1,302 µs jeopardy.json: 47,315 µs">
|
||||
<rect class="nj-heat-2" x="409" y="261" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="431.5" y="282" text-anchor="middle">1.79</text>
|
||||
<text class="nj-charts-cell" x="431.5" y="282" text-anchor="middle">1.80</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select, checking less 0.81× the time of the fastest fully validating library way: structs twitter.json: 238 µs citm_catalog.json: 252 µs canada.json: 310 µs jeopardy.json: 36,025 µs reads into structs and steps over fields it doesn't know without checking them (validate_skipped checks them too)">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select, checking less 0.82× the time of the fastest fully validating library way: structs twitter.json: 239 µs citm_catalog.json: 258 µs canada.json: 310 µs jeopardy.json: 37,143 µs reads into structs and steps over fields it doesn't know without checking them (validate_skipped checks them too)">
|
||||
<rect class="nj-heat-0" x="455" y="261" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="476.5" y="276" text-anchor="middle">0.81</text>
|
||||
<text class="nj-charts-cell" x="476.5" y="276" text-anchor="middle">0.82</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="289" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · edit 4.43× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 1,529 µs citm_catalog.json: 3,234 µs canada.json: 10,939 µs jeopardy.json: 178,986 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · edit 4.42× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 1,529 µs citm_catalog.json: 3,231 µs canada.json: 10,938 µs jeopardy.json: 180,098 µs">
|
||||
<rect class="nj-heat-3" x="501" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="282" text-anchor="middle">4.43</text>
|
||||
<text class="nj-charts-cell" x="546" y="282" text-anchor="middle">4.42</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify 5.18× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 1,500 µs citm_catalog.json: 3,192 µs canada.json: 10,949 µs jeopardy.json: 168,670 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify 5.19× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 1,517 µs citm_catalog.json: 3,220 µs canada.json: 10,920 µs jeopardy.json: 168,662 µs">
|
||||
<rect class="nj-heat-4" x="593" y="261" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="282" text-anchor="middle">5.18</text>
|
||||
<text class="nj-charts-cell" x="615.5" y="282" text-anchor="middle">5.19</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify, checking less 1.03× the time of the fastest fully validating library way: minify_json twitter.json: 280 µs citm_catalog.json: 726 µs canada.json: 1,705 µs jeopardy.json: 39,266 µs minify_json only removes whitespace, without parsing the values">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify, checking less 1.06× the time of the fastest fully validating library way: minify_json twitter.json: 285 µs citm_catalog.json: 796 µs canada.json: 1,705 µs jeopardy.json: 40,374 µs minify_json only removes whitespace, without parsing the values">
|
||||
<rect class="nj-heat-0" x="639" y="261" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="276" text-anchor="middle">1.03</text>
|
||||
<text class="nj-charts-cell" x="660.5" y="276" text-anchor="middle">1.06</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="289" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · write 2.19× the time of the fastest library (fully validating) way: generic twitter.json: 210 µs citm_catalog.json: 468 µs canada.json: 1,694 µs jeopardy.json: 33,394 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · write 2.24× the time of the fastest library (fully validating) twitter.json: 213 µs · generic citm_catalog.json: 470 µs · generic canada.json: 1,705 µs · generic (strict) jeopardy.json: 34,047 µs · generic">
|
||||
<rect class="nj-heat-2" x="685" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="282" text-anchor="middle">2.19</text>
|
||||
<text class="nj-charts-cell" x="730" y="282" text-anchor="middle">2.24</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="318" text-anchor="end">Boost.J​SON</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · validate 2.55× the time of the fastest library (fully validating) way: S​AX (numbers: none) twitter.json: 529 µs citm_catalog.json: 992 µs canada.json: 1,466 µs jeopardy.json: 53,794 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · validate 2.59× the time of the fastest library (fully validating) way: S​AX (numbers: none) twitter.json: 536 µs citm_catalog.json: 995 µs canada.json: 1,467 µs jeopardy.json: 54,696 µs">
|
||||
<rect class="nj-heat-3" x="225" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="318" text-anchor="middle">2.55</text>
|
||||
<text class="nj-charts-cell" x="270" y="318" text-anchor="middle">2.59</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · sum 1.97× the time of the fastest library (fully validating) way: S​AX twitter.json: 529 µs citm_catalog.json: 1,006 µs canada.json: 3,028 µs jeopardy.json: 53,687 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · sum 1.98× the time of the fastest library (fully validating) way: S​AX twitter.json: 529 µs citm_catalog.json: 1,008 µs canada.json: 3,042 µs jeopardy.json: 55,145 µs">
|
||||
<rect class="nj-heat-2" x="317" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="318" text-anchor="middle">1.97</text>
|
||||
<text class="nj-charts-cell" x="362" y="318" text-anchor="middle">1.98</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · select 3.30× the time of the fastest library (fully validating) twitter.json: 622 µs · parse_into structs citm_catalog.json: 1,204 µs · parse_into structs canada.json: 3,621 µs · parse jeopardy.json: 66,725 µs · parse_into structs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · select 3.29× the time of the fastest library (fully validating) twitter.json: 620 µs · parse_into structs citm_catalog.json: 1,205 µs · parse_into structs canada.json: 3,634 µs · parse jeopardy.json: 67,861 µs · parse_into structs">
|
||||
<rect class="nj-heat-3" x="409" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="318" text-anchor="middle">3.30</text>
|
||||
<text class="nj-charts-cell" x="454" y="318" text-anchor="middle">3.29</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · edit 3.22× the time of the fastest library (fully validating) way: parse twitter.json: 1,364 µs citm_catalog.json: 1,989 µs canada.json: 6,492 µs jeopardy.json: 154,518 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · edit 3.25× the time of the fastest library (fully validating) way: parse twitter.json: 1,367 µs citm_catalog.json: 2,000 µs canada.json: 6,558 µs jeopardy.json: 159,053 µs">
|
||||
<rect class="nj-heat-3" x="501" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="318" text-anchor="middle">3.22</text>
|
||||
<text class="nj-charts-cell" x="546" y="318" text-anchor="middle">3.25</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · minify 3.84× the time of the fastest library (fully validating) way: parse + serialize twitter.json: 1,378 µs citm_catalog.json: 1,979 µs canada.json: 6,494 µs jeopardy.json: 151,389 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · minify 3.87× the time of the fastest library (fully validating) way: parse + serialize twitter.json: 1,384 µs citm_catalog.json: 1,990 µs canada.json: 6,554 µs jeopardy.json: 155,141 µs">
|
||||
<rect class="nj-heat-3" x="593" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="318" text-anchor="middle">3.84</text>
|
||||
<text class="nj-charts-cell" x="638" y="318" text-anchor="middle">3.87</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · write 3.68× the time of the fastest library (fully validating) way: serialize twitter.json: 497 µs citm_catalog.json: 501 µs canada.json: 2,874 µs jeopardy.json: 62,488 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · write 3.75× the time of the fastest library (fully validating) way: serialize twitter.json: 499 µs citm_catalog.json: 504 µs canada.json: 2,891 µs jeopardy.json: 63,231 µs">
|
||||
<rect class="nj-heat-3" x="685" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="318" text-anchor="middle">3.68</text>
|
||||
<text class="nj-charts-cell" x="730" y="318" text-anchor="middle">3.75</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel nj-charts-name-json" x="216" y="354" text-anchor="end">nlohmann/json json</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · validate 2.70× the time of the fastest library (fully validating) way: accept twitter.json: 451 µs citm_catalog.json: 854 µs canada.json: 2,395 µs jeopardy.json: 56,129 µs">
|
||||
<rect class="nj-heat-3" x="225" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="354" text-anchor="middle">2.70</text>
|
||||
<text class="nj-charts-rowlabel " x="216" y="354" text-anchor="end">serde_json (Rust)</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate 2.48× the time of the fastest library (fully validating) way: from_utf8 + IgnoredAny twitter.json: 452 µs citm_catalog.json: 1,103 µs canada.json: 1,556 µs jeopardy.json: 46,517 µs">
|
||||
<rect class="nj-heat-2" x="225" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="247.5" y="354" text-anchor="middle">2.48</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · sum 1.95× the time of the fastest library (fully validating) way: sax twitter.json: 462 µs citm_catalog.json: 931 µs canada.json: 3,065 µs jeopardy.json: 62,740 µs">
|
||||
<rect class="nj-heat-2" x="317" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="354" text-anchor="middle">1.95</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate, checking less 2.24× the time of the fastest fully validating library way: IgnoredAny twitter.json: 354 µs citm_catalog.json: 1,047 µs canada.json: 1,451 µs jeopardy.json: 44,984 µs trusts U​TF-8 in the strings it skips (from_slice); strings it reads are checked">
|
||||
<rect class="nj-heat-2" x="271" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="292.5" y="348" text-anchor="middle">2.24</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="292.5" y="361" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · select 6.87× the time of the fastest library (fully validating) twitter.json: 1,358 µs · parse citm_catalog.json: 2,414 µs · parse canada.json: 5,876 µs · structs (from_json) jeopardy.json: 176,914 µs · parse">
|
||||
<rect class="nj-heat-4" x="409" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="354" text-anchor="middle">6.87</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · sum 2.58× the time of the fastest library (fully validating) way: visitor twitter.json: 652 µs citm_catalog.json: 1,242 µs canada.json: 4,772 µs jeopardy.json: 66,568 µs">
|
||||
<rect class="nj-heat-3" x="317" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="354" text-anchor="middle">2.58</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · edit 3.58× the time of the fastest library (fully validating) twitter.json: 1,281 µs · ordered_json citm_catalog.json: 2,335 µs · ordered_json canada.json: 8,140 µs · parse jeopardy.json: 170,559 µs · ordered_json">
|
||||
<rect class="nj-heat-3" x="501" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="354" text-anchor="middle">3.58</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · select 2.41× the time of the fastest library (fully validating) way: from_utf8 + structs twitter.json: 480 µs citm_catalog.json: 1,125 µs canada.json: 1,560 µs jeopardy.json: 62,378 µs">
|
||||
<rect class="nj-heat-2" x="409" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="431.5" y="354" text-anchor="middle">2.41</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · minify 4.85× the time of the fastest library (fully validating) way: parse + dump twitter.json: 1,592 µs citm_catalog.json: 2,692 µs canada.json: 8,135 µs jeopardy.json: 195,657 µs">
|
||||
<rect class="nj-heat-3" x="593" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="354" text-anchor="middle">4.85</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · select, checking less 2.25× the time of the fastest fully validating library twitter.json: 410 µs · structs citm_catalog.json: 1,084 µs · structs canada.json: 1,455 µs · structs jeopardy.json: 62,378 µs · from_utf8 + structs (validates fully) trusts U​TF-8 in the strings it skips (from_slice); strings it reads are checked">
|
||||
<rect class="nj-heat-2" x="455" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="476.5" y="348" text-anchor="middle">2.25</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="361" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · write 2.04× the time of the fastest library (fully validating) way: dump twitter.json: 214 µs citm_catalog.json: 285 µs canada.json: 2,234 µs jeopardy.json: 30,902 µs">
|
||||
<rect class="nj-heat-2" x="685" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="354" text-anchor="middle">2.04</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · edit 5.02× the time of the fastest library (fully validating) way: Value twitter.json: 2,009 µs citm_catalog.json: 3,316 µs canada.json: 9,666 µs jeopardy.json: 251,931 µs">
|
||||
<rect class="nj-heat-4" x="501" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="354" text-anchor="middle">5.02</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="390" text-anchor="end">serde_json (Rust)</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate 2.47× the time of the fastest library (fully validating) way: from_utf8 + IgnoredAny twitter.json: 452 µs citm_catalog.json: 1,103 µs canada.json: 1,556 µs jeopardy.json: 46,517 µs">
|
||||
<rect class="nj-heat-2" x="225" y="369" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="247.5" y="390" text-anchor="middle">2.47</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · minify 5.86× the time of the fastest library (fully validating) way: Value twitter.json: 2,004 µs citm_catalog.json: 3,290 µs canada.json: 9,792 µs jeopardy.json: 227,369 µs">
|
||||
<rect class="nj-heat-4" x="593" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="354" text-anchor="middle">5.86</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate, checking less 2.23× the time of the fastest fully validating library way: IgnoredAny twitter.json: 354 µs citm_catalog.json: 1,047 µs canada.json: 1,451 µs jeopardy.json: 44,984 µs trusts U​TF-8 in the strings it skips (from_slice); strings it reads are checked">
|
||||
<rect class="nj-heat-2" x="271" y="369" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="292.5" y="384" text-anchor="middle">2.23</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="292.5" y="397" text-anchor="middle">U</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · write 2.97× the time of the fastest library (fully validating) way: Value twitter.json: 322 µs citm_catalog.json: 490 µs canada.json: 2,286 µs jeopardy.json: 49,967 µs">
|
||||
<rect class="nj-heat-3" x="685" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="354" text-anchor="middle">2.97</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · sum 2.59× the time of the fastest library (fully validating) way: visitor twitter.json: 652 µs citm_catalog.json: 1,242 µs canada.json: 4,772 µs jeopardy.json: 66,568 µs">
|
||||
<rect class="nj-heat-3" x="317" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="390" text-anchor="middle">2.59</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-name-json" x="216" y="390" text-anchor="end">nlohmann/json json</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · validate 2.74× the time of the fastest library (fully validating) way: accept twitter.json: 462 µs citm_catalog.json: 905 µs canada.json: 2,340 µs jeopardy.json: 54,684 µs">
|
||||
<rect class="nj-heat-3" x="225" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="390" text-anchor="middle">2.74</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · select 2.42× the time of the fastest library (fully validating) way: from_utf8 + structs twitter.json: 480 µs citm_catalog.json: 1,125 µs canada.json: 1,560 µs jeopardy.json: 62,378 µs">
|
||||
<rect class="nj-heat-2" x="409" y="369" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="431.5" y="390" text-anchor="middle">2.42</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · sum 1.96× the time of the fastest library (fully validating) way: sax twitter.json: 466 µs citm_catalog.json: 932 µs canada.json: 3,075 µs jeopardy.json: 64,003 µs">
|
||||
<rect class="nj-heat-2" x="317" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="390" text-anchor="middle">1.96</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · select, checking less 2.27× the time of the fastest fully validating library twitter.json: 410 µs · structs citm_catalog.json: 1,084 µs · structs canada.json: 1,455 µs · structs jeopardy.json: 62,378 µs · from_utf8 + structs (validates fully) trusts U​TF-8 in the strings it skips (from_slice); strings it reads are checked">
|
||||
<rect class="nj-heat-2" x="455" y="369" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="476.5" y="384" text-anchor="middle">2.27</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="397" text-anchor="middle">U</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · select 6.91× the time of the fastest library (fully validating) twitter.json: 1,360 µs · parse citm_catalog.json: 2,407 µs · parse canada.json: 6,041 µs · structs (from_json) jeopardy.json: 180,705 µs · parse">
|
||||
<rect class="nj-heat-4" x="409" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="390" text-anchor="middle">6.91</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · edit 5.04× the time of the fastest library (fully validating) way: Value twitter.json: 2,009 µs citm_catalog.json: 3,316 µs canada.json: 9,666 µs jeopardy.json: 251,931 µs">
|
||||
<rect class="nj-heat-4" x="501" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="390" text-anchor="middle">5.04</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · edit 3.72× the time of the fastest library (fully validating) twitter.json: 1,266 µs · ordered_json citm_catalog.json: 2,329 µs · ordered_json canada.json: 8,305 µs · parse jeopardy.json: 199,819 µs · ordered_json">
|
||||
<rect class="nj-heat-3" x="501" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="390" text-anchor="middle">3.72</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · minify 5.88× the time of the fastest library (fully validating) way: Value twitter.json: 2,004 µs citm_catalog.json: 3,290 µs canada.json: 9,792 µs jeopardy.json: 227,369 µs">
|
||||
<rect class="nj-heat-4" x="593" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="390" text-anchor="middle">5.88</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · minify 4.91× the time of the fastest library (fully validating) way: parse + dump twitter.json: 1,616 µs citm_catalog.json: 2,688 µs canada.json: 8,318 µs jeopardy.json: 199,579 µs">
|
||||
<rect class="nj-heat-3" x="593" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="390" text-anchor="middle">4.91</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · write 2.93× the time of the fastest library (fully validating) way: Value twitter.json: 322 µs citm_catalog.json: 490 µs canada.json: 2,286 µs jeopardy.json: 49,967 µs">
|
||||
<rect class="nj-heat-3" x="685" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="390" text-anchor="middle">2.93</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · write 2.08× the time of the fastest library (fully validating) way: dump twitter.json: 216 µs citm_catalog.json: 286 µs canada.json: 2,250 µs jeopardy.json: 31,183 µs">
|
||||
<rect class="nj-heat-2" x="685" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="390" text-anchor="middle">2.08</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="426" text-anchor="end">RapidJSON</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate 6.68× the time of the fastest library (fully validating) way: insitu (copy) twitter.json: 1,310 µs citm_catalog.json: 1,570 µs canada.json: 6,748 µs jeopardy.json: 139,647 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate 6.78× the time of the fastest library (fully validating) way: insitu (copy) twitter.json: 1,311 µs citm_catalog.json: 1,585 µs canada.json: 6,862 µs jeopardy.json: 141,752 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-4" x="225" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="247.5" y="426" text-anchor="middle">6.68</text>
|
||||
<text class="nj-charts-cell" x="247.5" y="426" text-anchor="middle">6.78</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate, checking less 4.32× the time of the fastest fully validating library twitter.json: 694 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,144 µs · insitu (copy) (no encoding check) canada.json: 6,748 µs · insitu (copy) (validates fully) jeopardy.json: 63,372 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate, checking less 4.40× the time of the fastest fully validating library way: insitu (copy) (no encoding check) twitter.json: 700 µs citm_catalog.json: 1,178 µs canada.json: 6,838 µs jeopardy.json: 63,673 µs trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="271" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="292.5" y="420" text-anchor="middle">4.32</text>
|
||||
<text class="nj-charts-cell" x="292.5" y="420" text-anchor="middle">4.40</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="292.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum 4.43× the time of the fastest library (fully validating) twitter.json: 1,330 µs · S​AX citm_catalog.json: 1,638 µs · S​AX canada.json: 6,895 µs · S​AX jeopardy.json: 146,234 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum 4.46× the time of the fastest library (fully validating) twitter.json: 1,331 µs · S​AX citm_catalog.json: 1,655 µs · S​AX canada.json: 6,938 µs · S​AX jeopardy.json: 149,509 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="317" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="339.5" y="426" text-anchor="middle">4.43</text>
|
||||
<text class="nj-charts-cell" x="339.5" y="426" text-anchor="middle">4.46</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum, checking less 2.98× the time of the fastest fully validating library twitter.json: 743 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,246 µs · insitu (copy) (no encoding check) canada.json: 6,895 µs · S​AX (validates fully) jeopardy.json: 70,310 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum, checking less 3.01× the time of the fastest fully validating library twitter.json: 748 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,276 µs · insitu (copy) (no encoding check) canada.json: 6,938 µs · S​AX (validates fully) jeopardy.json: 71,697 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="363" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="384.5" y="420" text-anchor="middle">2.98</text>
|
||||
<text class="nj-charts-cell" x="384.5" y="420" text-anchor="middle">3.01</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="384.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select 5.99× the time of the fastest library (fully validating) way: insitu (copy) twitter.json: 1,314 µs citm_catalog.json: 1,566 µs canada.json: 6,754 µs jeopardy.json: 142,108 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select 6.01× the time of the fastest library (fully validating) way: insitu (copy) twitter.json: 1,316 µs citm_catalog.json: 1,569 µs canada.json: 6,800 µs jeopardy.json: 145,958 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-4" x="409" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="431.5" y="426" text-anchor="middle">5.99</text>
|
||||
<text class="nj-charts-cell" x="431.5" y="426" text-anchor="middle">6.01</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select, checking less 3.90× the time of the fastest fully validating library twitter.json: 698 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,141 µs · insitu (copy) (no encoding check) canada.json: 6,754 µs · insitu (copy) (validates fully) jeopardy.json: 66,120 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select, checking less 3.95× the time of the fastest fully validating library way: insitu (copy) (no encoding check) twitter.json: 702 µs citm_catalog.json: 1,169 µs canada.json: 6,799 µs jeopardy.json: 68,045 µs trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="455" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="476.5" y="420" text-anchor="middle">3.90</text>
|
||||
<text class="nj-charts-cell" x="476.5" y="420" text-anchor="middle">3.95</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit 4.85× the time of the fastest library (fully validating) twitter.json: 1,916 µs · Document citm_catalog.json: 2,397 µs · insitu (copy) canada.json: 13,720 µs · insitu (copy) jeopardy.json: 220,366 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit 4.88× the time of the fastest library (fully validating) twitter.json: 1,924 µs · Document citm_catalog.json: 2,404 µs · insitu (copy) canada.json: 13,830 µs · insitu (copy) jeopardy.json: 226,139 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="501" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="523.5" y="426" text-anchor="middle">4.85</text>
|
||||
<text class="nj-charts-cell" x="523.5" y="426" text-anchor="middle">4.88</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit, checking less 3.80× the time of the fastest fully validating library way: insitu (copy) (no encoding check) twitter.json: 1,352 µs citm_catalog.json: 1,969 µs canada.json: 13,694 µs jeopardy.json: 144,422 µs trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit, checking less 3.84× the time of the fastest fully validating library way: insitu (copy) (no encoding check) twitter.json: 1,354 µs citm_catalog.json: 2,001 µs canada.json: 13,825 µs jeopardy.json: 148,686 µs trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="547" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="568.5" y="420" text-anchor="middle">3.80</text>
|
||||
<text class="nj-charts-cell" x="568.5" y="420" text-anchor="middle">3.84</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="568.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify 4.85× the time of the fastest library (fully validating) twitter.json: 1,500 µs · S​AX to Writer citm_catalog.json: 1,807 µs · S​AX to Writer canada.json: 14,222 µs · Document + Writer jeopardy.json: 176,922 µs · S​AX to Writer">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify 4.89× the time of the fastest library (fully validating) twitter.json: 1,512 µs · S​AX to Writer citm_catalog.json: 1,816 µs · S​AX to Writer canada.json: 14,281 µs · Document + Writer jeopardy.json: 180,596 µs · S​AX to Writer">
|
||||
<rect class="nj-heat-3" x="593" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="426" text-anchor="middle">4.85</text>
|
||||
<text class="nj-charts-cell" x="615.5" y="426" text-anchor="middle">4.89</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify, checking less 4.53× the time of the fastest fully validating library twitter.json: 1,300 µs · S​AX to Writer (no encoding check) citm_catalog.json: 1,705 µs · S​AX to Writer (no encoding check) canada.json: 14,208 µs · Document + Writer (no encoding check) jeopardy.json: 164,205 µs · S​AX to Writer (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it)">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify, checking less 4.28× the time of the fastest fully validating library twitter.json: 1,328 µs · S​AX to Writer (no encoding check) citm_catalog.json: 1,714 µs · S​AX to Writer (no encoding check) canada.json: 10,904 µs · S​AX to Writer (raw numbers) (validates fully) jeopardy.json: 167,694 µs · S​AX to Writer (raw numbers) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) copies each number's text instead of formatting it (kParseNumbersAsStringsFlag)">
|
||||
<rect class="nj-heat-3" x="639" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="420" text-anchor="middle">4.53</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="433" text-anchor="middle">U</text>
|
||||
<text class="nj-charts-cell" x="660.5" y="420" text-anchor="middle">4.28</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="433" text-anchor="middle">U N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · write 5.74× the time of the fastest library (fully validating) way: Writer twitter.json: 592 µs citm_catalog.json: 820 µs canada.json: 6,864 µs jeopardy.json: 79,510 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · write 5.87× the time of the fastest library (fully validating) way: Writer twitter.json: 598 µs citm_catalog.json: 822 µs canada.json: 6,889 µs jeopardy.json: 81,406 µs">
|
||||
<rect class="nj-heat-4" x="685" y="405" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="426" text-anchor="middle">5.74</text>
|
||||
<text class="nj-charts-cell" x="730" y="426" text-anchor="middle">5.87</text>
|
||||
</g>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="8" y="472">time relative to the fastest fully validating library, less is better</text>
|
||||
<g><rect class="nj-heat-0" x="8" y="482" width="76" height="20" rx="3"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 46 KiB |
@@ -1,6 +1,6 @@
|
||||
<svg class="nj-fig nj-charts nj-charts--blog nj-charts--heat" viewBox="0 0 784 510" role="img" aria-labelledby="nj-blog-uc-x86-clang nj-blog-uc-x86-clang-d" xmlns="http://www.w3.org/2000/svg">
|
||||
<title id="nj-blog-uc-x86-clang">Use cases: time of each library relative to the fastest, x86-64 with Clang 23</title>
|
||||
<desc id="nj-blog-uc-x86-clang-d">Table of relative times, libraries by use case. nlohmann/json json_document validate: 1.00; nlohmann/json json_document sum: 1.00; nlohmann/json json_document select: 1.00; nlohmann/json json_document edit: 1.00; nlohmann/json json_document minify: 1.00; nlohmann/json json_document write: 1.00; yyjson validate: 2.09; yyjson sum: 1.17; yyjson select: 1.37; yyjson edit: 1.48; yyjson minify: 1.29; yyjson write: 1.18; sonic-cpp validate: no fully validating way (2.27 checking less, no U​TF-8); sonic-cpp sum: no fully validating way (1.22 checking less, no U​TF-8); sonic-cpp select: no fully validating way (1.50 checking less, no U​TF-8); sonic-cpp edit: no fully validating way (1.23 checking less, no U​TF-8); sonic-cpp minify: no fully validating way (1.38 checking less, no U​TF-8); sonic-cpp write: 1.38; sonic-rs (Rust) validate: 1.83; sonic-rs (Rust) sum: 1.06; sonic-rs (Rust) select: 1.35; sonic-rs (Rust) edit: 1.92; sonic-rs (Rust) minify: 1.76; sonic-rs (Rust) write: 1.96; simdjson validate: 1.97; simdjson sum: 1.15; simdjson select: 1.35 (0.56 checking less, partial); simdjson edit: n/a; simdjson minify: 1.68 (0.19 checking less, partial); simdjson write: 2.30; Boost.J​SON validate: 1.72; Boost.J​SON sum: 1.13; Boost.J​SON select: 2.23; Boost.J​SON edit: 2.37; Boost.J​SON minify: 2.66; Boost.J​SON write: 2.33; simd-json (Rust) validate: 3.40; simd-json (Rust) sum: 1.81; simd-json (Rust) select: 2.65; simd-json (Rust) edit: 3.04; simd-json (Rust) minify: 3.52; simd-json (Rust) write: 2.17; serde_json (Rust) validate: 2.27 (2.04 checking less, no U​TF-8); serde_json (Rust) sum: 2.21; serde_json (Rust) select: 1.76; serde_json (Rust) edit: 4.94; serde_json (Rust) minify: 5.37; serde_json (Rust) write: 2.12; Glaze validate: 2.07; Glaze sum: 4.39 (3.96 checking less, partial); Glaze select: 1.42 (0.62 checking less, partial); Glaze edit: 6.29; Glaze minify: 6.49 (0.71 checking less, partial); Glaze write: 1.97; nlohmann/json json validate: 2.66; nlohmann/json json sum: 1.53; nlohmann/json json select: 8.63; nlohmann/json json edit: 4.31; nlohmann/json json minify: 5.41; nlohmann/json json write: 1.92; RapidJSON validate: 6.67 (5.04 checking less, no U​TF-8); RapidJSON sum: 3.32 (2.61 checking less, no U​TF-8); RapidJSON select: 4.52 (3.59 checking less, no U​TF-8); RapidJSON edit: 3.27 (2.79 checking less, no U​TF-8); RapidJSON minify: 3.59 (2.99 checking less, no U​TF-8); RapidJSON write: 2.95.</desc>
|
||||
<desc id="nj-blog-uc-x86-clang-d">Table of relative times, libraries by use case. nlohmann/json json_document validate: 1.00; nlohmann/json json_document sum: 1.00; nlohmann/json json_document select: 1.00; nlohmann/json json_document edit: 1.00 (0.82 doing less, N); nlohmann/json json_document minify: 1.00 (0.80 doing less, N); nlohmann/json json_document write: 1.00 (0.70 doing less, N); yyjson validate: 2.23; yyjson sum: 1.16; yyjson select: 1.43; yyjson edit: 1.48; yyjson minify: 1.24 (1.08 doing less, N); yyjson write: 1.15; sonic-cpp validate: no fully validating way (2.35 doing less, U); sonic-cpp sum: no fully validating way (1.21 doing less, U); sonic-cpp select: no fully validating way (1.53 doing less, U); sonic-cpp edit: no fully validating way (1.19 doing less, U); sonic-cpp minify: no fully validating way (1.33 doing less, U); sonic-cpp write: 1.31; sonic-rs (Rust) validate: 1.91; sonic-rs (Rust) sum: 1.07; sonic-rs (Rust) select: 1.38; sonic-rs (Rust) edit: 1.90; sonic-rs (Rust) minify: 1.71; sonic-rs (Rust) write: 1.98; simdjson validate: 2.08; simdjson sum: 1.14; simdjson select: 1.33 (0.56 doing less, P); simdjson edit: n/a; simdjson minify: 1.63 (0.18 doing less, P); simdjson write: 2.26; Boost.J​SON validate: 1.81; Boost.J​SON sum: 1.14; Boost.J​SON select: 2.24; Boost.J​SON edit: 2.35; Boost.J​SON minify: 2.64; Boost.J​SON write: 2.37; simd-json (Rust) validate: 3.58; simd-json (Rust) sum: 1.80; simd-json (Rust) select: 2.64; simd-json (Rust) edit: 2.88; simd-json (Rust) minify: 3.34; simd-json (Rust) write: 2.26; serde_json (Rust) validate: 2.37 (2.12 doing less, U); serde_json (Rust) sum: 2.22; serde_json (Rust) select: 1.77; serde_json (Rust) edit: 4.53; serde_json (Rust) minify: 4.86; serde_json (Rust) write: 2.19; Glaze validate: 2.20; Glaze sum: 4.04 (3.75 doing less, P); Glaze select: 1.40 (0.61 doing less, P); Glaze edit: 5.43; Glaze minify: 5.56 (0.67 doing less, P); Glaze write: 1.95; nlohmann/json json validate: 2.71; nlohmann/json json sum: 1.41; nlohmann/json json select: 7.47; nlohmann/json json edit: 3.81; nlohmann/json json minify: 4.67; nlohmann/json json write: 1.86; RapidJSON validate: 6.87 (5.20 doing less, U); RapidJSON sum: 3.25 (2.48 doing less, U); RapidJSON select: 4.52 (3.58 doing less, U); RapidJSON edit: 3.12 (2.69 doing less, U); RapidJSON minify: 3.38 (2.49 doing less, U N); RapidJSON write: 2.84.</desc>
|
||||
<text class="nj-charts-tick" x="270" y="34">validate</text>
|
||||
<text class="nj-charts-tick" x="362" y="34">sum</text>
|
||||
<text class="nj-charts-tick" x="454" y="34">select</text>
|
||||
@@ -8,124 +8,144 @@
|
||||
<text class="nj-charts-tick" x="638" y="34">minify</text>
|
||||
<text class="nj-charts-tick" x="730" y="34">write</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-name-json" x="216" y="66" text-anchor="end">nlohmann/json json_document</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · validate 1.00× the time of the fastest library (fully validating) way: accept twitter.json: 254 µs citm_catalog.json: 544 µs canada.json: 1,110 µs jeopardy.json: 37,852 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · validate 1.00× the time of the fastest library (fully validating) way: accept twitter.json: 254 µs citm_catalog.json: 517 µs canada.json: 995 µs jeopardy.json: 34,154 µs">
|
||||
<rect class="nj-heat-0" x="225" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · sum 1.00× the time of the fastest library (fully validating) way: parse twitter.json: 375 µs citm_catalog.json: 898 µs canada.json: 3,822 µs jeopardy.json: 94,039 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · sum 1.00× the time of the fastest library (fully validating) way: parse twitter.json: 372 µs citm_catalog.json: 948 µs canada.json: 3,720 µs jeopardy.json: 86,351 µs">
|
||||
<rect class="nj-heat-0" x="317" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · select 1.00× the time of the fastest library (fully validating) twitter.json: 320 µs · parse citm_catalog.json: 779 µs · parse canada.json: 1,446 µs · structs (from_json) jeopardy.json: 97,121 µs · parse">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · select 1.00× the time of the fastest library (fully validating) twitter.json: 314 µs · parse citm_catalog.json: 778 µs · parse canada.json: 1,387 µs · structs (from_json) jeopardy.json: 87,988 µs · parse">
|
||||
<rect class="nj-heat-0" x="409" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · edit 1.00× the time of the fastest library (fully validating) way: editable twitter.json: 525 µs citm_catalog.json: 1,169 µs canada.json: 6,142 µs jeopardy.json: 188,750 µs">
|
||||
<rect class="nj-heat-0" x="501" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="66" text-anchor="middle">1.00</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · edit 1.00× the time of the fastest library (fully validating) way: editable twitter.json: 524 µs citm_catalog.json: 1,143 µs canada.json: 5,462 µs jeopardy.json: 202,684 µs">
|
||||
<rect class="nj-heat-0" x="501" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="523.5" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · minify 1.00× the time of the fastest library (fully validating) way: parse + dump twitter.json: 471 µs citm_catalog.json: 1,018 µs canada.json: 5,144 µs jeopardy.json: 154,046 µs">
|
||||
<rect class="nj-heat-0" x="593" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="66" text-anchor="middle">1.00</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · edit, checking less 0.82× the time of the fastest fully validating library twitter.json: 519 µs · editable (source numbers) (validates fully) citm_catalog.json: 1,143 µs · editable (validates fully) canada.json: 2,443 µs · editable (source numbers) (validates fully) jeopardy.json: 202,684 µs · editable (validates fully) copies each number's text instead of formatting it (number_format::source)">
|
||||
<rect class="nj-heat-0" x="547" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="568.5" y="60" text-anchor="middle">0.82</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="568.5" y="73" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · write 1.00× the time of the fastest library (fully validating) way: dump twitter.json: 153 µs citm_catalog.json: 273 µs canada.json: 4,019 µs jeopardy.json: 71,355 µs">
|
||||
<rect class="nj-heat-0" x="685" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="66" text-anchor="middle">1.00</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · minify 1.00× the time of the fastest library (fully validating) way: parse + dump twitter.json: 474 µs citm_catalog.json: 1,050 µs canada.json: 5,333 µs jeopardy.json: 156,634 µs">
|
||||
<rect class="nj-heat-0" x="593" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · minify, checking less 0.80× the time of the fastest fully validating library way: parse + dump (source numbers) twitter.json: 466 µs (validates fully) citm_catalog.json: 1,048 µs (validates fully) canada.json: 2,402 µs (validates fully) jeopardy.json: 147,779 µs (validates fully) copies each number's text instead of formatting it (number_format::source)">
|
||||
<rect class="nj-heat-0" x="639" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="60" text-anchor="middle">0.80</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="73" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · write 1.00× the time of the fastest library (fully validating) way: dump twitter.json: 159 µs citm_catalog.json: 277 µs canada.json: 3,798 µs jeopardy.json: 67,700 µs">
|
||||
<rect class="nj-heat-0" x="685" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="707.5" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · write, checking less 0.70× the time of the fastest fully validating library way: dump (source numbers) twitter.json: 152 µs (validates fully) citm_catalog.json: 275 µs (validates fully) canada.json: 986 µs (validates fully) jeopardy.json: 67,141 µs (validates fully) copies each number's text instead of formatting it (number_format::source)">
|
||||
<rect class="nj-heat-0" x="731" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="752.5" y="60" text-anchor="middle">0.70</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="752.5" y="73" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="102" text-anchor="end">yyjson</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · validate 2.09× the time of the fastest library (fully validating) twitter.json: 380 µs · insitu (copy) citm_catalog.json: 982 µs · read canada.json: 2,325 µs · read (raw numbers) jeopardy.json: 127,605 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · validate 2.23× the time of the fastest library (fully validating) twitter.json: 380 µs · read citm_catalog.json: 897 µs · read canada.json: 2,573 µs · read (raw numbers) jeopardy.json: 125,497 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-2" x="225" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="102" text-anchor="middle">2.09</text>
|
||||
<text class="nj-charts-cell" x="270" y="102" text-anchor="middle">2.23</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · sum 1.17× the time of the fastest library (fully validating) twitter.json: 435 µs · read citm_catalog.json: 1,086 µs · read canada.json: 3,458 µs · insitu (copy) jeopardy.json: 141,006 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · sum 1.16× the time of the fastest library (fully validating) twitter.json: 435 µs · insitu (copy) citm_catalog.json: 1,054 µs · read canada.json: 3,456 µs · read jeopardy.json: 131,400 µs · read (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="317" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="102" text-anchor="middle">1.17</text>
|
||||
<text class="nj-charts-cell" x="362" y="102" text-anchor="middle">1.16</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · select 1.37× the time of the fastest library (fully validating) twitter.json: 392 µs · read citm_catalog.json: 934 µs · read canada.json: 2,385 µs · read (raw numbers) jeopardy.json: 142,562 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · select 1.43× the time of the fastest library (fully validating) twitter.json: 389 µs · insitu (copy) citm_catalog.json: 900 µs · read canada.json: 2,627 µs · read (raw numbers) jeopardy.json: 134,301 µs · read (raw numbers) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="409" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="102" text-anchor="middle">1.37</text>
|
||||
<text class="nj-charts-cell" x="454" y="102" text-anchor="middle">1.43</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · edit 1.48× the time of the fastest library (fully validating) twitter.json: 813 µs · insitu (copy) + mut copy citm_catalog.json: 1,845 µs · mut copy canada.json: 7,648 µs · mut copy jeopardy.json: 301,256 µs · mut copy (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · edit 1.48× the time of the fastest library (fully validating) twitter.json: 869 µs · mut copy citm_catalog.json: 1,674 µs · insitu (copy) + mut copy canada.json: 7,099 µs · mut copy jeopardy.json: 309,767 µs · mut copy (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="501" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="102" text-anchor="middle">1.48</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · minify 1.29× the time of the fastest library (fully validating) twitter.json: 629 µs · read + write citm_catalog.json: 1,281 µs · insitu (copy) + write canada.json: 6,146 µs · read + write jeopardy.json: 211,812 µs · insitu (copy) + write (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="593" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="102" text-anchor="middle">1.29</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · minify 1.24× the time of the fastest library (fully validating) twitter.json: 631 µs · read + write citm_catalog.json: 1,262 µs · insitu (copy) + write canada.json: 6,304 µs · insitu (copy) + write jeopardy.json: 196,789 µs · read + write (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="593" y="81" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="102" text-anchor="middle">1.24</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · write 1.18× the time of the fastest library (fully validating) way: write twitter.json: 217 µs citm_catalog.json: 376 µs canada.json: 3,618 µs jeopardy.json: 77,694 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · minify, checking less 1.08× the time of the fastest fully validating library twitter.json: 631 µs · read + write (validates fully) citm_catalog.json: 1,246 µs · read (raw numbers) + write (validates fully) canada.json: 3,614 µs · read (raw numbers) + write (validates fully) jeopardy.json: 196,789 µs · read + write (validates fully) copies each number's text instead of formatting it (YYJSON_READ_NUMBER_AS_RAW)">
|
||||
<rect class="nj-heat-0" x="639" y="81" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="96" text-anchor="middle">1.08</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="109" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · write 1.15× the time of the fastest library (fully validating) way: write twitter.json: 216 µs citm_catalog.json: 359 µs canada.json: 3,514 µs jeopardy.json: 73,410 µs">
|
||||
<rect class="nj-heat-1" x="685" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="102" text-anchor="middle">1.18</text>
|
||||
<text class="nj-charts-cell" x="730" y="102" text-anchor="middle">1.15</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="138" text-anchor="end">sonic-cpp</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · validate, checking less 2.27× the time of the fastest fully validating library way: Document twitter.json: 452 µs citm_catalog.json: 1,077 µs canada.json: 3,054 µs jeopardy.json: 103,704 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · validate, checking less 2.35× the time of the fastest fully validating library way: Document twitter.json: 445 µs citm_catalog.json: 1,000 µs canada.json: 3,042 µs jeopardy.json: 100,684 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-2" x="225" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="132" text-anchor="middle">2.27</text>
|
||||
<text class="nj-charts-cell" x="270" y="132" text-anchor="middle">2.35</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="270" y="145" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · sum, checking less 1.22× the time of the fastest fully validating library way: Document twitter.json: 503 µs citm_catalog.json: 1,181 µs canada.json: 3,913 µs jeopardy.json: 116,464 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · sum, checking less 1.21× the time of the fastest fully validating library way: Document twitter.json: 508 µs citm_catalog.json: 1,171 µs canada.json: 3,661 µs jeopardy.json: 110,607 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-1" x="317" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="132" text-anchor="middle">1.22</text>
|
||||
<text class="nj-charts-cell" x="362" y="132" text-anchor="middle">1.21</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="362" y="145" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · select, checking less 1.50× the time of the fastest fully validating library way: Document twitter.json: 458 µs citm_catalog.json: 1,038 µs canada.json: 3,127 µs jeopardy.json: 119,384 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · select, checking less 1.53× the time of the fastest fully validating library way: Document twitter.json: 456 µs citm_catalog.json: 1,013 µs canada.json: 3,104 µs jeopardy.json: 113,400 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-2" x="409" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="132" text-anchor="middle">1.50</text>
|
||||
<text class="nj-charts-cell" x="454" y="132" text-anchor="middle">1.53</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="454" y="145" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · edit, checking less 1.23× the time of the fastest fully validating library way: Document twitter.json: 656 µs citm_catalog.json: 1,542 µs canada.json: 8,630 µs jeopardy.json: 185,270 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · edit, checking less 1.19× the time of the fastest fully validating library way: Document twitter.json: 634 µs citm_catalog.json: 1,458 µs canada.json: 7,852 µs jeopardy.json: 183,532 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-1" x="501" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="132" text-anchor="middle">1.23</text>
|
||||
<text class="nj-charts-cell" x="546" y="132" text-anchor="middle">1.19</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="546" y="145" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · minify, checking less 1.38× the time of the fastest fully validating library way: Document + Serialize twitter.json: 662 µs citm_catalog.json: 1,523 µs canada.json: 8,111 µs jeopardy.json: 170,679 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · minify, checking less 1.33× the time of the fastest fully validating library way: Document + Serialize twitter.json: 646 µs citm_catalog.json: 1,482 µs canada.json: 8,135 µs jeopardy.json: 167,844 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-1" x="593" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="132" text-anchor="middle">1.38</text>
|
||||
<text class="nj-charts-cell" x="638" y="132" text-anchor="middle">1.33</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="638" y="145" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · write 1.38× the time of the fastest library (fully validating) way: Serialize twitter.json: 229 µs citm_catalog.json: 501 µs canada.json: 5,302 µs jeopardy.json: 72,121 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · write 1.31× the time of the fastest library (fully validating) way: Serialize twitter.json: 219 µs citm_catalog.json: 473 µs canada.json: 4,853 µs jeopardy.json: 67,189 µs">
|
||||
<rect class="nj-heat-1" x="685" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="138" text-anchor="middle">1.38</text>
|
||||
<text class="nj-charts-cell" x="730" y="138" text-anchor="middle">1.31</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="174" text-anchor="end">sonic-rs (Rust)</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · validate 1.83× the time of the fastest library (fully validating) way: IgnoredAny twitter.json: 482 µs citm_catalog.json: 969 µs canada.json: 2,489 µs jeopardy.json: 55,486 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · validate 1.91× the time of the fastest library (fully validating) way: IgnoredAny twitter.json: 501 µs citm_catalog.json: 970 µs canada.json: 2,249 µs jeopardy.json: 54,369 µs">
|
||||
<rect class="nj-heat-2" x="225" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="174" text-anchor="middle">1.83</text>
|
||||
<text class="nj-charts-cell" x="270" y="174" text-anchor="middle">1.91</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · sum 1.06× the time of the fastest library (fully validating) way: visitor twitter.json: 503 µs citm_catalog.json: 1,123 µs canada.json: 4,418 µs jeopardy.json: 59,993 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · sum 1.07× the time of the fastest library (fully validating) way: visitor twitter.json: 501 µs citm_catalog.json: 1,123 µs canada.json: 4,397 µs jeopardy.json: 59,583 µs">
|
||||
<rect class="nj-heat-0" x="317" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="174" text-anchor="middle">1.06</text>
|
||||
<text class="nj-charts-cell" x="362" y="174" text-anchor="middle">1.07</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · select 1.35× the time of the fastest library (fully validating) way: structs twitter.json: 538 µs citm_catalog.json: 1,028 µs canada.json: 2,283 µs jeopardy.json: 91,950 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · select 1.38× the time of the fastest library (fully validating) way: structs twitter.json: 504 µs citm_catalog.json: 1,033 µs canada.json: 2,328 µs jeopardy.json: 90,486 µs">
|
||||
<rect class="nj-heat-1" x="409" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="174" text-anchor="middle">1.35</text>
|
||||
<text class="nj-charts-cell" x="454" y="174" text-anchor="middle">1.38</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · edit 1.92× the time of the fastest library (fully validating) way: Value twitter.json: 1,201 µs citm_catalog.json: 2,416 µs canada.json: 7,958 µs jeopardy.json: 421,718 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · edit 1.90× the time of the fastest library (fully validating) way: Value twitter.json: 1,197 µs citm_catalog.json: 2,389 µs canada.json: 7,744 µs jeopardy.json: 390,952 µs">
|
||||
<rect class="nj-heat-2" x="501" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="174" text-anchor="middle">1.92</text>
|
||||
<text class="nj-charts-cell" x="546" y="174" text-anchor="middle">1.90</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · minify 1.76× the time of the fastest library (fully validating) way: Value twitter.json: 1,003 µs citm_catalog.json: 2,174 µs canada.json: 7,753 µs jeopardy.json: 217,354 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · minify 1.71× the time of the fastest library (fully validating) way: Value twitter.json: 1,000 µs citm_catalog.json: 2,097 µs canada.json: 7,795 µs jeopardy.json: 215,280 µs">
|
||||
<rect class="nj-heat-2" x="593" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="174" text-anchor="middle">1.76</text>
|
||||
<text class="nj-charts-cell" x="638" y="174" text-anchor="middle">1.71</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · write 1.96× the time of the fastest library (fully validating) way: Value twitter.json: 445 µs citm_catalog.json: 931 µs canada.json: 4,048 µs jeopardy.json: 104,487 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · write 1.98× the time of the fastest library (fully validating) way: Value twitter.json: 434 µs citm_catalog.json: 927 µs canada.json: 3,987 µs jeopardy.json: 109,176 µs">
|
||||
<rect class="nj-heat-2" x="685" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="174" text-anchor="middle">1.96</text>
|
||||
<text class="nj-charts-cell" x="730" y="174" text-anchor="middle">1.98</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="210" text-anchor="end">simdjson</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · validate 1.97× the time of the fastest library (fully validating) way: D​OM twitter.json: 308 µs citm_catalog.json: 726 µs canada.json: 3,190 µs jeopardy.json: 123,266 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · validate 2.08× the time of the fastest library (fully validating) way: D​OM twitter.json: 306 µs citm_catalog.json: 722 µs canada.json: 3,203 µs jeopardy.json: 118,182 µs">
|
||||
<rect class="nj-heat-2" x="225" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="210" text-anchor="middle">1.97</text>
|
||||
<text class="nj-charts-cell" x="270" y="210" text-anchor="middle">2.08</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · sum 1.15× the time of the fastest library (fully validating) twitter.json: 395 µs · D​OM citm_catalog.json: 1,028 µs · D​OM canada.json: 4,221 µs · D​OM jeopardy.json: 121,944 µs · On-Demand">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · sum 1.14× the time of the fastest library (fully validating) twitter.json: 398 µs · D​OM citm_catalog.json: 981 µs · D​OM canada.json: 4,131 µs · D​OM jeopardy.json: 116,924 µs · On-Demand">
|
||||
<rect class="nj-heat-0" x="317" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="210" text-anchor="middle">1.15</text>
|
||||
<text class="nj-charts-cell" x="362" y="210" text-anchor="middle">1.14</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select 1.35× the time of the fastest library (fully validating) way: D​OM twitter.json: 318 µs citm_catalog.json: 798 µs canada.json: 3,369 µs jeopardy.json: 135,711 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select 1.33× the time of the fastest library (fully validating) way: D​OM twitter.json: 316 µs citm_catalog.json: 736 µs canada.json: 3,272 µs jeopardy.json: 121,563 µs">
|
||||
<rect class="nj-heat-1" x="409" y="189" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="431.5" y="210" text-anchor="middle">1.35</text>
|
||||
<text class="nj-charts-cell" x="431.5" y="210" text-anchor="middle">1.33</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select, checking less 0.56× the time of the fastest fully validating library twitter.json: 183 µs · On-Demand structs citm_catalog.json: 500 µs · On-Demand (key selectors) canada.json: 705 µs · On-Demand jeopardy.json: 54,241 µs · On-Demand reads lazily: On-Demand reads only what you ask for and steps over the rest by matching brackets">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select, checking less 0.56× the time of the fastest fully validating library twitter.json: 182 µs · On-Demand citm_catalog.json: 495 µs · On-Demand canada.json: 698 µs · On-Demand (key selectors) jeopardy.json: 47,588 µs · On-Demand reads lazily: On-Demand reads only what you ask for and steps over the rest by matching brackets">
|
||||
<rect class="nj-heat-0" x="455" y="189" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="476.5" y="204" text-anchor="middle">0.56</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="217" text-anchor="middle">P</text>
|
||||
@@ -134,213 +154,213 @@
|
||||
<rect class="nj-heat-na" x="501" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-tick" x="546" y="210">n/a</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify 1.68× the time of the fastest library (fully validating) way: D​OM + to_string twitter.json: 841 µs citm_catalog.json: 1,430 µs canada.json: 8,343 µs jeopardy.json: 299,968 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify 1.63× the time of the fastest library (fully validating) way: D​OM + to_string twitter.json: 842 µs citm_catalog.json: 1,430 µs canada.json: 8,105 µs jeopardy.json: 297,946 µs">
|
||||
<rect class="nj-heat-2" x="593" y="189" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="210" text-anchor="middle">1.68</text>
|
||||
<text class="nj-charts-cell" x="615.5" y="210" text-anchor="middle">1.63</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify, checking less 0.19× the time of the fastest fully validating library way: minify twitter.json: 104 µs citm_catalog.json: 256 µs canada.json: 375 µs jeopardy.json: 46,051 µs simdjson::minify() only removes whitespace, without parsing the values">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify, checking less 0.18× the time of the fastest fully validating library way: minify twitter.json: 98.8 µs citm_catalog.json: 269 µs canada.json: 332 µs jeopardy.json: 44,830 µs simdjson::minify() only removes whitespace, without parsing the values">
|
||||
<rect class="nj-heat-0" x="639" y="189" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="204" text-anchor="middle">0.19</text>
|
||||
<text class="nj-charts-cell" x="660.5" y="204" text-anchor="middle">0.18</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="217" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · write 2.30× the time of the fastest library (fully validating) way: to_string twitter.json: 496 µs citm_catalog.json: 679 µs canada.json: 5,335 µs jeopardy.json: 187,340 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · write 2.26× the time of the fastest library (fully validating) way: to_string twitter.json: 503 µs citm_catalog.json: 672 µs canada.json: 5,039 µs jeopardy.json: 173,990 µs">
|
||||
<rect class="nj-heat-2" x="685" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="210" text-anchor="middle">2.30</text>
|
||||
<text class="nj-charts-cell" x="730" y="210" text-anchor="middle">2.26</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="246" text-anchor="end">Boost.J​SON</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · validate 1.72× the time of the fastest library (fully validating) way: S​AX (numbers: none) twitter.json: 576 µs citm_catalog.json: 913 µs canada.json: 1,678 µs jeopardy.json: 57,742 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · validate 1.81× the time of the fastest library (fully validating) twitter.json: 569 µs · S​AX (numbers: none) citm_catalog.json: 909 µs · S​AX (numbers: none) canada.json: 1,683 µs · S​AX (numbers: none) jeopardy.json: 54,986 µs · S​AX">
|
||||
<rect class="nj-heat-2" x="225" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="246" text-anchor="middle">1.72</text>
|
||||
<text class="nj-charts-cell" x="270" y="246" text-anchor="middle">1.81</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · sum 1.13× the time of the fastest library (fully validating) way: S​AX twitter.json: 582 µs citm_catalog.json: 939 µs canada.json: 6,061 µs jeopardy.json: 60,122 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · sum 1.14× the time of the fastest library (fully validating) way: S​AX twitter.json: 580 µs citm_catalog.json: 924 µs canada.json: 5,915 µs jeopardy.json: 60,351 µs">
|
||||
<rect class="nj-heat-0" x="317" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="246" text-anchor="middle">1.13</text>
|
||||
<text class="nj-charts-cell" x="362" y="246" text-anchor="middle">1.14</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · select 2.23× the time of the fastest library (fully validating) twitter.json: 788 µs · parse_into structs citm_catalog.json: 1,479 µs · parse_into structs canada.json: 7,216 µs · parse jeopardy.json: 103,495 µs · parse_into structs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · select 2.24× the time of the fastest library (fully validating) twitter.json: 767 µs · parse_into structs citm_catalog.json: 1,389 µs · parse_into structs canada.json: 7,310 µs · parse jeopardy.json: 95,891 µs · parse_into structs">
|
||||
<rect class="nj-heat-2" x="409" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="246" text-anchor="middle">2.23</text>
|
||||
<text class="nj-charts-cell" x="454" y="246" text-anchor="middle">2.24</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · edit 2.37× the time of the fastest library (fully validating) way: parse twitter.json: 1,733 µs citm_catalog.json: 2,761 µs canada.json: 14,208 µs jeopardy.json: 330,404 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · edit 2.35× the time of the fastest library (fully validating) way: parse twitter.json: 1,723 µs citm_catalog.json: 2,574 µs canada.json: 12,679 µs jeopardy.json: 358,088 µs">
|
||||
<rect class="nj-heat-2" x="501" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="246" text-anchor="middle">2.37</text>
|
||||
<text class="nj-charts-cell" x="546" y="246" text-anchor="middle">2.35</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · minify 2.66× the time of the fastest library (fully validating) way: parse + serialize twitter.json: 1,745 µs citm_catalog.json: 2,654 µs canada.json: 12,599 µs jeopardy.json: 324,994 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · minify 2.64× the time of the fastest library (fully validating) way: parse + serialize twitter.json: 1,753 µs citm_catalog.json: 2,591 µs canada.json: 13,210 µs jeopardy.json: 339,360 µs">
|
||||
<rect class="nj-heat-3" x="593" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="246" text-anchor="middle">2.66</text>
|
||||
<text class="nj-charts-cell" x="638" y="246" text-anchor="middle">2.64</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · write 2.33× the time of the fastest library (fully validating) way: serialize twitter.json: 485 µs citm_catalog.json: 892 µs canada.json: 6,128 µs jeopardy.json: 134,196 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · write 2.37× the time of the fastest library (fully validating) way: serialize twitter.json: 487 µs citm_catalog.json: 900 µs canada.json: 5,691 µs jeopardy.json: 142,547 µs">
|
||||
<rect class="nj-heat-2" x="685" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="246" text-anchor="middle">2.33</text>
|
||||
<text class="nj-charts-cell" x="730" y="246" text-anchor="middle">2.37</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="282" text-anchor="end">simd-json (Rust)</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · validate 3.40× the time of the fastest library (fully validating) way: tape (copy) twitter.json: 563 µs citm_catalog.json: 1,403 µs canada.json: 4,630 µs jeopardy.json: 212,467 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · validate 3.58× the time of the fastest library (fully validating) way: tape (copy) twitter.json: 567 µs citm_catalog.json: 1,430 µs canada.json: 4,359 µs jeopardy.json: 207,551 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="225" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="282" text-anchor="middle">3.40</text>
|
||||
<text class="nj-charts-cell" x="270" y="282" text-anchor="middle">3.58</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · sum 1.81× the time of the fastest library (fully validating) way: visitor (copy) twitter.json: 668 µs citm_catalog.json: 1,688 µs canada.json: 5,134 µs jeopardy.json: 224,411 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · sum 1.80× the time of the fastest library (fully validating) way: visitor (copy) twitter.json: 681 µs citm_catalog.json: 1,650 µs canada.json: 5,083 µs jeopardy.json: 210,185 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-2" x="317" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="282" text-anchor="middle">1.81</text>
|
||||
<text class="nj-charts-cell" x="362" y="282" text-anchor="middle">1.80</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · select 2.65× the time of the fastest library (fully validating) way: structs (copy) twitter.json: 740 µs citm_catalog.json: 1,802 µs canada.json: 4,997 µs jeopardy.json: 258,566 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · select 2.64× the time of the fastest library (fully validating) way: structs (copy) twitter.json: 679 µs citm_catalog.json: 1,731 µs canada.json: 5,144 µs jeopardy.json: 239,164 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="409" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="282" text-anchor="middle">2.65</text>
|
||||
<text class="nj-charts-cell" x="454" y="282" text-anchor="middle">2.64</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · edit 3.04× the time of the fastest library (fully validating) twitter.json: 1,924 µs · borrowed (copy) citm_catalog.json: 4,575 µs · borrowed (copy) canada.json: 15,746 µs · owned (copy) jeopardy.json: 435,817 µs · borrowed (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · edit 2.88× the time of the fastest library (fully validating) twitter.json: 1,862 µs · borrowed (copy) citm_catalog.json: 4,194 µs · borrowed (copy) canada.json: 14,896 µs · owned (copy) jeopardy.json: 391,369 µs · borrowed (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="501" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="282" text-anchor="middle">3.04</text>
|
||||
<text class="nj-charts-cell" x="546" y="282" text-anchor="middle">2.88</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · minify 3.52× the time of the fastest library (fully validating) way: borrowed (copy) twitter.json: 1,878 µs citm_catalog.json: 4,655 µs canada.json: 15,955 µs jeopardy.json: 419,412 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · minify 3.34× the time of the fastest library (fully validating) way: borrowed (copy) twitter.json: 1,889 µs citm_catalog.json: 4,196 µs canada.json: 15,716 µs jeopardy.json: 414,377 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="593" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="282" text-anchor="middle">3.52</text>
|
||||
<text class="nj-charts-cell" x="638" y="282" text-anchor="middle">3.34</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · write 2.17× the time of the fastest library (fully validating) way: borrowed twitter.json: 597 µs citm_catalog.json: 809 µs canada.json: 4,817 µs jeopardy.json: 114,245 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · write 2.26× the time of the fastest library (fully validating) way: borrowed twitter.json: 582 µs citm_catalog.json: 800 µs canada.json: 5,147 µs jeopardy.json: 122,623 µs">
|
||||
<rect class="nj-heat-2" x="685" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="282" text-anchor="middle">2.17</text>
|
||||
<text class="nj-charts-cell" x="730" y="282" text-anchor="middle">2.26</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="318" text-anchor="end">serde_json (Rust)</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate 2.27× the time of the fastest library (fully validating) way: from_utf8 + IgnoredAny twitter.json: 622 µs citm_catalog.json: 1,440 µs canada.json: 2,621 µs jeopardy.json: 65,602 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate 2.37× the time of the fastest library (fully validating) way: from_utf8 + IgnoredAny twitter.json: 624 µs citm_catalog.json: 1,440 µs canada.json: 2,406 µs jeopardy.json: 64,720 µs">
|
||||
<rect class="nj-heat-2" x="225" y="297" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="247.5" y="318" text-anchor="middle">2.27</text>
|
||||
<text class="nj-charts-cell" x="247.5" y="318" text-anchor="middle">2.37</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate, checking less 2.04× the time of the fastest fully validating library way: IgnoredAny twitter.json: 480 µs citm_catalog.json: 1,371 µs canada.json: 2,538 µs jeopardy.json: 60,154 µs trusts U​TF-8 in the strings it skips (from_slice); strings it reads are checked">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate, checking less 2.12× the time of the fastest fully validating library way: IgnoredAny twitter.json: 484 µs citm_catalog.json: 1,370 µs canada.json: 2,314 µs jeopardy.json: 58,247 µs trusts U​TF-8 in the strings it skips (from_slice); strings it reads are checked">
|
||||
<rect class="nj-heat-2" x="271" y="297" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="292.5" y="312" text-anchor="middle">2.04</text>
|
||||
<text class="nj-charts-cell" x="292.5" y="312" text-anchor="middle">2.12</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="292.5" y="325" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · sum 2.21× the time of the fastest library (fully validating) way: visitor twitter.json: 1,311 µs citm_catalog.json: 2,316 µs canada.json: 7,241 µs jeopardy.json: 130,249 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · sum 2.22× the time of the fastest library (fully validating) way: visitor twitter.json: 1,311 µs citm_catalog.json: 2,288 µs canada.json: 7,127 µs jeopardy.json: 129,497 µs">
|
||||
<rect class="nj-heat-2" x="317" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="318" text-anchor="middle">2.21</text>
|
||||
<text class="nj-charts-cell" x="362" y="318" text-anchor="middle">2.22</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · select 1.76× the time of the fastest library (fully validating) way: from_utf8 + structs twitter.json: 722 µs citm_catalog.json: 1,559 µs canada.json: 2,585 µs jeopardy.json: 114,701 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · select 1.77× the time of the fastest library (fully validating) way: from_utf8 + structs twitter.json: 701 µs citm_catalog.json: 1,532 µs canada.json: 2,529 µs jeopardy.json: 107,316 µs">
|
||||
<rect class="nj-heat-2" x="409" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="318" text-anchor="middle">1.76</text>
|
||||
<text class="nj-charts-cell" x="454" y="318" text-anchor="middle">1.77</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · edit 4.94× the time of the fastest library (fully validating) way: Value twitter.json: 4,036 µs citm_catalog.json: 7,181 µs canada.json: 17,371 µs jeopardy.json: 843,034 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · edit 4.53× the time of the fastest library (fully validating) way: Value twitter.json: 4,042 µs citm_catalog.json: 6,586 µs canada.json: 16,631 µs jeopardy.json: 632,766 µs">
|
||||
<rect class="nj-heat-3" x="501" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="318" text-anchor="middle">4.94</text>
|
||||
<text class="nj-charts-cell" x="546" y="318" text-anchor="middle">4.53</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · minify 5.37× the time of the fastest library (fully validating) way: Value twitter.json: 4,220 µs citm_catalog.json: 6,876 µs canada.json: 17,276 µs jeopardy.json: 628,192 µs">
|
||||
<rect class="nj-heat-4" x="593" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="318" text-anchor="middle">5.37</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · minify 4.86× the time of the fastest library (fully validating) way: Value twitter.json: 4,012 µs citm_catalog.json: 6,583 µs canada.json: 17,306 µs jeopardy.json: 509,702 µs">
|
||||
<rect class="nj-heat-3" x="593" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="318" text-anchor="middle">4.86</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · write 2.12× the time of the fastest library (fully validating) way: Value twitter.json: 560 µs citm_catalog.json: 848 µs canada.json: 3,964 µs jeopardy.json: 129,473 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · write 2.19× the time of the fastest library (fully validating) way: Value twitter.json: 550 µs citm_catalog.json: 887 µs canada.json: 4,005 µs jeopardy.json: 134,163 µs">
|
||||
<rect class="nj-heat-2" x="685" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="318" text-anchor="middle">2.12</text>
|
||||
<text class="nj-charts-cell" x="730" y="318" text-anchor="middle">2.19</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="354" text-anchor="end">Glaze</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · validate 2.07× the time of the fastest library (fully validating) way: validate_json twitter.json: 593 µs citm_catalog.json: 1,272 µs canada.json: 1,778 µs jeopardy.json: 79,561 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · validate 2.20× the time of the fastest library (fully validating) way: validate_json twitter.json: 582 µs citm_catalog.json: 1,229 µs canada.json: 2,011 µs jeopardy.json: 72,734 µs">
|
||||
<rect class="nj-heat-2" x="225" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="354" text-anchor="middle">2.07</text>
|
||||
<text class="nj-charts-cell" x="270" y="354" text-anchor="middle">2.20</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · sum 4.39× the time of the fastest library (fully validating) way: generic (double, strict) twitter.json: 2,522 µs citm_catalog.json: 4,278 µs canada.json: 12,460 µs jeopardy.json: 334,494 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · sum 4.04× the time of the fastest library (fully validating) way: generic (double, strict) twitter.json: 2,392 µs citm_catalog.json: 4,048 µs canada.json: 11,814 µs jeopardy.json: 264,675 µs">
|
||||
<rect class="nj-heat-3" x="317" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="339.5" y="354" text-anchor="middle">4.39</text>
|
||||
<text class="nj-charts-cell" x="339.5" y="354" text-anchor="middle">4.04</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · sum, checking less 3.96× the time of the fastest fully validating library twitter.json: 2,522 µs · generic (double, strict) (validates fully) citm_catalog.json: 4,278 µs · generic (double, strict) (validates fully) canada.json: 12,460 µs · generic (double, strict) (validates fully) jeopardy.json: 221,802 µs · lazy_json reads lazily: lazy_json reads only what you ask for and steps over the rest">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · sum, checking less 3.75× the time of the fastest fully validating library twitter.json: 2,383 µs · generic (double) citm_catalog.json: 4,010 µs · generic (double) canada.json: 11,814 µs · generic (double, strict) (validates fully) jeopardy.json: 198,418 µs · lazy_json accepts trailing garbage after the value: Glaze's default (validate_trailing_whitespace checks it) reads lazily: lazy_json reads only what you ask for and steps over the rest">
|
||||
<rect class="nj-heat-3" x="363" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="384.5" y="348" text-anchor="middle">3.96</text>
|
||||
<text class="nj-charts-cell" x="384.5" y="348" text-anchor="middle">3.75</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="384.5" y="361" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select 1.42× the time of the fastest library (fully validating) way: structs (validate_skipped) twitter.json: 552 µs citm_catalog.json: 1,462 µs canada.json: 1,833 µs jeopardy.json: 96,315 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select 1.40× the time of the fastest library (fully validating) way: structs (validate_skipped) twitter.json: 542 µs citm_catalog.json: 1,370 µs canada.json: 1,870 µs jeopardy.json: 82,551 µs">
|
||||
<rect class="nj-heat-1" x="409" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="431.5" y="354" text-anchor="middle">1.42</text>
|
||||
<text class="nj-charts-cell" x="431.5" y="354" text-anchor="middle">1.40</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select, checking less 0.62× the time of the fastest fully validating library way: structs twitter.json: 344 µs citm_catalog.json: 442 µs canada.json: 464 µs jeopardy.json: 74,134 µs reads into structs and steps over fields it doesn't know without checking them (validate_skipped checks them too)">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select, checking less 0.61× the time of the fastest fully validating library way: structs twitter.json: 337 µs citm_catalog.json: 418 µs canada.json: 446 µs jeopardy.json: 67,047 µs reads into structs and steps over fields it doesn't know without checking them (validate_skipped checks them too)">
|
||||
<rect class="nj-heat-0" x="455" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="476.5" y="348" text-anchor="middle">0.62</text>
|
||||
<text class="nj-charts-cell" x="476.5" y="348" text-anchor="middle">0.61</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="361" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · edit 6.29× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 4,375 µs citm_catalog.json: 8,829 µs canada.json: 33,432 µs jeopardy.json: 863,139 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · edit 5.43× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 3,866 µs citm_catalog.json: 7,305 µs canada.json: 27,388 µs jeopardy.json: 744,826 µs">
|
||||
<rect class="nj-heat-4" x="501" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="354" text-anchor="middle">6.29</text>
|
||||
<text class="nj-charts-cell" x="546" y="354" text-anchor="middle">5.43</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify 6.49× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 4,282 µs citm_catalog.json: 8,704 µs canada.json: 29,995 µs jeopardy.json: 604,082 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify 5.56× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 3,834 µs citm_catalog.json: 7,269 µs canada.json: 27,454 µs jeopardy.json: 521,119 µs">
|
||||
<rect class="nj-heat-4" x="593" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="354" text-anchor="middle">6.49</text>
|
||||
<text class="nj-charts-cell" x="615.5" y="354" text-anchor="middle">5.56</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify, checking less 0.71× the time of the fastest fully validating library way: minify_json twitter.json: 419 µs citm_catalog.json: 1,024 µs canada.json: 2,463 µs jeopardy.json: 93,661 µs minify_json only removes whitespace, without parsing the values">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify, checking less 0.67× the time of the fastest fully validating library way: minify_json twitter.json: 422 µs citm_catalog.json: 1,058 µs canada.json: 2,150 µs jeopardy.json: 88,952 µs minify_json only removes whitespace, without parsing the values">
|
||||
<rect class="nj-heat-0" x="639" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="348" text-anchor="middle">0.71</text>
|
||||
<text class="nj-charts-cell" x="660.5" y="348" text-anchor="middle">0.67</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="361" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · write 1.97× the time of the fastest library (fully validating) twitter.json: 383 µs · generic citm_catalog.json: 741 µs · generic (strict) canada.json: 4,522 µs · generic (strict) jeopardy.json: 139,142 µs · generic">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · write 1.95× the time of the fastest library (fully validating) twitter.json: 400 µs · generic citm_catalog.json: 722 µs · generic (strict) canada.json: 4,229 µs · generic (strict) jeopardy.json: 134,914 µs · generic">
|
||||
<rect class="nj-heat-2" x="685" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="354" text-anchor="middle">1.97</text>
|
||||
<text class="nj-charts-cell" x="730" y="354" text-anchor="middle">1.95</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel nj-charts-name-json" x="216" y="390" text-anchor="end">nlohmann/json json</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · validate 2.66× the time of the fastest library (fully validating) way: accept twitter.json: 675 µs citm_catalog.json: 1,314 µs canada.json: 4,278 µs jeopardy.json: 76,082 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · validate 2.71× the time of the fastest library (fully validating) way: accept twitter.json: 654 µs citm_catalog.json: 1,283 µs canada.json: 4,043 µs jeopardy.json: 70,284 µs">
|
||||
<rect class="nj-heat-3" x="225" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="390" text-anchor="middle">2.66</text>
|
||||
<text class="nj-charts-cell" x="270" y="390" text-anchor="middle">2.71</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · sum 1.53× the time of the fastest library (fully validating) way: sax twitter.json: 745 µs citm_catalog.json: 1,619 µs canada.json: 5,470 µs jeopardy.json: 100,260 µs">
|
||||
<rect class="nj-heat-2" x="317" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="390" text-anchor="middle">1.53</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · sum 1.41× the time of the fastest library (fully validating) way: sax twitter.json: 720 µs citm_catalog.json: 1,382 µs canada.json: 5,162 µs jeopardy.json: 87,316 µs">
|
||||
<rect class="nj-heat-1" x="317" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="390" text-anchor="middle">1.41</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · select 8.63× the time of the fastest library (fully validating) twitter.json: 3,764 µs · parse citm_catalog.json: 5,991 µs · parse canada.json: 12,787 µs · parse jeopardy.json: 673,472 µs · structs (from_json)">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · select 7.47× the time of the fastest library (fully validating) twitter.json: 3,521 µs · parse citm_catalog.json: 5,192 µs · structs (from_json) canada.json: 11,196 µs · structs (from_json) jeopardy.json: 453,587 µs · structs (from_json)">
|
||||
<rect class="nj-heat-4" x="409" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="390" text-anchor="middle">8.63</text>
|
||||
<text class="nj-charts-cell" x="454" y="390" text-anchor="middle">7.47</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · edit 4.31× the time of the fastest library (fully validating) way: ordered_json twitter.json: 2,952 µs citm_catalog.json: 5,505 µs canada.json: 17,698 µs jeopardy.json: 857,064 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · edit 3.81× the time of the fastest library (fully validating) twitter.json: 2,784 µs · ordered_json citm_catalog.json: 4,911 µs · ordered_json canada.json: 15,563 µs · parse jeopardy.json: 659,023 µs · ordered_json">
|
||||
<rect class="nj-heat-3" x="501" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="390" text-anchor="middle">4.31</text>
|
||||
<text class="nj-charts-cell" x="546" y="390" text-anchor="middle">3.81</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · minify 5.41× the time of the fastest library (fully validating) way: parse + dump twitter.json: 4,076 µs citm_catalog.json: 6,340 µs canada.json: 16,899 µs jeopardy.json: 744,614 µs">
|
||||
<rect class="nj-heat-4" x="593" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="390" text-anchor="middle">5.41</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · minify 4.67× the time of the fastest library (fully validating) way: parse + dump twitter.json: 3,990 µs citm_catalog.json: 5,719 µs canada.json: 16,153 µs jeopardy.json: 536,911 µs">
|
||||
<rect class="nj-heat-3" x="593" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="390" text-anchor="middle">4.67</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · write 1.92× the time of the fastest library (fully validating) way: dump twitter.json: 439 µs citm_catalog.json: 623 µs canada.json: 4,836 µs jeopardy.json: 124,328 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · write 1.86× the time of the fastest library (fully validating) way: dump twitter.json: 441 µs citm_catalog.json: 606 µs canada.json: 4,485 µs jeopardy.json: 113,462 µs">
|
||||
<rect class="nj-heat-2" x="685" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="390" text-anchor="middle">1.92</text>
|
||||
<text class="nj-charts-cell" x="730" y="390" text-anchor="middle">1.86</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="426" text-anchor="end">RapidJSON</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate 6.67× the time of the fastest library (fully validating) twitter.json: 1,912 µs · insitu (copy) citm_catalog.json: 2,285 µs · S​AX canada.json: 10,385 µs · S​AX (raw numbers) jeopardy.json: 254,120 µs · S​AX (raw numbers) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate 6.87× the time of the fastest library (fully validating) twitter.json: 1,808 µs · insitu (copy) citm_catalog.json: 2,105 µs · S​AX canada.json: 10,540 µs · S​AX (raw numbers) jeopardy.json: 247,331 µs · S​AX (raw numbers) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-4" x="225" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="247.5" y="426" text-anchor="middle">6.67</text>
|
||||
<text class="nj-charts-cell" x="247.5" y="426" text-anchor="middle">6.87</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate, checking less 5.04× the time of the fastest fully validating library twitter.json: 1,212 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,774 µs · S​AX (no encoding check) canada.json: 10,385 µs · S​AX (raw numbers) (validates fully) jeopardy.json: 168,144 µs · S​AX (raw numbers) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate, checking less 5.20× the time of the fastest fully validating library twitter.json: 1,171 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,664 µs · S​AX (no encoding check) canada.json: 10,540 µs · S​AX (raw numbers) (validates fully) jeopardy.json: 158,423 µs · S​AX (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-4" x="271" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="292.5" y="420" text-anchor="middle">5.04</text>
|
||||
<text class="nj-charts-cell" x="292.5" y="420" text-anchor="middle">5.20</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="292.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum 3.32× the time of the fastest library (fully validating) twitter.json: 1,869 µs · insitu (copy) citm_catalog.json: 2,305 µs · S​AX canada.json: 12,617 µs · S​AX jeopardy.json: 269,631 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum 3.25× the time of the fastest library (fully validating) twitter.json: 1,865 µs · insitu (copy) citm_catalog.json: 2,173 µs · S​AX canada.json: 11,995 µs · S​AX jeopardy.json: 258,526 µs · S​AX (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="317" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="339.5" y="426" text-anchor="middle">3.32</text>
|
||||
<text class="nj-charts-cell" x="339.5" y="426" text-anchor="middle">3.25</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum, checking less 2.61× the time of the fastest fully validating library twitter.json: 1,231 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,954 µs · S​AX (no encoding check) canada.json: 12,617 µs · S​AX (validates fully) jeopardy.json: 185,360 µs · S​AX (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="363" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="384.5" y="420" text-anchor="middle">2.61</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum, checking less 2.48× the time of the fastest fully validating library twitter.json: 1,232 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,757 µs · S​AX (no encoding check) canada.json: 11,995 µs · S​AX (validates fully) jeopardy.json: 166,047 µs · S​AX (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-2" x="363" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="384.5" y="420" text-anchor="middle">2.48</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="384.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select 4.52× the time of the fastest library (fully validating) way: insitu (copy) twitter.json: 1,815 µs citm_catalog.json: 2,519 µs canada.json: 12,154 µs jeopardy.json: 263,951 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select 4.52× the time of the fastest library (fully validating) way: insitu (copy) twitter.json: 1,813 µs citm_catalog.json: 2,306 µs canada.json: 11,750 µs jeopardy.json: 253,907 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="409" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="431.5" y="426" text-anchor="middle">4.52</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select, checking less 3.59× the time of the fastest fully validating library twitter.json: 1,184 µs · insitu (copy) (no encoding check) citm_catalog.json: 2,076 µs · Document (no encoding check) canada.json: 12,154 µs · insitu (copy) (validates fully) jeopardy.json: 195,046 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select, checking less 3.58× the time of the fastest fully validating library twitter.json: 1,181 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,932 µs · insitu (copy) (no encoding check) canada.json: 11,750 µs · insitu (copy) (validates fully) jeopardy.json: 182,669 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="455" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="476.5" y="420" text-anchor="middle">3.59</text>
|
||||
<text class="nj-charts-cell" x="476.5" y="420" text-anchor="middle">3.58</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit 3.27× the time of the fastest library (fully validating) way: insitu (copy) twitter.json: 2,481 µs citm_catalog.json: 3,414 µs canada.json: 23,990 µs jeopardy.json: 401,007 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit 3.12× the time of the fastest library (fully validating) way: insitu (copy) twitter.json: 2,470 µs citm_catalog.json: 3,194 µs canada.json: 21,016 µs jeopardy.json: 380,503 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="501" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="523.5" y="426" text-anchor="middle">3.27</text>
|
||||
<text class="nj-charts-cell" x="523.5" y="426" text-anchor="middle">3.12</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit, checking less 2.79× the time of the fastest fully validating library twitter.json: 1,877 µs · insitu (copy) (no encoding check) citm_catalog.json: 3,057 µs · Document (no encoding check) canada.json: 23,979 µs · insitu (copy) (no encoding check) jeopardy.json: 315,136 µs · Document (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit, checking less 2.69× the time of the fastest fully validating library twitter.json: 1,839 µs · insitu (copy) (no encoding check) citm_catalog.json: 2,862 µs · Document (no encoding check) canada.json: 21,016 µs · insitu (copy) (validates fully) jeopardy.json: 311,506 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="547" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="568.5" y="420" text-anchor="middle">2.79</text>
|
||||
<text class="nj-charts-cell" x="568.5" y="420" text-anchor="middle">2.69</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="568.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify 3.59× the time of the fastest library (fully validating) twitter.json: 2,467 µs · S​AX to Writer citm_catalog.json: 2,972 µs · S​AX to Writer canada.json: 22,419 µs · Document + Writer jeopardy.json: 383,355 µs · S​AX to Writer">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify 3.38× the time of the fastest library (fully validating) twitter.json: 2,416 µs · S​AX to Writer citm_catalog.json: 2,870 µs · S​AX to Writer canada.json: 22,073 µs · Document + Writer jeopardy.json: 354,208 µs · S​AX to Writer">
|
||||
<rect class="nj-heat-3" x="593" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="426" text-anchor="middle">3.59</text>
|
||||
<text class="nj-charts-cell" x="615.5" y="426" text-anchor="middle">3.38</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify, checking less 2.99× the time of the fastest fully validating library twitter.json: 1,790 µs · S​AX to Writer (no encoding check) citm_catalog.json: 2,577 µs · S​AX to Writer (no encoding check) canada.json: 22,377 µs · Document + Writer (no encoding check) jeopardy.json: 293,834 µs · S​AX to Writer (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it)">
|
||||
<rect class="nj-heat-3" x="639" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="420" text-anchor="middle">2.99</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="433" text-anchor="middle">U</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify, checking less 2.49× the time of the fastest fully validating library twitter.json: 1,751 µs · S​AX to Writer (no encoding check) citm_catalog.json: 2,380 µs · S​AX to Writer (no encoding check) canada.json: 14,655 µs · S​AX to Writer (raw numbers) (no encoding check) jeopardy.json: 261,920 µs · S​AX to Writer (raw numbers) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) copies each number's text instead of formatting it (kParseNumbersAsStringsFlag)">
|
||||
<rect class="nj-heat-2" x="639" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="420" text-anchor="middle">2.49</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="433" text-anchor="middle">U N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · write 2.95× the time of the fastest library (fully validating) way: Writer twitter.json: 647 µs citm_catalog.json: 970 µs canada.json: 10,796 µs jeopardy.json: 133,581 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · write 2.84× the time of the fastest library (fully validating) way: Writer twitter.json: 627 µs citm_catalog.json: 952 µs canada.json: 9,851 µs jeopardy.json: 126,032 µs">
|
||||
<rect class="nj-heat-3" x="685" y="405" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="426" text-anchor="middle">2.95</text>
|
||||
<text class="nj-charts-cell" x="730" y="426" text-anchor="middle">2.84</text>
|
||||
</g>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="8" y="472">time relative to the fastest fully validating library, less is better</text>
|
||||
<g><rect class="nj-heat-0" x="8" y="482" width="76" height="20" rx="3"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 46 KiB |
@@ -1,6 +1,6 @@
|
||||
<svg class="nj-fig nj-charts nj-charts--blog nj-charts--heat" viewBox="0 0 784 510" role="img" aria-labelledby="nj-blog-uc-x86-gcc nj-blog-uc-x86-gcc-d" xmlns="http://www.w3.org/2000/svg">
|
||||
<title id="nj-blog-uc-x86-gcc">Use cases: time of each library relative to the fastest, x86-64 with G​CC 16.2</title>
|
||||
<desc id="nj-blog-uc-x86-gcc-d">Table of relative times, libraries by use case. nlohmann/json json_document validate: 1.00; nlohmann/json json_document sum: 1.07; nlohmann/json json_document select: 1.00; nlohmann/json json_document edit: 1.00; nlohmann/json json_document minify: 1.00; nlohmann/json json_document write: 1.00; yyjson validate: 2.27; yyjson sum: 1.33; yyjson select: 1.41; yyjson edit: 1.51; yyjson minify: 1.28; yyjson write: 1.08; sonic-cpp validate: no fully validating way (2.33 checking less, no U​TF-8); sonic-cpp sum: no fully validating way (1.26 checking less, no U​TF-8); sonic-cpp select: no fully validating way (1.44 checking less, no U​TF-8); sonic-cpp edit: no fully validating way (1.28 checking less, no U​TF-8); sonic-cpp minify: no fully validating way (1.36 checking less, no U​TF-8); sonic-cpp write: 1.46; simdjson validate: 2.09; simdjson sum: 1.00; simdjson select: 1.29 (0.56 checking less, partial); simdjson edit: n/a; simdjson minify: 1.61 (0.18 checking less, partial); simdjson write: 2.25; sonic-rs (Rust) validate: 2.00; sonic-rs (Rust) sum: 1.11; sonic-rs (Rust) select: 1.36; sonic-rs (Rust) edit: 2.01; sonic-rs (Rust) minify: 1.69; sonic-rs (Rust) write: 1.99; Boost.J​SON validate: 1.99; Boost.J​SON sum: 1.26; Boost.J​SON select: 2.21; Boost.J​SON edit: 2.37; Boost.J​SON minify: 2.54; Boost.J​SON write: 2.21; simd-json (Rust) validate: 3.73; simd-json (Rust) sum: 1.90; simd-json (Rust) select: 2.68; simd-json (Rust) edit: 3.18; simd-json (Rust) minify: 3.38; simd-json (Rust) write: 2.21; serde_json (Rust) validate: 2.49 (2.24 checking less, no U​TF-8); serde_json (Rust) sum: 2.31; serde_json (Rust) select: 1.78; serde_json (Rust) edit: 5.18; serde_json (Rust) minify: 5.15; serde_json (Rust) write: 2.16; Glaze validate: 2.91; Glaze sum: 4.32 (4.14 checking less, partial); Glaze select: 1.72 (0.60 checking less, partial); Glaze edit: 5.06; Glaze minify: 4.91 (0.77 checking less, partial); Glaze write: 1.91; RapidJSON validate: 5.61 (5.15 checking less, no U​TF-8); RapidJSON sum: 2.71 (2.47 checking less, no U​TF-8); RapidJSON select: 3.43 (3.26 checking less, no U​TF-8); RapidJSON edit: 2.79 (2.67 checking less, no U​TF-8); RapidJSON minify: 3.45 (2.83 checking less, no U​TF-8); RapidJSON write: 2.92; nlohmann/json json validate: 3.06; nlohmann/json json sum: 1.71; nlohmann/json json select: 8.29; nlohmann/json json edit: 4.49; nlohmann/json json minify: 5.20; nlohmann/json json write: 1.83.</desc>
|
||||
<desc id="nj-blog-uc-x86-gcc-d">Table of relative times, libraries by use case. nlohmann/json json_document validate: 1.00; nlohmann/json json_document sum: 1.09; nlohmann/json json_document select: 1.00; nlohmann/json json_document edit: 1.00 (0.79 doing less, N); nlohmann/json json_document minify: 1.00 (0.79 doing less, N); nlohmann/json json_document write: 1.00 (0.65 doing less, N); yyjson validate: 2.26; yyjson sum: 1.33; yyjson select: 1.39; yyjson edit: 1.47; yyjson minify: 1.28 (1.03 doing less, N); yyjson write: 1.08; sonic-cpp validate: no fully validating way (2.34 doing less, U); sonic-cpp sum: no fully validating way (1.25 doing less, U); sonic-cpp select: no fully validating way (1.46 doing less, U); sonic-cpp edit: no fully validating way (1.20 doing less, U); sonic-cpp minify: no fully validating way (1.35 doing less, U); sonic-cpp write: 1.44; simdjson validate: 2.11; simdjson sum: 1.00; simdjson select: 1.31 (0.56 doing less, P); simdjson edit: n/a; simdjson minify: 1.61 (0.18 doing less, P); simdjson write: 2.27; sonic-rs (Rust) validate: 1.98; sonic-rs (Rust) sum: 1.14; sonic-rs (Rust) select: 1.38; sonic-rs (Rust) edit: 1.91; sonic-rs (Rust) minify: 1.74; sonic-rs (Rust) write: 2.02; Boost.J​SON validate: 1.99; Boost.J​SON sum: 1.28; Boost.J​SON select: 2.19; Boost.J​SON edit: 2.31; Boost.J​SON minify: 2.60; Boost.J​SON write: 2.31; simd-json (Rust) validate: 3.71; simd-json (Rust) sum: 1.92; simd-json (Rust) select: 2.63; simd-json (Rust) edit: 2.90; simd-json (Rust) minify: 3.40; simd-json (Rust) write: 2.29; serde_json (Rust) validate: 2.45 (2.19 doing less, U); serde_json (Rust) sum: 2.36; serde_json (Rust) select: 1.76; serde_json (Rust) edit: 4.56; serde_json (Rust) minify: 4.95; serde_json (Rust) write: 2.23; Glaze validate: 2.90; Glaze sum: 4.19 (4.01 doing less, P); Glaze select: 1.72 (0.61 doing less, P); Glaze edit: 4.50; Glaze minify: 4.68 (0.77 doing less, P); Glaze write: 1.94; nlohmann/json json validate: 2.97; nlohmann/json json sum: 1.69; nlohmann/json json select: 7.27; nlohmann/json json edit: 3.78; nlohmann/json json minify: 4.64; nlohmann/json json write: 1.86; RapidJSON validate: 5.59 (5.06 doing less, U); RapidJSON sum: 2.75 (2.46 doing less, U); RapidJSON select: 3.40 (3.23 doing less, U); RapidJSON edit: 2.63 (2.55 doing less, U); RapidJSON minify: 3.42 (2.54 doing less, U N); RapidJSON write: 2.88.</desc>
|
||||
<text class="nj-charts-tick" x="270" y="34">validate</text>
|
||||
<text class="nj-charts-tick" x="362" y="34">sum</text>
|
||||
<text class="nj-charts-tick" x="454" y="34">select</text>
|
||||
@@ -8,99 +8,119 @@
|
||||
<text class="nj-charts-tick" x="638" y="34">minify</text>
|
||||
<text class="nj-charts-tick" x="730" y="34">write</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-name-json" x="216" y="66" text-anchor="end">nlohmann/json json_document</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · validate 1.00× the time of the fastest library (fully validating) way: accept twitter.json: 256 µs citm_catalog.json: 504 µs canada.json: 880 µs jeopardy.json: 35,446 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · validate 1.00× the time of the fastest library (fully validating) way: accept twitter.json: 254 µs citm_catalog.json: 510 µs canada.json: 862 µs jeopardy.json: 34,543 µs">
|
||||
<rect class="nj-heat-0" x="225" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · sum 1.07× the time of the fastest library (fully validating) way: parse twitter.json: 387 µs citm_catalog.json: 996 µs canada.json: 3,670 µs jeopardy.json: 93,686 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · sum 1.09× the time of the fastest library (fully validating) way: parse twitter.json: 388 µs citm_catalog.json: 967 µs canada.json: 3,634 µs jeopardy.json: 91,873 µs">
|
||||
<rect class="nj-heat-0" x="317" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="66" text-anchor="middle">1.07</text>
|
||||
<text class="nj-charts-cell" x="362" y="66" text-anchor="middle">1.09</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · select 1.00× the time of the fastest library (fully validating) way: parse twitter.json: 333 µs citm_catalog.json: 812 µs canada.json: 1,336 µs jeopardy.json: 92,556 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · select 1.00× the time of the fastest library (fully validating) twitter.json: 328 µs · structs (from_json) citm_catalog.json: 773 µs · parse canada.json: 1,306 µs · parse jeopardy.json: 91,598 µs · parse">
|
||||
<rect class="nj-heat-0" x="409" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · edit 1.00× the time of the fastest library (fully validating) way: editable twitter.json: 538 µs citm_catalog.json: 1,146 µs canada.json: 5,464 µs jeopardy.json: 175,454 µs">
|
||||
<rect class="nj-heat-0" x="501" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="66" text-anchor="middle">1.00</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · edit 1.00× the time of the fastest library (fully validating) way: editable twitter.json: 538 µs citm_catalog.json: 1,112 µs canada.json: 5,519 µs jeopardy.json: 195,482 µs">
|
||||
<rect class="nj-heat-0" x="501" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="523.5" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · minify 1.00× the time of the fastest library (fully validating) way: parse + dump twitter.json: 486 µs citm_catalog.json: 1,104 µs canada.json: 5,300 µs jeopardy.json: 157,399 µs">
|
||||
<rect class="nj-heat-0" x="593" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="66" text-anchor="middle">1.00</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · edit, checking less 0.79× the time of the fastest fully validating library twitter.json: 534 µs · editable (source numbers) (validates fully) citm_catalog.json: 1,112 µs · editable (validates fully) canada.json: 2,133 µs · editable (source numbers) (validates fully) jeopardy.json: 195,194 µs · editable (source numbers) (validates fully) copies each number's text instead of formatting it (number_format::source)">
|
||||
<rect class="nj-heat-0" x="547" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="568.5" y="60" text-anchor="middle">0.79</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="568.5" y="73" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · write 1.00× the time of the fastest library (fully validating) way: dump twitter.json: 158 µs citm_catalog.json: 255 µs canada.json: 3,957 µs jeopardy.json: 69,975 µs">
|
||||
<rect class="nj-heat-0" x="685" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="66" text-anchor="middle">1.00</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · minify 1.00× the time of the fastest library (fully validating) way: parse + dump twitter.json: 481 µs citm_catalog.json: 1,034 µs canada.json: 5,163 µs jeopardy.json: 151,260 µs">
|
||||
<rect class="nj-heat-0" x="593" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · minify, checking less 0.79× the time of the fastest fully validating library way: parse + dump (source numbers) twitter.json: 466 µs (validates fully) citm_catalog.json: 1,017 µs (validates fully) canada.json: 2,153 µs (validates fully) jeopardy.json: 149,649 µs (validates fully) copies each number's text instead of formatting it (number_format::source)">
|
||||
<rect class="nj-heat-0" x="639" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="60" text-anchor="middle">0.79</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="73" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · write 1.00× the time of the fastest library (fully validating) way: dump twitter.json: 155 µs citm_catalog.json: 251 µs canada.json: 3,844 µs jeopardy.json: 70,827 µs">
|
||||
<rect class="nj-heat-0" x="685" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="707.5" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · write, checking less 0.65× the time of the fastest fully validating library way: dump (source numbers) twitter.json: 139 µs (validates fully) citm_catalog.json: 232 µs (validates fully) canada.json: 835 µs (validates fully) jeopardy.json: 69,129 µs (validates fully) copies each number's text instead of formatting it (number_format::source)">
|
||||
<rect class="nj-heat-0" x="731" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="752.5" y="60" text-anchor="middle">0.65</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="752.5" y="73" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="102" text-anchor="end">yyjson</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · validate 2.27× the time of the fastest library (fully validating) twitter.json: 397 µs · read citm_catalog.json: 939 µs · read (raw numbers) canada.json: 2,138 µs · read (raw numbers) jeopardy.json: 133,549 µs · read (raw numbers)">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · validate 2.26× the time of the fastest library (fully validating) twitter.json: 389 µs · read (raw numbers) citm_catalog.json: 946 µs · insitu (copy) canada.json: 2,133 µs · read (raw numbers) jeopardy.json: 127,616 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-2" x="225" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="102" text-anchor="middle">2.27</text>
|
||||
<text class="nj-charts-cell" x="270" y="102" text-anchor="middle">2.26</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · sum 1.33× the time of the fastest library (fully validating) twitter.json: 452 µs · read citm_catalog.json: 1,162 µs · insitu (copy) canada.json: 4,138 µs · insitu (copy) jeopardy.json: 142,713 µs · read (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · sum 1.33× the time of the fastest library (fully validating) twitter.json: 450 µs · insitu (copy) citm_catalog.json: 1,100 µs · read canada.json: 4,131 µs · read jeopardy.json: 136,960 µs · read (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="317" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="102" text-anchor="middle">1.33</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · select 1.41× the time of the fastest library (fully validating) twitter.json: 406 µs · read citm_catalog.json: 1,012 µs · insitu (copy) canada.json: 2,177 µs · read (raw numbers) jeopardy.json: 145,779 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · select 1.39× the time of the fastest library (fully validating) twitter.json: 400 µs · insitu (copy) citm_catalog.json: 950 µs · read canada.json: 2,136 µs · read (raw numbers) jeopardy.json: 138,356 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="409" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="102" text-anchor="middle">1.41</text>
|
||||
<text class="nj-charts-cell" x="454" y="102" text-anchor="middle">1.39</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · edit 1.51× the time of the fastest library (fully validating) twitter.json: 793 µs · mut copy citm_catalog.json: 1,742 µs · insitu (copy) + mut copy canada.json: 7,566 µs · mut copy jeopardy.json: 296,291 µs · mut copy (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-2" x="501" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="102" text-anchor="middle">1.51</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · edit 1.47× the time of the fastest library (fully validating) twitter.json: 787 µs · mut copy citm_catalog.json: 1,645 µs · insitu (copy) + mut copy canada.json: 7,403 µs · insitu (copy) + mut copy jeopardy.json: 311,249 µs · insitu (copy) + mut copy (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="501" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="102" text-anchor="middle">1.47</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · minify 1.28× the time of the fastest library (fully validating) twitter.json: 622 µs · insitu (copy) + write citm_catalog.json: 1,324 µs · read + write canada.json: 6,687 µs · insitu (copy) + write jeopardy.json: 215,236 µs · insitu (copy) + write (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="593" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="102" text-anchor="middle">1.28</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · minify 1.28× the time of the fastest library (fully validating) twitter.json: 616 µs · insitu (copy) + write citm_catalog.json: 1,273 µs · insitu (copy) + write canada.json: 6,621 µs · read + write jeopardy.json: 203,508 µs · insitu (copy) + write (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="593" y="81" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="102" text-anchor="middle">1.28</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · write 1.08× the time of the fastest library (fully validating) way: write twitter.json: 215 µs citm_catalog.json: 319 µs canada.json: 3,367 µs jeopardy.json: 66,593 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · minify, checking less 1.03× the time of the fastest fully validating library twitter.json: 616 µs · insitu (copy) + write (validates fully) citm_catalog.json: 1,224 µs · read (raw numbers) + write (validates fully) canada.json: 2,874 µs · read (raw numbers) + write (validates fully) jeopardy.json: 203,508 µs · insitu (copy) + write (validates fully) copies each number's text instead of formatting it (YYJSON_READ_NUMBER_AS_RAW) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-0" x="639" y="81" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="96" text-anchor="middle">1.03</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="109" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · write 1.08× the time of the fastest library (fully validating) way: write twitter.json: 187 µs citm_catalog.json: 333 µs canada.json: 3,343 µs jeopardy.json: 68,342 µs">
|
||||
<rect class="nj-heat-0" x="685" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="102" text-anchor="middle">1.08</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="138" text-anchor="end">sonic-cpp</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · validate, checking less 2.33× the time of the fastest fully validating library way: Document twitter.json: 401 µs citm_catalog.json: 929 µs canada.json: 3,258 µs jeopardy.json: 98,231 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · validate, checking less 2.34× the time of the fastest fully validating library way: Document twitter.json: 403 µs citm_catalog.json: 931 µs canada.json: 3,170 µs jeopardy.json: 96,915 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-2" x="225" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="132" text-anchor="middle">2.33</text>
|
||||
<text class="nj-charts-cell" x="270" y="132" text-anchor="middle">2.34</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="270" y="145" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · sum, checking less 1.26× the time of the fastest fully validating library way: Document twitter.json: 471 µs citm_catalog.json: 1,209 µs canada.json: 3,945 µs jeopardy.json: 113,162 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · sum, checking less 1.25× the time of the fastest fully validating library way: Document twitter.json: 460 µs citm_catalog.json: 1,126 µs canada.json: 3,948 µs jeopardy.json: 105,174 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-1" x="317" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="132" text-anchor="middle">1.26</text>
|
||||
<text class="nj-charts-cell" x="362" y="132" text-anchor="middle">1.25</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="362" y="145" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · select, checking less 1.44× the time of the fastest fully validating library way: Document twitter.json: 409 µs citm_catalog.json: 1,005 µs canada.json: 3,180 µs jeopardy.json: 111,279 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · select, checking less 1.46× the time of the fastest fully validating library way: Document twitter.json: 408 µs citm_catalog.json: 933 µs canada.json: 3,178 µs jeopardy.json: 113,267 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-1" x="409" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="132" text-anchor="middle">1.44</text>
|
||||
<text class="nj-charts-cell" x="454" y="132" text-anchor="middle">1.46</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="454" y="145" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · edit, checking less 1.28× the time of the fastest fully validating library way: Document twitter.json: 623 µs citm_catalog.json: 1,522 µs canada.json: 8,678 µs jeopardy.json: 193,208 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · edit, checking less 1.20× the time of the fastest fully validating library way: Document twitter.json: 619 µs citm_catalog.json: 1,434 µs canada.json: 8,257 µs jeopardy.json: 183,468 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-1" x="501" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="132" text-anchor="middle">1.28</text>
|
||||
<text class="nj-charts-cell" x="546" y="132" text-anchor="middle">1.20</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="546" y="145" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · minify, checking less 1.36× the time of the fastest fully validating library way: Document + Serialize twitter.json: 628 µs citm_catalog.json: 1,538 µs canada.json: 8,644 µs jeopardy.json: 182,074 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · minify, checking less 1.35× the time of the fastest fully validating library way: Document + Serialize twitter.json: 635 µs citm_catalog.json: 1,427 µs canada.json: 8,228 µs jeopardy.json: 175,214 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-1" x="593" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="132" text-anchor="middle">1.36</text>
|
||||
<text class="nj-charts-cell" x="638" y="132" text-anchor="middle">1.35</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="638" y="145" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · write 1.46× the time of the fastest library (fully validating) way: Serialize twitter.json: 254 µs citm_catalog.json: 510 µs canada.json: 5,356 µs jeopardy.json: 72,110 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · write 1.44× the time of the fastest library (fully validating) way: Serialize twitter.json: 250 µs citm_catalog.json: 512 µs canada.json: 5,098 µs jeopardy.json: 69,815 µs">
|
||||
<rect class="nj-heat-1" x="685" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="138" text-anchor="middle">1.46</text>
|
||||
<text class="nj-charts-cell" x="730" y="138" text-anchor="middle">1.44</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="174" text-anchor="end">simdjson</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · validate 2.09× the time of the fastest library (fully validating) way: D​OM twitter.json: 302 µs citm_catalog.json: 680 µs canada.json: 3,167 µs jeopardy.json: 117,836 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · validate 2.11× the time of the fastest library (fully validating) way: D​OM twitter.json: 298 µs citm_catalog.json: 690 µs canada.json: 3,166 µs jeopardy.json: 116,296 µs">
|
||||
<rect class="nj-heat-2" x="225" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="174" text-anchor="middle">2.09</text>
|
||||
<text class="nj-charts-cell" x="270" y="174" text-anchor="middle">2.11</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · sum 1.00× the time of the fastest library (fully validating) way: On-Demand twitter.json: 349 µs citm_catalog.json: 846 µs canada.json: 3,443 µs jeopardy.json: 98,772 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · sum 1.00× the time of the fastest library (fully validating) way: On-Demand twitter.json: 345 µs citm_catalog.json: 802 µs canada.json: 3,465 µs jeopardy.json: 92,425 µs">
|
||||
<rect class="nj-heat-0" x="317" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="174" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select 1.29× the time of the fastest library (fully validating) way: D​OM twitter.json: 314 µs citm_catalog.json: 697 µs canada.json: 3,281 µs jeopardy.json: 128,804 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select 1.31× the time of the fastest library (fully validating) way: D​OM twitter.json: 311 µs citm_catalog.json: 698 µs canada.json: 3,263 µs jeopardy.json: 127,285 µs">
|
||||
<rect class="nj-heat-1" x="409" y="153" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="431.5" y="174" text-anchor="middle">1.29</text>
|
||||
<text class="nj-charts-cell" x="431.5" y="174" text-anchor="middle">1.31</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select, checking less 0.56× the time of the fastest fully validating library twitter.json: 183 µs · On-Demand citm_catalog.json: 516 µs · On-Demand (key selectors) canada.json: 701 µs · On-Demand (key selectors) jeopardy.json: 50,654 µs · On-Demand reads lazily: On-Demand reads only what you ask for and steps over the rest by matching brackets">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select, checking less 0.56× the time of the fastest fully validating library twitter.json: 178 µs · On-Demand (key selectors) citm_catalog.json: 495 µs · On-Demand (key selectors) canada.json: 674 µs · On-Demand jeopardy.json: 49,613 µs · On-Demand reads lazily: On-Demand reads only what you ask for and steps over the rest by matching brackets">
|
||||
<rect class="nj-heat-0" x="455" y="153" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="476.5" y="168" text-anchor="middle">0.56</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="181" text-anchor="middle">P</text>
|
||||
@@ -109,238 +129,238 @@
|
||||
<rect class="nj-heat-na" x="501" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-tick" x="546" y="174">n/a</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify 1.61× the time of the fastest library (fully validating) way: D​OM + to_string twitter.json: 797 µs citm_catalog.json: 1,389 µs canada.json: 8,834 µs jeopardy.json: 306,425 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify 1.61× the time of the fastest library (fully validating) way: D​OM + to_string twitter.json: 788 µs citm_catalog.json: 1,302 µs canada.json: 8,426 µs jeopardy.json: 301,627 µs">
|
||||
<rect class="nj-heat-2" x="593" y="153" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="174" text-anchor="middle">1.61</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify, checking less 0.18× the time of the fastest fully validating library way: minify twitter.json: 105 µs citm_catalog.json: 264 µs canada.json: 371 µs jeopardy.json: 49,313 µs simdjson::minify() only removes whitespace, without parsing the values">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify, checking less 0.18× the time of the fastest fully validating library way: minify twitter.json: 93.7 µs citm_catalog.json: 279 µs canada.json: 313 µs jeopardy.json: 46,983 µs simdjson::minify() only removes whitespace, without parsing the values">
|
||||
<rect class="nj-heat-0" x="639" y="153" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="168" text-anchor="middle">0.18</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="181" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · write 2.25× the time of the fastest library (fully validating) way: to_string twitter.json: 461 µs citm_catalog.json: 590 µs canada.json: 5,868 µs jeopardy.json: 176,988 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · write 2.27× the time of the fastest library (fully validating) way: to_string twitter.json: 463 µs citm_catalog.json: 586 µs canada.json: 5,626 µs jeopardy.json: 185,384 µs">
|
||||
<rect class="nj-heat-2" x="685" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="174" text-anchor="middle">2.25</text>
|
||||
<text class="nj-charts-cell" x="730" y="174" text-anchor="middle">2.27</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="210" text-anchor="end">sonic-rs (Rust)</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · validate 2.00× the time of the fastest library (fully validating) way: IgnoredAny twitter.json: 482 µs citm_catalog.json: 969 µs canada.json: 2,489 µs jeopardy.json: 55,486 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · validate 1.98× the time of the fastest library (fully validating) way: IgnoredAny twitter.json: 501 µs citm_catalog.json: 970 µs canada.json: 2,249 µs jeopardy.json: 54,369 µs">
|
||||
<rect class="nj-heat-2" x="225" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="210" text-anchor="middle">2.00</text>
|
||||
<text class="nj-charts-cell" x="270" y="210" text-anchor="middle">1.98</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · sum 1.11× the time of the fastest library (fully validating) way: visitor twitter.json: 503 µs citm_catalog.json: 1,123 µs canada.json: 4,418 µs jeopardy.json: 59,993 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · sum 1.14× the time of the fastest library (fully validating) way: visitor twitter.json: 501 µs citm_catalog.json: 1,123 µs canada.json: 4,397 µs jeopardy.json: 59,583 µs">
|
||||
<rect class="nj-heat-0" x="317" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="210" text-anchor="middle">1.11</text>
|
||||
<text class="nj-charts-cell" x="362" y="210" text-anchor="middle">1.14</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · select 1.36× the time of the fastest library (fully validating) way: structs twitter.json: 538 µs citm_catalog.json: 1,028 µs canada.json: 2,283 µs jeopardy.json: 91,950 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · select 1.38× the time of the fastest library (fully validating) way: structs twitter.json: 504 µs citm_catalog.json: 1,033 µs canada.json: 2,328 µs jeopardy.json: 90,486 µs">
|
||||
<rect class="nj-heat-1" x="409" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="210" text-anchor="middle">1.36</text>
|
||||
<text class="nj-charts-cell" x="454" y="210" text-anchor="middle">1.38</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · edit 2.01× the time of the fastest library (fully validating) way: Value twitter.json: 1,201 µs citm_catalog.json: 2,416 µs canada.json: 7,958 µs jeopardy.json: 421,718 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · edit 1.91× the time of the fastest library (fully validating) way: Value twitter.json: 1,197 µs citm_catalog.json: 2,389 µs canada.json: 7,744 µs jeopardy.json: 390,952 µs">
|
||||
<rect class="nj-heat-2" x="501" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="210" text-anchor="middle">2.01</text>
|
||||
<text class="nj-charts-cell" x="546" y="210" text-anchor="middle">1.91</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · minify 1.69× the time of the fastest library (fully validating) way: Value twitter.json: 1,003 µs citm_catalog.json: 2,174 µs canada.json: 7,753 µs jeopardy.json: 217,354 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · minify 1.74× the time of the fastest library (fully validating) way: Value twitter.json: 1,000 µs citm_catalog.json: 2,097 µs canada.json: 7,795 µs jeopardy.json: 215,280 µs">
|
||||
<rect class="nj-heat-2" x="593" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="210" text-anchor="middle">1.69</text>
|
||||
<text class="nj-charts-cell" x="638" y="210" text-anchor="middle">1.74</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · write 1.99× the time of the fastest library (fully validating) way: Value twitter.json: 445 µs citm_catalog.json: 931 µs canada.json: 4,048 µs jeopardy.json: 104,487 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · write 2.02× the time of the fastest library (fully validating) way: Value twitter.json: 434 µs citm_catalog.json: 927 µs canada.json: 3,987 µs jeopardy.json: 109,176 µs">
|
||||
<rect class="nj-heat-2" x="685" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="210" text-anchor="middle">1.99</text>
|
||||
<text class="nj-charts-cell" x="730" y="210" text-anchor="middle">2.02</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="246" text-anchor="end">Boost.J​SON</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · validate 1.99× the time of the fastest library (fully validating) twitter.json: 688 µs · S​AX (numbers: none) citm_catalog.json: 920 µs · S​AX (numbers: none) canada.json: 1,643 µs · S​AX (numbers: none) jeopardy.json: 61,295 µs · S​AX">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · validate 1.99× the time of the fastest library (fully validating) twitter.json: 687 µs · S​AX citm_catalog.json: 912 µs · S​AX (numbers: none) canada.json: 1,637 µs · S​AX (numbers: none) jeopardy.json: 59,426 µs · S​AX">
|
||||
<rect class="nj-heat-2" x="225" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="246" text-anchor="middle">1.99</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · sum 1.26× the time of the fastest library (fully validating) way: S​AX twitter.json: 689 µs citm_catalog.json: 1,000 µs canada.json: 5,784 µs jeopardy.json: 62,713 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · sum 1.28× the time of the fastest library (fully validating) way: S​AX twitter.json: 698 µs citm_catalog.json: 961 µs canada.json: 5,821 µs jeopardy.json: 60,418 µs">
|
||||
<rect class="nj-heat-1" x="317" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="246" text-anchor="middle">1.26</text>
|
||||
<text class="nj-charts-cell" x="362" y="246" text-anchor="middle">1.28</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · select 2.21× the time of the fastest library (fully validating) way: parse_into structs twitter.json: 874 µs citm_catalog.json: 1,330 µs canada.json: 6,790 µs jeopardy.json: 100,853 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · select 2.19× the time of the fastest library (fully validating) twitter.json: 886 µs · parse_into structs citm_catalog.json: 1,268 µs · parse_into structs canada.json: 6,606 µs · parse jeopardy.json: 94,730 µs · parse_into structs">
|
||||
<rect class="nj-heat-2" x="409" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="246" text-anchor="middle">2.21</text>
|
||||
<text class="nj-charts-cell" x="454" y="246" text-anchor="middle">2.19</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · edit 2.37× the time of the fastest library (fully validating) way: parse twitter.json: 1,779 µs citm_catalog.json: 2,536 µs canada.json: 12,676 µs jeopardy.json: 324,644 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · edit 2.31× the time of the fastest library (fully validating) way: parse twitter.json: 1,768 µs citm_catalog.json: 2,511 µs canada.json: 12,298 µs jeopardy.json: 339,121 µs">
|
||||
<rect class="nj-heat-2" x="501" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="246" text-anchor="middle">2.37</text>
|
||||
<text class="nj-charts-cell" x="546" y="246" text-anchor="middle">2.31</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · minify 2.54× the time of the fastest library (fully validating) way: parse + serialize twitter.json: 1,767 µs citm_catalog.json: 2,687 µs canada.json: 12,514 µs jeopardy.json: 311,858 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · minify 2.60× the time of the fastest library (fully validating) way: parse + serialize twitter.json: 1,768 µs citm_catalog.json: 2,494 µs canada.json: 12,141 µs jeopardy.json: 330,129 µs">
|
||||
<rect class="nj-heat-3" x="593" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="246" text-anchor="middle">2.54</text>
|
||||
<text class="nj-charts-cell" x="638" y="246" text-anchor="middle">2.60</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · write 2.21× the time of the fastest library (fully validating) way: serialize twitter.json: 452 µs citm_catalog.json: 825 µs canada.json: 5,580 µs jeopardy.json: 126,955 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · write 2.31× the time of the fastest library (fully validating) way: serialize twitter.json: 455 µs citm_catalog.json: 837 µs canada.json: 5,472 µs jeopardy.json: 144,557 µs">
|
||||
<rect class="nj-heat-2" x="685" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="246" text-anchor="middle">2.21</text>
|
||||
<text class="nj-charts-cell" x="730" y="246" text-anchor="middle">2.31</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="282" text-anchor="end">simd-json (Rust)</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · validate 3.73× the time of the fastest library (fully validating) way: tape (copy) twitter.json: 563 µs citm_catalog.json: 1,403 µs canada.json: 4,630 µs jeopardy.json: 212,467 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · validate 3.71× the time of the fastest library (fully validating) way: tape (copy) twitter.json: 567 µs citm_catalog.json: 1,430 µs canada.json: 4,359 µs jeopardy.json: 207,551 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="225" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="282" text-anchor="middle">3.73</text>
|
||||
<text class="nj-charts-cell" x="270" y="282" text-anchor="middle">3.71</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · sum 1.90× the time of the fastest library (fully validating) way: visitor (copy) twitter.json: 668 µs citm_catalog.json: 1,688 µs canada.json: 5,134 µs jeopardy.json: 224,411 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · sum 1.92× the time of the fastest library (fully validating) way: visitor (copy) twitter.json: 681 µs citm_catalog.json: 1,650 µs canada.json: 5,083 µs jeopardy.json: 210,185 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-2" x="317" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="282" text-anchor="middle">1.90</text>
|
||||
<text class="nj-charts-cell" x="362" y="282" text-anchor="middle">1.92</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · select 2.68× the time of the fastest library (fully validating) way: structs (copy) twitter.json: 740 µs citm_catalog.json: 1,802 µs canada.json: 4,997 µs jeopardy.json: 258,566 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · select 2.63× the time of the fastest library (fully validating) way: structs (copy) twitter.json: 679 µs citm_catalog.json: 1,731 µs canada.json: 5,144 µs jeopardy.json: 239,164 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="409" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="282" text-anchor="middle">2.68</text>
|
||||
<text class="nj-charts-cell" x="454" y="282" text-anchor="middle">2.63</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · edit 3.18× the time of the fastest library (fully validating) twitter.json: 1,924 µs · borrowed (copy) citm_catalog.json: 4,575 µs · borrowed (copy) canada.json: 15,746 µs · owned (copy) jeopardy.json: 435,817 µs · borrowed (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · edit 2.90× the time of the fastest library (fully validating) twitter.json: 1,862 µs · borrowed (copy) citm_catalog.json: 4,194 µs · borrowed (copy) canada.json: 14,896 µs · owned (copy) jeopardy.json: 391,369 µs · borrowed (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="501" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="282" text-anchor="middle">3.18</text>
|
||||
<text class="nj-charts-cell" x="546" y="282" text-anchor="middle">2.90</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · minify 3.38× the time of the fastest library (fully validating) way: borrowed (copy) twitter.json: 1,878 µs citm_catalog.json: 4,655 µs canada.json: 15,955 µs jeopardy.json: 419,412 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · minify 3.40× the time of the fastest library (fully validating) way: borrowed (copy) twitter.json: 1,889 µs citm_catalog.json: 4,196 µs canada.json: 15,716 µs jeopardy.json: 414,377 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="593" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="282" text-anchor="middle">3.38</text>
|
||||
<text class="nj-charts-cell" x="638" y="282" text-anchor="middle">3.40</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · write 2.21× the time of the fastest library (fully validating) way: borrowed twitter.json: 597 µs citm_catalog.json: 809 µs canada.json: 4,817 µs jeopardy.json: 114,245 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · write 2.29× the time of the fastest library (fully validating) way: borrowed twitter.json: 582 µs citm_catalog.json: 800 µs canada.json: 5,147 µs jeopardy.json: 122,623 µs">
|
||||
<rect class="nj-heat-2" x="685" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="282" text-anchor="middle">2.21</text>
|
||||
<text class="nj-charts-cell" x="730" y="282" text-anchor="middle">2.29</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="318" text-anchor="end">serde_json (Rust)</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate 2.49× the time of the fastest library (fully validating) way: from_utf8 + IgnoredAny twitter.json: 622 µs citm_catalog.json: 1,440 µs canada.json: 2,621 µs jeopardy.json: 65,602 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate 2.45× the time of the fastest library (fully validating) way: from_utf8 + IgnoredAny twitter.json: 624 µs citm_catalog.json: 1,440 µs canada.json: 2,406 µs jeopardy.json: 64,720 µs">
|
||||
<rect class="nj-heat-2" x="225" y="297" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="247.5" y="318" text-anchor="middle">2.49</text>
|
||||
<text class="nj-charts-cell" x="247.5" y="318" text-anchor="middle">2.45</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate, checking less 2.24× the time of the fastest fully validating library way: IgnoredAny twitter.json: 480 µs citm_catalog.json: 1,371 µs canada.json: 2,538 µs jeopardy.json: 60,154 µs trusts U​TF-8 in the strings it skips (from_slice); strings it reads are checked">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate, checking less 2.19× the time of the fastest fully validating library way: IgnoredAny twitter.json: 484 µs citm_catalog.json: 1,370 µs canada.json: 2,314 µs jeopardy.json: 58,247 µs trusts U​TF-8 in the strings it skips (from_slice); strings it reads are checked">
|
||||
<rect class="nj-heat-2" x="271" y="297" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="292.5" y="312" text-anchor="middle">2.24</text>
|
||||
<text class="nj-charts-cell" x="292.5" y="312" text-anchor="middle">2.19</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="292.5" y="325" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · sum 2.31× the time of the fastest library (fully validating) way: visitor twitter.json: 1,311 µs citm_catalog.json: 2,316 µs canada.json: 7,241 µs jeopardy.json: 130,249 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · sum 2.36× the time of the fastest library (fully validating) way: visitor twitter.json: 1,311 µs citm_catalog.json: 2,288 µs canada.json: 7,127 µs jeopardy.json: 129,497 µs">
|
||||
<rect class="nj-heat-2" x="317" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="318" text-anchor="middle">2.31</text>
|
||||
<text class="nj-charts-cell" x="362" y="318" text-anchor="middle">2.36</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · select 1.78× the time of the fastest library (fully validating) way: from_utf8 + structs twitter.json: 722 µs citm_catalog.json: 1,559 µs canada.json: 2,585 µs jeopardy.json: 114,701 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · select 1.76× the time of the fastest library (fully validating) way: from_utf8 + structs twitter.json: 701 µs citm_catalog.json: 1,532 µs canada.json: 2,529 µs jeopardy.json: 107,316 µs">
|
||||
<rect class="nj-heat-2" x="409" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="318" text-anchor="middle">1.78</text>
|
||||
<text class="nj-charts-cell" x="454" y="318" text-anchor="middle">1.76</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · edit 5.18× the time of the fastest library (fully validating) way: Value twitter.json: 4,036 µs citm_catalog.json: 7,181 µs canada.json: 17,371 µs jeopardy.json: 843,034 µs">
|
||||
<rect class="nj-heat-4" x="501" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="318" text-anchor="middle">5.18</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · edit 4.56× the time of the fastest library (fully validating) way: Value twitter.json: 4,042 µs citm_catalog.json: 6,586 µs canada.json: 16,631 µs jeopardy.json: 632,766 µs">
|
||||
<rect class="nj-heat-3" x="501" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="318" text-anchor="middle">4.56</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · minify 5.15× the time of the fastest library (fully validating) way: Value twitter.json: 4,220 µs citm_catalog.json: 6,876 µs canada.json: 17,276 µs jeopardy.json: 628,192 µs">
|
||||
<rect class="nj-heat-4" x="593" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="318" text-anchor="middle">5.15</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · minify 4.95× the time of the fastest library (fully validating) way: Value twitter.json: 4,012 µs citm_catalog.json: 6,583 µs canada.json: 17,306 µs jeopardy.json: 509,702 µs">
|
||||
<rect class="nj-heat-3" x="593" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="318" text-anchor="middle">4.95</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · write 2.16× the time of the fastest library (fully validating) way: Value twitter.json: 560 µs citm_catalog.json: 848 µs canada.json: 3,964 µs jeopardy.json: 129,473 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · write 2.23× the time of the fastest library (fully validating) way: Value twitter.json: 550 µs citm_catalog.json: 887 µs canada.json: 4,005 µs jeopardy.json: 134,163 µs">
|
||||
<rect class="nj-heat-2" x="685" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="318" text-anchor="middle">2.16</text>
|
||||
<text class="nj-charts-cell" x="730" y="318" text-anchor="middle">2.23</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="354" text-anchor="end">Glaze</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · validate 2.91× the time of the fastest library (fully validating) way: validate_json twitter.json: 718 µs citm_catalog.json: 1,972 µs canada.json: 2,550 µs jeopardy.json: 80,290 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · validate 2.90× the time of the fastest library (fully validating) way: validate_json twitter.json: 714 µs citm_catalog.json: 1,974 µs canada.json: 2,521 µs jeopardy.json: 76,716 µs">
|
||||
<rect class="nj-heat-3" x="225" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="354" text-anchor="middle">2.91</text>
|
||||
<text class="nj-charts-cell" x="270" y="354" text-anchor="middle">2.90</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · sum 4.32× the time of the fastest library (fully validating) way: generic (double, strict) twitter.json: 2,397 µs citm_catalog.json: 4,330 µs canada.json: 11,094 µs jeopardy.json: 304,997 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · sum 4.19× the time of the fastest library (fully validating) way: generic (double, strict) twitter.json: 2,334 µs citm_catalog.json: 4,099 µs canada.json: 11,762 µs jeopardy.json: 243,497 µs">
|
||||
<rect class="nj-heat-3" x="317" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="339.5" y="354" text-anchor="middle">4.32</text>
|
||||
<text class="nj-charts-cell" x="339.5" y="354" text-anchor="middle">4.19</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · sum, checking less 4.14× the time of the fastest fully validating library twitter.json: 2,386 µs · generic (double) citm_catalog.json: 4,330 µs · generic (double, strict) (validates fully) canada.json: 11,094 µs · generic (double, strict) (validates fully) jeopardy.json: 256,411 µs · lazy_json accepts trailing garbage after the value: Glaze's default (validate_trailing_whitespace checks it) reads lazily: lazy_json reads only what you ask for and steps over the rest">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · sum, checking less 4.01× the time of the fastest fully validating library twitter.json: 2,334 µs · generic (double, strict) (validates fully) citm_catalog.json: 4,062 µs · generic (double) canada.json: 10,370 µs · generic (double) jeopardy.json: 233,200 µs · lazy_json accepts trailing garbage after the value: Glaze's default (validate_trailing_whitespace checks it) reads lazily: lazy_json reads only what you ask for and steps over the rest">
|
||||
<rect class="nj-heat-3" x="363" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="384.5" y="348" text-anchor="middle">4.14</text>
|
||||
<text class="nj-charts-cell" x="384.5" y="348" text-anchor="middle">4.01</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="384.5" y="361" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select 1.72× the time of the fastest library (fully validating) way: structs (validate_skipped) twitter.json: 603 µs citm_catalog.json: 2,097 µs canada.json: 2,586 µs jeopardy.json: 90,324 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select 1.72× the time of the fastest library (fully validating) way: structs (validate_skipped) twitter.json: 604 µs citm_catalog.json: 1,976 µs canada.json: 2,534 µs jeopardy.json: 87,637 µs">
|
||||
<rect class="nj-heat-2" x="409" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="431.5" y="354" text-anchor="middle">1.72</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select, checking less 0.60× the time of the fastest fully validating library way: structs twitter.json: 344 µs citm_catalog.json: 422 µs canada.json: 430 µs jeopardy.json: 70,824 µs reads into structs and steps over fields it doesn't know without checking them (validate_skipped checks them too)">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select, checking less 0.61× the time of the fastest fully validating library way: structs twitter.json: 344 µs citm_catalog.json: 401 µs canada.json: 418 µs jeopardy.json: 70,801 µs reads into structs and steps over fields it doesn't know without checking them (validate_skipped checks them too)">
|
||||
<rect class="nj-heat-0" x="455" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="476.5" y="348" text-anchor="middle">0.60</text>
|
||||
<text class="nj-charts-cell" x="476.5" y="348" text-anchor="middle">0.61</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="361" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · edit 5.06× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 3,577 µs citm_catalog.json: 6,466 µs canada.json: 22,051 µs jeopardy.json: 761,903 µs">
|
||||
<rect class="nj-heat-4" x="501" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="354" text-anchor="middle">5.06</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · edit 4.50× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 3,364 µs citm_catalog.json: 6,118 µs canada.json: 20,572 µs jeopardy.json: 626,529 µs">
|
||||
<rect class="nj-heat-3" x="501" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="354" text-anchor="middle">4.50</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify 4.91× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 3,511 µs citm_catalog.json: 6,660 µs canada.json: 22,202 µs jeopardy.json: 500,412 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify 4.68× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 3,268 µs citm_catalog.json: 6,057 µs canada.json: 20,639 µs jeopardy.json: 457,013 µs">
|
||||
<rect class="nj-heat-3" x="593" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="354" text-anchor="middle">4.91</text>
|
||||
<text class="nj-charts-cell" x="615.5" y="354" text-anchor="middle">4.68</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify, checking less 0.77× the time of the fastest fully validating library way: minify_json twitter.json: 417 µs citm_catalog.json: 1,436 µs canada.json: 2,656 µs jeopardy.json: 100,316 µs minify_json only removes whitespace, without parsing the values">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify, checking less 0.77× the time of the fastest fully validating library way: minify_json twitter.json: 418 µs citm_catalog.json: 1,292 µs canada.json: 2,650 µs jeopardy.json: 93,423 µs minify_json only removes whitespace, without parsing the values">
|
||||
<rect class="nj-heat-0" x="639" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="348" text-anchor="middle">0.77</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="361" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · write 1.91× the time of the fastest library (fully validating) twitter.json: 380 µs · generic citm_catalog.json: 714 µs · generic canada.json: 4,135 µs · generic (strict) jeopardy.json: 133,036 µs · generic">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · write 1.94× the time of the fastest library (fully validating) way: generic twitter.json: 380 µs citm_catalog.json: 733 µs canada.json: 4,017 µs jeopardy.json: 133,545 µs">
|
||||
<rect class="nj-heat-2" x="685" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="354" text-anchor="middle">1.91</text>
|
||||
<text class="nj-charts-cell" x="730" y="354" text-anchor="middle">1.94</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="390" text-anchor="end">RapidJSON</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate 5.61× the time of the fastest library (fully validating) twitter.json: 1,254 µs · insitu (copy) citm_catalog.json: 1,862 µs · insitu (copy) canada.json: 10,322 µs · S​AX (raw numbers) jeopardy.json: 164,951 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-4" x="225" y="369" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="247.5" y="390" text-anchor="middle">5.61</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-name-json" x="216" y="390" text-anchor="end">nlohmann/json json</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · validate 2.97× the time of the fastest library (fully validating) way: accept twitter.json: 667 µs citm_catalog.json: 1,426 µs canada.json: 4,398 µs jeopardy.json: 71,489 µs">
|
||||
<rect class="nj-heat-3" x="225" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="390" text-anchor="middle">2.97</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate, checking less 5.15× the time of the fastest fully validating library twitter.json: 1,132 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,587 µs · S​AX (no encoding check) canada.json: 10,322 µs · S​AX (raw numbers) (validates fully) jeopardy.json: 152,267 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-4" x="271" y="369" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="292.5" y="384" text-anchor="middle">5.15</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="292.5" y="397" text-anchor="middle">U</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · sum 1.69× the time of the fastest library (fully validating) way: sax twitter.json: 814 µs citm_catalog.json: 1,638 µs canada.json: 5,673 µs jeopardy.json: 95,614 µs">
|
||||
<rect class="nj-heat-2" x="317" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="390" text-anchor="middle">1.69</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum 2.71× the time of the fastest library (fully validating) way: insitu (copy) twitter.json: 1,299 µs citm_catalog.json: 2,179 µs canada.json: 11,198 µs jeopardy.json: 172,104 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="317" y="369" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="339.5" y="390" text-anchor="middle">2.71</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · select 7.27× the time of the fastest library (fully validating) way: parse twitter.json: 3,454 µs citm_catalog.json: 5,203 µs canada.json: 11,070 µs jeopardy.json: 426,942 µs">
|
||||
<rect class="nj-heat-4" x="409" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="390" text-anchor="middle">7.27</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum, checking less 2.47× the time of the fastest fully validating library twitter.json: 1,141 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,796 µs · S​AX (no encoding check) canada.json: 11,198 µs · insitu (copy) (validates fully) jeopardy.json: 162,975 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-2" x="363" y="369" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="384.5" y="384" text-anchor="middle">2.47</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="384.5" y="397" text-anchor="middle">U</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · edit 3.78× the time of the fastest library (fully validating) twitter.json: 2,806 µs · ordered_json citm_catalog.json: 4,972 µs · ordered_json canada.json: 14,917 µs · parse jeopardy.json: 635,353 µs · ordered_json">
|
||||
<rect class="nj-heat-3" x="501" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="390" text-anchor="middle">3.78</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select 3.43× the time of the fastest library (fully validating) way: insitu (copy) twitter.json: 1,261 µs citm_catalog.json: 2,027 µs canada.json: 10,840 µs jeopardy.json: 166,338 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="409" y="369" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="431.5" y="390" text-anchor="middle">3.43</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · minify 4.64× the time of the fastest library (fully validating) way: parse + dump twitter.json: 3,861 µs citm_catalog.json: 5,772 µs canada.json: 14,812 µs jeopardy.json: 546,637 µs">
|
||||
<rect class="nj-heat-3" x="593" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="390" text-anchor="middle">4.64</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select, checking less 3.26× the time of the fastest fully validating library twitter.json: 1,101 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,963 µs · insitu (copy) (no encoding check) canada.json: 10,558 µs · insitu (copy) (no encoding check) jeopardy.json: 166,338 µs · insitu (copy) (validates fully) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="455" y="369" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="476.5" y="384" text-anchor="middle">3.26</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="397" text-anchor="middle">U</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · write 1.86× the time of the fastest library (fully validating) way: dump twitter.json: 424 µs citm_catalog.json: 656 µs canada.json: 3,870 µs jeopardy.json: 117,712 µs">
|
||||
<rect class="nj-heat-2" x="685" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="390" text-anchor="middle">1.86</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit 2.79× the time of the fastest library (fully validating) way: insitu (copy) twitter.json: 1,965 µs citm_catalog.json: 2,915 µs canada.json: 19,784 µs jeopardy.json: 317,671 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="501" y="369" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="523.5" y="390" text-anchor="middle">2.79</text>
|
||||
<text class="nj-charts-rowlabel " x="216" y="426" text-anchor="end">RapidJSON</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate 5.59× the time of the fastest library (fully validating) twitter.json: 1,250 µs · insitu (copy) citm_catalog.json: 1,893 µs · insitu (copy) canada.json: 10,133 µs · S​AX (raw numbers) jeopardy.json: 157,360 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-4" x="225" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="247.5" y="426" text-anchor="middle">5.59</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit, checking less 2.67× the time of the fastest fully validating library twitter.json: 1,877 µs · insitu (copy) (no encoding check) citm_catalog.json: 2,803 µs · insitu (copy) (no encoding check) canada.json: 19,340 µs · insitu (copy) (no encoding check) jeopardy.json: 297,090 µs · Document (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="547" y="369" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="568.5" y="384" text-anchor="middle">2.67</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="568.5" y="397" text-anchor="middle">U</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate, checking less 5.06× the time of the fastest fully validating library twitter.json: 1,089 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,590 µs · S​AX (no encoding check) canada.json: 10,051 µs · insitu (copy) (no encoding check) jeopardy.json: 145,703 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-4" x="271" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="292.5" y="420" text-anchor="middle">5.06</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="292.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify 3.45× the time of the fastest library (fully validating) twitter.json: 2,529 µs · S​AX to Writer citm_catalog.json: 3,097 µs · S​AX to Writer canada.json: 21,347 µs · Document + Writer jeopardy.json: 379,477 µs · S​AX to Writer">
|
||||
<rect class="nj-heat-3" x="593" y="369" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="390" text-anchor="middle">3.45</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum 2.75× the time of the fastest library (fully validating) twitter.json: 1,300 µs · insitu (copy) citm_catalog.json: 2,039 µs · insitu (copy) canada.json: 11,309 µs · S​AX jeopardy.json: 170,218 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="317" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="339.5" y="426" text-anchor="middle">2.75</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify, checking less 2.83× the time of the fastest fully validating library way: S​AX to Writer (no encoding check) twitter.json: 1,795 µs citm_catalog.json: 2,690 µs canada.json: 21,058 µs jeopardy.json: 281,208 µs trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it)">
|
||||
<rect class="nj-heat-3" x="639" y="369" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="384" text-anchor="middle">2.83</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="397" text-anchor="middle">U</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum, checking less 2.46× the time of the fastest fully validating library twitter.json: 1,141 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,680 µs · S​AX (no encoding check) canada.json: 10,991 µs · insitu (copy) (no encoding check) jeopardy.json: 155,049 µs · S​AX (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-2" x="363" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="384.5" y="420" text-anchor="middle">2.46</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="384.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · write 2.92× the time of the fastest library (fully validating) way: Writer twitter.json: 686 µs citm_catalog.json: 980 µs canada.json: 9,132 µs jeopardy.json: 132,234 µs">
|
||||
<rect class="nj-heat-3" x="685" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="390" text-anchor="middle">2.92</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select 3.40× the time of the fastest library (fully validating) way: insitu (copy) twitter.json: 1,261 µs citm_catalog.json: 1,893 µs canada.json: 10,263 µs jeopardy.json: 165,979 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="409" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="431.5" y="426" text-anchor="middle">3.40</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel nj-charts-name-json" x="216" y="426" text-anchor="end">nlohmann/json json</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · validate 3.06× the time of the fastest library (fully validating) way: accept twitter.json: 691 µs citm_catalog.json: 1,471 µs canada.json: 4,540 µs jeopardy.json: 76,340 µs">
|
||||
<rect class="nj-heat-3" x="225" y="405" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="426" text-anchor="middle">3.06</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select, checking less 3.23× the time of the fastest fully validating library twitter.json: 1,096 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,834 µs · insitu (copy) (no encoding check) canada.json: 10,263 µs · insitu (copy) (validates fully) jeopardy.json: 159,427 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="455" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="476.5" y="420" text-anchor="middle">3.23</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · sum 1.71× the time of the fastest library (fully validating) way: sax twitter.json: 807 µs citm_catalog.json: 1,802 µs canada.json: 5,884 µs jeopardy.json: 100,220 µs">
|
||||
<rect class="nj-heat-2" x="317" y="405" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="426" text-anchor="middle">1.71</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit 2.63× the time of the fastest library (fully validating) way: insitu (copy) twitter.json: 1,951 µs citm_catalog.json: 2,858 µs canada.json: 19,274 µs jeopardy.json: 288,710 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="501" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="523.5" y="426" text-anchor="middle">2.63</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · select 8.29× the time of the fastest library (fully validating) way: structs (from_json) twitter.json: 3,583 µs citm_catalog.json: 5,868 µs canada.json: 11,608 µs jeopardy.json: 646,498 µs">
|
||||
<rect class="nj-heat-4" x="409" y="405" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="426" text-anchor="middle">8.29</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit, checking less 2.55× the time of the fastest fully validating library way: insitu (copy) (no encoding check) twitter.json: 1,793 µs citm_catalog.json: 2,785 µs canada.json: 18,934 µs jeopardy.json: 288,194 µs trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="547" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="568.5" y="420" text-anchor="middle">2.55</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="568.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · edit 4.49× the time of the fastest library (fully validating) twitter.json: 3,103 µs · ordered_json citm_catalog.json: 5,437 µs · ordered_json canada.json: 15,614 µs · parse jeopardy.json: 910,653 µs · ordered_json">
|
||||
<rect class="nj-heat-3" x="501" y="405" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="426" text-anchor="middle">4.49</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify 3.42× the time of the fastest library (fully validating) twitter.json: 2,431 µs · S​AX to Writer citm_catalog.json: 2,815 µs · S​AX to Writer canada.json: 20,693 µs · Document + Writer jeopardy.json: 375,304 µs · S​AX to Writer">
|
||||
<rect class="nj-heat-3" x="593" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="426" text-anchor="middle">3.42</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · minify 5.20× the time of the fastest library (fully validating) way: parse + dump twitter.json: 4,219 µs citm_catalog.json: 6,864 µs canada.json: 15,620 µs jeopardy.json: 724,748 µs">
|
||||
<rect class="nj-heat-4" x="593" y="405" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="426" text-anchor="middle">5.20</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify, checking less 2.54× the time of the fastest fully validating library twitter.json: 1,730 µs · S​AX to Writer (no encoding check) citm_catalog.json: 2,395 µs · S​AX to Writer (no encoding check) canada.json: 14,118 µs · S​AX to Writer (raw numbers) (no encoding check) jeopardy.json: 274,873 µs · S​AX to Writer (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) copies each number's text instead of formatting it (kParseNumbersAsStringsFlag)">
|
||||
<rect class="nj-heat-3" x="639" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="420" text-anchor="middle">2.54</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="433" text-anchor="middle">U N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · write 1.83× the time of the fastest library (fully validating) way: dump twitter.json: 427 µs citm_catalog.json: 613 µs canada.json: 4,150 µs jeopardy.json: 113,965 µs">
|
||||
<rect class="nj-heat-2" x="685" y="405" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="426" text-anchor="middle">1.83</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · write 2.88× the time of the fastest library (fully validating) way: Writer twitter.json: 637 µs citm_catalog.json: 983 µs canada.json: 8,996 µs jeopardy.json: 130,099 µs">
|
||||
<rect class="nj-heat-3" x="685" y="405" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="426" text-anchor="middle">2.88</text>
|
||||
</g>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="8" y="472">time relative to the fastest fully validating library, less is better</text>
|
||||
<g><rect class="nj-heat-0" x="8" y="482" width="76" height="20" rx="3"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 46 KiB |
@@ -1,6 +1,6 @@
|
||||
<svg class="nj-fig nj-charts nj-charts--blog nj-charts--heat" viewBox="0 0 784 510" role="img" aria-labelledby="nj-blog-uc-x86-gcc13 nj-blog-uc-x86-gcc13-d" xmlns="http://www.w3.org/2000/svg">
|
||||
<title id="nj-blog-uc-x86-gcc13">Use cases: time of each library relative to the fastest, x86-64 with G​CC 13</title>
|
||||
<desc id="nj-blog-uc-x86-gcc13-d">Table of relative times, libraries by use case. nlohmann/json json_document validate: 1.00; nlohmann/json json_document sum: 1.10; nlohmann/json json_document select: 1.00; nlohmann/json json_document edit: 1.00; nlohmann/json json_document minify: 1.00; nlohmann/json json_document write: 1.00; yyjson validate: 2.16; yyjson sum: 1.43; yyjson select: 1.40; yyjson edit: 1.58; yyjson minify: 1.37; yyjson write: 1.09; sonic-cpp validate: no fully validating way (2.30 checking less, no U​TF-8); sonic-cpp sum: no fully validating way (1.31 checking less, no U​TF-8); sonic-cpp select: no fully validating way (1.49 checking less, no U​TF-8); sonic-cpp edit: no fully validating way (1.28 checking less, no U​TF-8); sonic-cpp minify: no fully validating way (1.36 checking less, no U​TF-8); sonic-cpp write: 1.51; simdjson validate: 2.03; simdjson sum: 1.00; simdjson select: 1.32 (0.56 checking less, partial); simdjson edit: n/a; simdjson minify: 1.59 (0.21 checking less, partial); simdjson write: 2.23; sonic-rs (Rust) validate: 1.85; sonic-rs (Rust) sum: 1.09; sonic-rs (Rust) select: 1.33; sonic-rs (Rust) edit: 1.97; sonic-rs (Rust) minify: 1.65; sonic-rs (Rust) write: 1.98; Boost.J​SON validate: 1.89; Boost.J​SON sum: 1.35; Boost.J​SON select: 2.22; Boost.J​SON edit: 2.55; Boost.J​SON minify: 2.70; Boost.J​SON write: 2.40; simd-json (Rust) validate: 3.44; simd-json (Rust) sum: 1.87; simd-json (Rust) select: 2.61; simd-json (Rust) edit: 3.10; simd-json (Rust) minify: 3.29; simd-json (Rust) write: 2.19; serde_json (Rust) validate: 2.30 (2.06 checking less, no U​TF-8); serde_json (Rust) sum: 2.28; serde_json (Rust) select: 1.73; serde_json (Rust) edit: 5.05; serde_json (Rust) minify: 5.01; serde_json (Rust) write: 2.14; Glaze validate: 2.18; Glaze sum: 4.44 (4.13 checking less, partial); Glaze select: 1.42 (0.59 checking less, partial); Glaze edit: 5.15; Glaze minify: 5.09 (0.72 checking less, partial); Glaze write: 1.76; nlohmann/json json validate: 2.74; nlohmann/json json sum: 1.74; nlohmann/json json select: 7.91; nlohmann/json json edit: 4.46; nlohmann/json json minify: 5.05; nlohmann/json json write: 1.85; RapidJSON validate: 6.28 (4.90 checking less, no U​TF-8); RapidJSON sum: 3.27 (2.60 checking less, no U​TF-8); RapidJSON select: 4.15 (3.42 checking less, no U​TF-8); RapidJSON edit: 3.17 (2.78 checking less, no U​TF-8); RapidJSON minify: 3.64 (2.85 checking less, no U​TF-8); RapidJSON write: 2.99.</desc>
|
||||
<desc id="nj-blog-uc-x86-gcc13-d">Table of relative times, libraries by use case. nlohmann/json json_document validate: 1.00; nlohmann/json json_document sum: 1.06; nlohmann/json json_document select: 1.00; nlohmann/json json_document edit: 1.00 (0.82 doing less, N); nlohmann/json json_document minify: 1.00 (0.80 doing less, N); nlohmann/json json_document write: 1.00 (0.68 doing less, N); yyjson validate: 2.13; yyjson sum: 1.47; yyjson select: 1.41; yyjson edit: 1.61; yyjson minify: 1.41 (1.06 doing less, N); yyjson write: 1.14; sonic-cpp validate: no fully validating way (2.30 doing less, U); sonic-cpp sum: no fully validating way (1.29 doing less, U); sonic-cpp select: no fully validating way (1.54 doing less, U); sonic-cpp edit: no fully validating way (1.27 doing less, U); sonic-cpp minify: no fully validating way (1.40 doing less, U); sonic-cpp write: 1.48; simdjson validate: 1.99; simdjson sum: 1.00; simdjson select: 1.33 (0.57 doing less, P); simdjson edit: n/a; simdjson minify: 1.64 (0.22 doing less, P); simdjson write: 2.20; sonic-rs (Rust) validate: 1.83; sonic-rs (Rust) sum: 1.14; sonic-rs (Rust) select: 1.36; sonic-rs (Rust) edit: 1.92; sonic-rs (Rust) minify: 1.76; sonic-rs (Rust) write: 2.03; Boost.J​SON validate: 1.91; Boost.J​SON sum: 1.33; Boost.J​SON select: 2.29; Boost.J​SON edit: 2.58; Boost.J​SON minify: 2.89; Boost.J​SON write: 2.51; simd-json (Rust) validate: 3.44; simd-json (Rust) sum: 1.93; simd-json (Rust) select: 2.59; simd-json (Rust) edit: 2.91; simd-json (Rust) minify: 3.45; simd-json (Rust) write: 2.31; serde_json (Rust) validate: 2.27 (2.03 doing less, U); serde_json (Rust) sum: 2.38; serde_json (Rust) select: 1.74; serde_json (Rust) edit: 4.59; serde_json (Rust) minify: 5.02; serde_json (Rust) write: 2.25; Glaze validate: 2.16; Glaze sum: 4.06; Glaze select: 1.41 (0.59 doing less, P); Glaze edit: 4.95; Glaze minify: 4.95 (0.71 doing less, P); Glaze write: 1.78; nlohmann/json json validate: 2.72; nlohmann/json json sum: 1.67; nlohmann/json json select: 7.23; nlohmann/json json edit: 3.87; nlohmann/json json minify: 4.68; nlohmann/json json write: 1.89; RapidJSON validate: 6.26 (4.90 doing less, U); RapidJSON sum: 3.19 (2.51 doing less, U); RapidJSON select: 4.10 (3.37 doing less, U); RapidJSON edit: 3.04 (2.70 doing less, U); RapidJSON minify: 3.67 (2.69 doing less, U N); RapidJSON write: 3.03.</desc>
|
||||
<text class="nj-charts-tick" x="270" y="34">validate</text>
|
||||
<text class="nj-charts-tick" x="362" y="34">sum</text>
|
||||
<text class="nj-charts-tick" x="454" y="34">select</text>
|
||||
@@ -8,339 +8,354 @@
|
||||
<text class="nj-charts-tick" x="638" y="34">minify</text>
|
||||
<text class="nj-charts-tick" x="730" y="34">write</text>
|
||||
<text class="nj-charts-rowlabel nj-charts-name-json" x="216" y="66" text-anchor="end">nlohmann/json json_document</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · validate 1.00× the time of the fastest library (fully validating) way: accept twitter.json: 268 µs citm_catalog.json: 577 µs canada.json: 968 µs jeopardy.json: 36,996 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · validate 1.00× the time of the fastest library (fully validating) way: accept twitter.json: 269 µs citm_catalog.json: 576 µs canada.json: 984 µs jeopardy.json: 34,383 µs">
|
||||
<rect class="nj-heat-0" x="225" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · sum 1.10× the time of the fastest library (fully validating) way: parse twitter.json: 411 µs citm_catalog.json: 1,034 µs canada.json: 3,808 µs jeopardy.json: 97,029 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · sum 1.06× the time of the fastest library (fully validating) way: parse twitter.json: 391 µs citm_catalog.json: 919 µs canada.json: 3,687 µs jeopardy.json: 83,751 µs">
|
||||
<rect class="nj-heat-0" x="317" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="66" text-anchor="middle">1.10</text>
|
||||
<text class="nj-charts-cell" x="362" y="66" text-anchor="middle">1.06</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · select 1.00× the time of the fastest library (fully validating) twitter.json: 347 µs · structs (from_json) citm_catalog.json: 826 µs · parse canada.json: 1,403 µs · structs (from_json) jeopardy.json: 92,440 µs · parse">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · select 1.00× the time of the fastest library (fully validating) way: parse twitter.json: 335 µs citm_catalog.json: 740 µs canada.json: 1,358 µs jeopardy.json: 94,846 µs">
|
||||
<rect class="nj-heat-0" x="409" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · edit 1.00× the time of the fastest library (fully validating) way: editable twitter.json: 559 µs citm_catalog.json: 1,123 µs canada.json: 5,741 µs jeopardy.json: 180,574 µs">
|
||||
<rect class="nj-heat-0" x="501" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="66" text-anchor="middle">1.00</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · edit 1.00× the time of the fastest library (fully validating) way: editable twitter.json: 534 µs citm_catalog.json: 1,091 µs canada.json: 5,634 µs jeopardy.json: 192,274 µs">
|
||||
<rect class="nj-heat-0" x="501" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="523.5" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · minify 1.00× the time of the fastest library (fully validating) way: parse + dump twitter.json: 504 µs citm_catalog.json: 1,127 µs canada.json: 5,555 µs jeopardy.json: 158,589 µs">
|
||||
<rect class="nj-heat-0" x="593" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="66" text-anchor="middle">1.00</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · edit, checking less 0.82× the time of the fastest fully validating library twitter.json: 534 µs · editable (validates fully) citm_catalog.json: 1,091 µs · editable (validates fully) canada.json: 2,606 µs · editable (source numbers) (validates fully) jeopardy.json: 192,274 µs · editable (validates fully) copies each number's text instead of formatting it (number_format::source)">
|
||||
<rect class="nj-heat-0" x="547" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="568.5" y="60" text-anchor="middle">0.82</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="568.5" y="73" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · write 1.00× the time of the fastest library (fully validating) way: dump twitter.json: 152 µs citm_catalog.json: 272 µs canada.json: 3,839 µs jeopardy.json: 72,604 µs">
|
||||
<rect class="nj-heat-0" x="685" y="45" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="66" text-anchor="middle">1.00</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · minify 1.00× the time of the fastest library (fully validating) way: parse + dump twitter.json: 485 µs citm_catalog.json: 1,004 µs canada.json: 5,260 µs jeopardy.json: 142,985 µs">
|
||||
<rect class="nj-heat-0" x="593" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · minify, checking less 0.80× the time of the fastest fully validating library way: parse + dump (source numbers) twitter.json: 484 µs (validates fully) citm_catalog.json: 990 µs (validates fully) canada.json: 2,236 µs (validates fully) jeopardy.json: 138,808 µs (validates fully) copies each number's text instead of formatting it (number_format::source)">
|
||||
<rect class="nj-heat-0" x="639" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="60" text-anchor="middle">0.80</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="73" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · write 1.00× the time of the fastest library (fully validating) way: dump twitter.json: 151 µs citm_catalog.json: 270 µs canada.json: 3,827 µs jeopardy.json: 66,099 µs">
|
||||
<rect class="nj-heat-0" x="685" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="707.5" y="66" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json_document · write, checking less 0.68× the time of the fastest fully validating library twitter.json: 148 µs · dump (source numbers) (validates fully) citm_catalog.json: 255 µs · dump (source numbers) (validates fully) canada.json: 870 µs · dump (source numbers) (validates fully) jeopardy.json: 66,099 µs · dump (validates fully) copies each number's text instead of formatting it (number_format::source)">
|
||||
<rect class="nj-heat-0" x="731" y="45" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="752.5" y="60" text-anchor="middle">0.68</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="752.5" y="73" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="102" text-anchor="end">yyjson</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · validate 2.16× the time of the fastest library (fully validating) twitter.json: 394 µs · read citm_catalog.json: 990 µs · read (raw numbers) canada.json: 2,224 µs · read (raw numbers) jeopardy.json: 137,955 µs · read (raw numbers)">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · validate 2.13× the time of the fastest library (fully validating) twitter.json: 392 µs · insitu (copy) citm_catalog.json: 991 µs · read (raw numbers) canada.json: 2,209 µs · read (raw numbers) jeopardy.json: 125,376 µs · read (raw numbers) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-2" x="225" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="102" text-anchor="middle">2.16</text>
|
||||
<text class="nj-charts-cell" x="270" y="102" text-anchor="middle">2.13</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · sum 1.43× the time of the fastest library (fully validating) twitter.json: 448 µs · insitu (copy) citm_catalog.json: 1,161 µs · read canada.json: 6,230 µs · insitu (copy) jeopardy.json: 137,830 µs · read (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · sum 1.47× the time of the fastest library (fully validating) twitter.json: 445 µs · insitu (copy) citm_catalog.json: 1,153 µs · read canada.json: 5,982 µs · read jeopardy.json: 132,844 µs · read (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="317" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="102" text-anchor="middle">1.43</text>
|
||||
<text class="nj-charts-cell" x="362" y="102" text-anchor="middle">1.47</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · select 1.40× the time of the fastest library (fully validating) twitter.json: 398 µs · insitu (copy) citm_catalog.json: 1,054 µs · read canada.json: 2,306 µs · read (raw numbers) jeopardy.json: 146,260 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · select 1.41× the time of the fastest library (fully validating) twitter.json: 399 µs · read citm_catalog.json: 996 µs · insitu (copy) canada.json: 2,221 µs · read (raw numbers) jeopardy.json: 142,096 µs · read (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="409" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="102" text-anchor="middle">1.40</text>
|
||||
<text class="nj-charts-cell" x="454" y="102" text-anchor="middle">1.41</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · edit 1.58× the time of the fastest library (fully validating) twitter.json: 811 µs · mut copy citm_catalog.json: 1,726 µs · mut copy canada.json: 9,875 µs · insitu (copy) + mut copy jeopardy.json: 296,846 µs · mut copy (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · edit 1.61× the time of the fastest library (fully validating) twitter.json: 806 µs · insitu (copy) + mut copy citm_catalog.json: 1,712 µs · mut copy canada.json: 9,794 µs · insitu (copy) + mut copy jeopardy.json: 314,081 µs · mut copy (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-2" x="501" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="102" text-anchor="middle">1.58</text>
|
||||
<text class="nj-charts-cell" x="546" y="102" text-anchor="middle">1.61</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · minify 1.37× the time of the fastest library (fully validating) twitter.json: 647 µs · insitu (copy) + write citm_catalog.json: 1,396 µs · read + write canada.json: 9,552 µs · insitu (copy) + write jeopardy.json: 204,215 µs · read + write (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="593" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="102" text-anchor="middle">1.37</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · minify 1.41× the time of the fastest library (fully validating) twitter.json: 633 µs · insitu (copy) + write citm_catalog.json: 1,327 µs · read + write canada.json: 8,944 µs · insitu (copy) + write jeopardy.json: 194,228 µs · insitu (copy) + write (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-1" x="593" y="81" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="102" text-anchor="middle">1.41</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · write 1.09× the time of the fastest library (fully validating) way: write twitter.json: 188 µs citm_catalog.json: 327 µs canada.json: 3,535 µs jeopardy.json: 74,169 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · minify, checking less 1.06× the time of the fastest fully validating library twitter.json: 633 µs · insitu (copy) + write (validates fully) citm_catalog.json: 1,268 µs · read (raw numbers) + write (validates fully) canada.json: 2,942 µs · read (raw numbers) + write (validates fully) jeopardy.json: 194,228 µs · insitu (copy) + write (validates fully) copies each number's text instead of formatting it (YYJSON_READ_NUMBER_AS_RAW) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-0" x="639" y="81" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="96" text-anchor="middle">1.06</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="109" text-anchor="middle">N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · write 1.14× the time of the fastest library (fully validating) way: write twitter.json: 205 µs citm_catalog.json: 334 µs canada.json: 3,525 µs jeopardy.json: 71,877 µs">
|
||||
<rect class="nj-heat-0" x="685" y="81" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="102" text-anchor="middle">1.09</text>
|
||||
<text class="nj-charts-cell" x="730" y="102" text-anchor="middle">1.14</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="138" text-anchor="end">sonic-cpp</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · validate, checking less 2.30× the time of the fastest fully validating library way: Document twitter.json: 408 µs citm_catalog.json: 1,044 µs canada.json: 3,641 µs jeopardy.json: 99,805 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · validate, checking less 2.30× the time of the fastest fully validating library way: Document twitter.json: 416 µs citm_catalog.json: 1,034 µs canada.json: 3,563 µs jeopardy.json: 95,396 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-2" x="225" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="132" text-anchor="middle">2.30</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="270" y="145" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · sum, checking less 1.31× the time of the fastest fully validating library way: Document twitter.json: 489 µs citm_catalog.json: 1,320 µs canada.json: 4,448 µs jeopardy.json: 108,214 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · sum, checking less 1.29× the time of the fastest fully validating library way: Document twitter.json: 462 µs citm_catalog.json: 1,211 µs canada.json: 4,178 µs jeopardy.json: 102,429 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-1" x="317" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="132" text-anchor="middle">1.31</text>
|
||||
<text class="nj-charts-cell" x="362" y="132" text-anchor="middle">1.29</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="362" y="145" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · select, checking less 1.49× the time of the fastest fully validating library way: Document twitter.json: 414 µs citm_catalog.json: 1,100 µs canada.json: 3,705 µs jeopardy.json: 108,534 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-1" x="409" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="132" text-anchor="middle">1.49</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · select, checking less 1.54× the time of the fastest fully validating library way: Document twitter.json: 415 µs citm_catalog.json: 1,040 µs canada.json: 3,708 µs jeopardy.json: 111,786 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-2" x="409" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="132" text-anchor="middle">1.54</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="454" y="145" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · edit, checking less 1.28× the time of the fastest fully validating library way: Document twitter.json: 654 µs citm_catalog.json: 1,617 µs canada.json: 8,704 µs jeopardy.json: 191,868 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · edit, checking less 1.27× the time of the fastest fully validating library way: Document twitter.json: 635 µs citm_catalog.json: 1,558 µs canada.json: 8,793 µs jeopardy.json: 186,661 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-1" x="501" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="132" text-anchor="middle">1.28</text>
|
||||
<text class="nj-charts-cell" x="546" y="132" text-anchor="middle">1.27</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="546" y="145" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · minify, checking less 1.36× the time of the fastest fully validating library way: Document + Serialize twitter.json: 648 µs citm_catalog.json: 1,654 µs canada.json: 9,043 µs jeopardy.json: 176,994 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · minify, checking less 1.40× the time of the fastest fully validating library way: Document + Serialize twitter.json: 648 µs citm_catalog.json: 1,551 µs canada.json: 8,646 µs jeopardy.json: 162,814 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||||
<rect class="nj-heat-1" x="593" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="132" text-anchor="middle">1.36</text>
|
||||
<text class="nj-charts-cell" x="638" y="132" text-anchor="middle">1.40</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="638" y="145" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · write 1.51× the time of the fastest library (fully validating) way: Serialize twitter.json: 279 µs citm_catalog.json: 538 µs canada.json: 5,132 µs jeopardy.json: 78,073 µs">
|
||||
<rect class="nj-heat-2" x="685" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="138" text-anchor="middle">1.51</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-cpp · write 1.48× the time of the fastest library (fully validating) way: Serialize twitter.json: 258 µs citm_catalog.json: 536 µs canada.json: 5,070 µs jeopardy.json: 71,191 µs">
|
||||
<rect class="nj-heat-1" x="685" y="117" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="138" text-anchor="middle">1.48</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="174" text-anchor="end">simdjson</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · validate 2.03× the time of the fastest library (fully validating) way: D​OM twitter.json: 314 µs citm_catalog.json: 755 µs canada.json: 3,203 µs jeopardy.json: 123,091 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · validate 1.99× the time of the fastest library (fully validating) way: D​OM twitter.json: 311 µs citm_catalog.json: 750 µs canada.json: 3,111 µs jeopardy.json: 114,707 µs">
|
||||
<rect class="nj-heat-2" x="225" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="174" text-anchor="middle">2.03</text>
|
||||
<text class="nj-charts-cell" x="270" y="174" text-anchor="middle">1.99</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · sum 1.00× the time of the fastest library (fully validating) way: On-Demand twitter.json: 360 µs citm_catalog.json: 869 µs canada.json: 3,514 µs jeopardy.json: 97,315 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · sum 1.00× the time of the fastest library (fully validating) way: On-Demand twitter.json: 356 µs citm_catalog.json: 811 µs canada.json: 3,330 µs jeopardy.json: 89,536 µs">
|
||||
<rect class="nj-heat-0" x="317" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="174" text-anchor="middle">1.00</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select 1.32× the time of the fastest library (fully validating) way: D​OM twitter.json: 324 µs citm_catalog.json: 781 µs canada.json: 3,418 µs jeopardy.json: 132,025 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select 1.33× the time of the fastest library (fully validating) way: D​OM twitter.json: 320 µs citm_catalog.json: 755 µs canada.json: 3,149 µs jeopardy.json: 129,932 µs">
|
||||
<rect class="nj-heat-1" x="409" y="153" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="431.5" y="174" text-anchor="middle">1.32</text>
|
||||
<text class="nj-charts-cell" x="431.5" y="174" text-anchor="middle">1.33</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select, checking less 0.56× the time of the fastest fully validating library twitter.json: 186 µs · On-Demand (key selectors) citm_catalog.json: 530 µs · On-Demand canada.json: 733 µs · On-Demand jeopardy.json: 49,766 µs · On-Demand (key selectors) reads lazily: On-Demand reads only what you ask for and steps over the rest by matching brackets">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select, checking less 0.57× the time of the fastest fully validating library twitter.json: 184 µs · On-Demand (key selectors) citm_catalog.json: 508 µs · On-Demand canada.json: 701 µs · On-Demand jeopardy.json: 51,763 µs · On-Demand (key selectors) reads lazily: On-Demand reads only what you ask for and steps over the rest by matching brackets">
|
||||
<rect class="nj-heat-0" x="455" y="153" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="476.5" y="168" text-anchor="middle">0.56</text>
|
||||
<text class="nj-charts-cell" x="476.5" y="168" text-anchor="middle">0.57</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="181" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · edit simdjson's documents are read-only: it has no A​PI to change a value and write the result">
|
||||
<rect class="nj-heat-na" x="501" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-tick" x="546" y="174">n/a</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify 1.59× the time of the fastest library (fully validating) way: D​OM + to_string twitter.json: 797 µs citm_catalog.json: 1,468 µs canada.json: 8,866 µs jeopardy.json: 306,970 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify 1.64× the time of the fastest library (fully validating) way: D​OM + to_string twitter.json: 795 µs citm_catalog.json: 1,396 µs canada.json: 8,342 µs jeopardy.json: 283,280 µs">
|
||||
<rect class="nj-heat-2" x="593" y="153" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="174" text-anchor="middle">1.59</text>
|
||||
<text class="nj-charts-cell" x="615.5" y="174" text-anchor="middle">1.64</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify, checking less 0.21× the time of the fastest fully validating library way: minify twitter.json: 127 µs citm_catalog.json: 343 µs canada.json: 502 µs jeopardy.json: 47,256 µs simdjson::minify() only removes whitespace, without parsing the values">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · minify, checking less 0.22× the time of the fastest fully validating library way: minify twitter.json: 123 µs citm_catalog.json: 336 µs canada.json: 423 µs jeopardy.json: 44,890 µs simdjson::minify() only removes whitespace, without parsing the values">
|
||||
<rect class="nj-heat-0" x="639" y="153" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="168" text-anchor="middle">0.21</text>
|
||||
<text class="nj-charts-cell" x="660.5" y="168" text-anchor="middle">0.22</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="181" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · write 2.23× the time of the fastest library (fully validating) way: to_string twitter.json: 461 µs citm_catalog.json: 622 µs canada.json: 5,222 µs jeopardy.json: 189,639 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · write 2.20× the time of the fastest library (fully validating) way: to_string twitter.json: 457 µs citm_catalog.json: 618 µs canada.json: 4,906 µs jeopardy.json: 175,750 µs">
|
||||
<rect class="nj-heat-2" x="685" y="153" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="174" text-anchor="middle">2.23</text>
|
||||
<text class="nj-charts-cell" x="730" y="174" text-anchor="middle">2.20</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="210" text-anchor="end">sonic-rs (Rust)</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · validate 1.85× the time of the fastest library (fully validating) way: IgnoredAny twitter.json: 482 µs citm_catalog.json: 969 µs canada.json: 2,489 µs jeopardy.json: 55,486 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · validate 1.83× the time of the fastest library (fully validating) way: IgnoredAny twitter.json: 501 µs citm_catalog.json: 970 µs canada.json: 2,249 µs jeopardy.json: 54,369 µs">
|
||||
<rect class="nj-heat-2" x="225" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="210" text-anchor="middle">1.85</text>
|
||||
<text class="nj-charts-cell" x="270" y="210" text-anchor="middle">1.83</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · sum 1.09× the time of the fastest library (fully validating) way: visitor twitter.json: 503 µs citm_catalog.json: 1,123 µs canada.json: 4,418 µs jeopardy.json: 59,993 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · sum 1.14× the time of the fastest library (fully validating) way: visitor twitter.json: 501 µs citm_catalog.json: 1,123 µs canada.json: 4,397 µs jeopardy.json: 59,583 µs">
|
||||
<rect class="nj-heat-0" x="317" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="210" text-anchor="middle">1.09</text>
|
||||
<text class="nj-charts-cell" x="362" y="210" text-anchor="middle">1.14</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · select 1.33× the time of the fastest library (fully validating) way: structs twitter.json: 538 µs citm_catalog.json: 1,028 µs canada.json: 2,283 µs jeopardy.json: 91,950 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · select 1.36× the time of the fastest library (fully validating) way: structs twitter.json: 504 µs citm_catalog.json: 1,033 µs canada.json: 2,328 µs jeopardy.json: 90,486 µs">
|
||||
<rect class="nj-heat-1" x="409" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="210" text-anchor="middle">1.33</text>
|
||||
<text class="nj-charts-cell" x="454" y="210" text-anchor="middle">1.36</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · edit 1.97× the time of the fastest library (fully validating) way: Value twitter.json: 1,201 µs citm_catalog.json: 2,416 µs canada.json: 7,958 µs jeopardy.json: 421,718 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · edit 1.92× the time of the fastest library (fully validating) way: Value twitter.json: 1,197 µs citm_catalog.json: 2,389 µs canada.json: 7,744 µs jeopardy.json: 390,952 µs">
|
||||
<rect class="nj-heat-2" x="501" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="210" text-anchor="middle">1.97</text>
|
||||
<text class="nj-charts-cell" x="546" y="210" text-anchor="middle">1.92</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · minify 1.65× the time of the fastest library (fully validating) way: Value twitter.json: 1,003 µs citm_catalog.json: 2,174 µs canada.json: 7,753 µs jeopardy.json: 217,354 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · minify 1.76× the time of the fastest library (fully validating) way: Value twitter.json: 1,000 µs citm_catalog.json: 2,097 µs canada.json: 7,795 µs jeopardy.json: 215,280 µs">
|
||||
<rect class="nj-heat-2" x="593" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="210" text-anchor="middle">1.65</text>
|
||||
<text class="nj-charts-cell" x="638" y="210" text-anchor="middle">1.76</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · write 1.98× the time of the fastest library (fully validating) way: Value twitter.json: 445 µs citm_catalog.json: 931 µs canada.json: 4,048 µs jeopardy.json: 104,487 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · write 2.03× the time of the fastest library (fully validating) way: Value twitter.json: 434 µs citm_catalog.json: 927 µs canada.json: 3,987 µs jeopardy.json: 109,176 µs">
|
||||
<rect class="nj-heat-2" x="685" y="189" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="210" text-anchor="middle">1.98</text>
|
||||
<text class="nj-charts-cell" x="730" y="210" text-anchor="middle">2.03</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="246" text-anchor="end">Boost.J​SON</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · validate 1.89× the time of the fastest library (fully validating) way: S​AX (numbers: none) twitter.json: 716 µs citm_catalog.json: 949 µs canada.json: 1,638 µs jeopardy.json: 63,909 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · validate 1.91× the time of the fastest library (fully validating) twitter.json: 723 µs · S​AX (numbers: none) citm_catalog.json: 933 µs · S​AX (numbers: none) canada.json: 1,674 µs · S​AX (numbers: none) jeopardy.json: 61,382 µs · S​AX">
|
||||
<rect class="nj-heat-2" x="225" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="246" text-anchor="middle">1.89</text>
|
||||
<text class="nj-charts-cell" x="270" y="246" text-anchor="middle">1.91</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · sum 1.35× the time of the fastest library (fully validating) way: S​AX twitter.json: 794 µs citm_catalog.json: 1,131 µs canada.json: 5,696 µs jeopardy.json: 69,348 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · sum 1.33× the time of the fastest library (fully validating) way: S​AX twitter.json: 736 µs citm_catalog.json: 1,018 µs canada.json: 5,847 µs jeopardy.json: 62,361 µs">
|
||||
<rect class="nj-heat-1" x="317" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="246" text-anchor="middle">1.35</text>
|
||||
<text class="nj-charts-cell" x="362" y="246" text-anchor="middle">1.33</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · select 2.22× the time of the fastest library (fully validating) twitter.json: 905 µs · parse_into structs citm_catalog.json: 1,325 µs · parse_into structs canada.json: 7,511 µs · parse jeopardy.json: 99,987 µs · parse_into structs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · select 2.29× the time of the fastest library (fully validating) way: parse_into structs twitter.json: 889 µs citm_catalog.json: 1,383 µs canada.json: 6,906 µs jeopardy.json: 102,896 µs">
|
||||
<rect class="nj-heat-2" x="409" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="246" text-anchor="middle">2.22</text>
|
||||
<text class="nj-charts-cell" x="454" y="246" text-anchor="middle">2.29</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · edit 2.55× the time of the fastest library (fully validating) way: parse twitter.json: 2,028 µs citm_catalog.json: 2,875 µs canada.json: 13,782 µs jeopardy.json: 342,712 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · edit 2.58× the time of the fastest library (fully validating) way: parse twitter.json: 1,921 µs citm_catalog.json: 2,957 µs canada.json: 13,679 µs jeopardy.json: 357,636 µs">
|
||||
<rect class="nj-heat-3" x="501" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="246" text-anchor="middle">2.55</text>
|
||||
<text class="nj-charts-cell" x="546" y="246" text-anchor="middle">2.58</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · minify 2.70× the time of the fastest library (fully validating) way: parse + serialize twitter.json: 1,948 µs citm_catalog.json: 3,011 µs canada.json: 14,314 µs jeopardy.json: 318,313 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · minify 2.89× the time of the fastest library (fully validating) way: parse + serialize twitter.json: 1,933 µs citm_catalog.json: 2,927 µs canada.json: 13,580 µs jeopardy.json: 333,217 µs">
|
||||
<rect class="nj-heat-3" x="593" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="246" text-anchor="middle">2.70</text>
|
||||
<text class="nj-charts-cell" x="638" y="246" text-anchor="middle">2.89</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · write 2.40× the time of the fastest library (fully validating) way: serialize twitter.json: 480 µs citm_catalog.json: 1,026 µs canada.json: 5,843 µs jeopardy.json: 132,662 µs">
|
||||
<rect class="nj-heat-2" x="685" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="246" text-anchor="middle">2.40</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · write 2.51× the time of the fastest library (fully validating) way: serialize twitter.json: 464 µs citm_catalog.json: 999 µs canada.json: 6,202 µs jeopardy.json: 142,516 µs">
|
||||
<rect class="nj-heat-3" x="685" y="225" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="246" text-anchor="middle">2.51</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="282" text-anchor="end">simd-json (Rust)</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · validate 3.44× the time of the fastest library (fully validating) way: tape (copy) twitter.json: 563 µs citm_catalog.json: 1,403 µs canada.json: 4,630 µs jeopardy.json: 212,467 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · validate 3.44× the time of the fastest library (fully validating) way: tape (copy) twitter.json: 567 µs citm_catalog.json: 1,430 µs canada.json: 4,359 µs jeopardy.json: 207,551 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="225" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="282" text-anchor="middle">3.44</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · sum 1.87× the time of the fastest library (fully validating) way: visitor (copy) twitter.json: 668 µs citm_catalog.json: 1,688 µs canada.json: 5,134 µs jeopardy.json: 224,411 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · sum 1.93× the time of the fastest library (fully validating) way: visitor (copy) twitter.json: 681 µs citm_catalog.json: 1,650 µs canada.json: 5,083 µs jeopardy.json: 210,185 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-2" x="317" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="282" text-anchor="middle">1.87</text>
|
||||
<text class="nj-charts-cell" x="362" y="282" text-anchor="middle">1.93</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · select 2.61× the time of the fastest library (fully validating) way: structs (copy) twitter.json: 740 µs citm_catalog.json: 1,802 µs canada.json: 4,997 µs jeopardy.json: 258,566 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · select 2.59× the time of the fastest library (fully validating) way: structs (copy) twitter.json: 679 µs citm_catalog.json: 1,731 µs canada.json: 5,144 µs jeopardy.json: 239,164 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="409" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="282" text-anchor="middle">2.61</text>
|
||||
<text class="nj-charts-cell" x="454" y="282" text-anchor="middle">2.59</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · edit 3.10× the time of the fastest library (fully validating) twitter.json: 1,924 µs · borrowed (copy) citm_catalog.json: 4,575 µs · borrowed (copy) canada.json: 15,746 µs · owned (copy) jeopardy.json: 435,817 µs · borrowed (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · edit 2.91× the time of the fastest library (fully validating) twitter.json: 1,862 µs · borrowed (copy) citm_catalog.json: 4,194 µs · borrowed (copy) canada.json: 14,896 µs · owned (copy) jeopardy.json: 391,369 µs · borrowed (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="501" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="282" text-anchor="middle">3.10</text>
|
||||
<text class="nj-charts-cell" x="546" y="282" text-anchor="middle">2.91</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · minify 3.29× the time of the fastest library (fully validating) way: borrowed (copy) twitter.json: 1,878 µs citm_catalog.json: 4,655 µs canada.json: 15,955 µs jeopardy.json: 419,412 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · minify 3.45× the time of the fastest library (fully validating) way: borrowed (copy) twitter.json: 1,889 µs citm_catalog.json: 4,196 µs canada.json: 15,716 µs jeopardy.json: 414,377 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="593" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="282" text-anchor="middle">3.29</text>
|
||||
<text class="nj-charts-cell" x="638" y="282" text-anchor="middle">3.45</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · write 2.19× the time of the fastest library (fully validating) way: borrowed twitter.json: 597 µs citm_catalog.json: 809 µs canada.json: 4,817 µs jeopardy.json: 114,245 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · write 2.31× the time of the fastest library (fully validating) way: borrowed twitter.json: 582 µs citm_catalog.json: 800 µs canada.json: 5,147 µs jeopardy.json: 122,623 µs">
|
||||
<rect class="nj-heat-2" x="685" y="261" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="282" text-anchor="middle">2.19</text>
|
||||
<text class="nj-charts-cell" x="730" y="282" text-anchor="middle">2.31</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="318" text-anchor="end">serde_json (Rust)</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate 2.30× the time of the fastest library (fully validating) way: from_utf8 + IgnoredAny twitter.json: 622 µs citm_catalog.json: 1,440 µs canada.json: 2,621 µs jeopardy.json: 65,602 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate 2.27× the time of the fastest library (fully validating) way: from_utf8 + IgnoredAny twitter.json: 624 µs citm_catalog.json: 1,440 µs canada.json: 2,406 µs jeopardy.json: 64,720 µs">
|
||||
<rect class="nj-heat-2" x="225" y="297" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="247.5" y="318" text-anchor="middle">2.30</text>
|
||||
<text class="nj-charts-cell" x="247.5" y="318" text-anchor="middle">2.27</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate, checking less 2.06× the time of the fastest fully validating library way: IgnoredAny twitter.json: 480 µs citm_catalog.json: 1,371 µs canada.json: 2,538 µs jeopardy.json: 60,154 µs trusts U​TF-8 in the strings it skips (from_slice); strings it reads are checked">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate, checking less 2.03× the time of the fastest fully validating library way: IgnoredAny twitter.json: 484 µs citm_catalog.json: 1,370 µs canada.json: 2,314 µs jeopardy.json: 58,247 µs trusts U​TF-8 in the strings it skips (from_slice); strings it reads are checked">
|
||||
<rect class="nj-heat-2" x="271" y="297" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="292.5" y="312" text-anchor="middle">2.06</text>
|
||||
<text class="nj-charts-cell" x="292.5" y="312" text-anchor="middle">2.03</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="292.5" y="325" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · sum 2.28× the time of the fastest library (fully validating) way: visitor twitter.json: 1,311 µs citm_catalog.json: 2,316 µs canada.json: 7,241 µs jeopardy.json: 130,249 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · sum 2.38× the time of the fastest library (fully validating) way: visitor twitter.json: 1,311 µs citm_catalog.json: 2,288 µs canada.json: 7,127 µs jeopardy.json: 129,497 µs">
|
||||
<rect class="nj-heat-2" x="317" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="318" text-anchor="middle">2.28</text>
|
||||
<text class="nj-charts-cell" x="362" y="318" text-anchor="middle">2.38</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · select 1.73× the time of the fastest library (fully validating) way: from_utf8 + structs twitter.json: 722 µs citm_catalog.json: 1,559 µs canada.json: 2,585 µs jeopardy.json: 114,701 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · select 1.74× the time of the fastest library (fully validating) way: from_utf8 + structs twitter.json: 701 µs citm_catalog.json: 1,532 µs canada.json: 2,529 µs jeopardy.json: 107,316 µs">
|
||||
<rect class="nj-heat-2" x="409" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="318" text-anchor="middle">1.73</text>
|
||||
<text class="nj-charts-cell" x="454" y="318" text-anchor="middle">1.74</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · edit 5.05× the time of the fastest library (fully validating) way: Value twitter.json: 4,036 µs citm_catalog.json: 7,181 µs canada.json: 17,371 µs jeopardy.json: 843,034 µs">
|
||||
<rect class="nj-heat-4" x="501" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="318" text-anchor="middle">5.05</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · edit 4.59× the time of the fastest library (fully validating) way: Value twitter.json: 4,042 µs citm_catalog.json: 6,586 µs canada.json: 16,631 µs jeopardy.json: 632,766 µs">
|
||||
<rect class="nj-heat-3" x="501" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="318" text-anchor="middle">4.59</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · minify 5.01× the time of the fastest library (fully validating) way: Value twitter.json: 4,220 µs citm_catalog.json: 6,876 µs canada.json: 17,276 µs jeopardy.json: 628,192 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · minify 5.02× the time of the fastest library (fully validating) way: Value twitter.json: 4,012 µs citm_catalog.json: 6,583 µs canada.json: 17,306 µs jeopardy.json: 509,702 µs">
|
||||
<rect class="nj-heat-4" x="593" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="318" text-anchor="middle">5.01</text>
|
||||
<text class="nj-charts-cell" x="638" y="318" text-anchor="middle">5.02</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · write 2.14× the time of the fastest library (fully validating) way: Value twitter.json: 560 µs citm_catalog.json: 848 µs canada.json: 3,964 µs jeopardy.json: 129,473 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · write 2.25× the time of the fastest library (fully validating) way: Value twitter.json: 550 µs citm_catalog.json: 887 µs canada.json: 4,005 µs jeopardy.json: 134,163 µs">
|
||||
<rect class="nj-heat-2" x="685" y="297" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="318" text-anchor="middle">2.14</text>
|
||||
<text class="nj-charts-cell" x="730" y="318" text-anchor="middle">2.25</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="354" text-anchor="end">Glaze</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · validate 2.18× the time of the fastest library (fully validating) way: validate_json twitter.json: 595 µs citm_catalog.json: 1,445 µs canada.json: 1,870 µs jeopardy.json: 77,940 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · validate 2.16× the time of the fastest library (fully validating) way: validate_json twitter.json: 592 µs citm_catalog.json: 1,417 µs canada.json: 1,868 µs jeopardy.json: 72,510 µs">
|
||||
<rect class="nj-heat-2" x="225" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="354" text-anchor="middle">2.18</text>
|
||||
<text class="nj-charts-cell" x="270" y="354" text-anchor="middle">2.16</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · sum 4.44× the time of the fastest library (fully validating) way: generic (double, strict) twitter.json: 2,416 µs citm_catalog.json: 4,521 µs canada.json: 12,148 µs jeopardy.json: 312,263 µs">
|
||||
<rect class="nj-heat-3" x="317" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="339.5" y="354" text-anchor="middle">4.44</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · sum 4.06× the time of the fastest library (fully validating) way: generic (double, strict) twitter.json: 2,350 µs citm_catalog.json: 4,048 µs canada.json: 10,485 µs jeopardy.json: 233,680 µs">
|
||||
<rect class="nj-heat-3" x="317" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="354" text-anchor="middle">4.06</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · sum, checking less 4.13× the time of the fastest fully validating library twitter.json: 2,416 µs · generic (double, strict) (validates fully) citm_catalog.json: 4,415 µs · generic (double) canada.json: 12,046 µs · generic (double) jeopardy.json: 241,145 µs · lazy_json accepts trailing garbage after the value: Glaze's default (validate_trailing_whitespace checks it) reads lazily: lazy_json reads only what you ask for and steps over the rest">
|
||||
<rect class="nj-heat-3" x="363" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="384.5" y="348" text-anchor="middle">4.13</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="384.5" y="361" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select 1.42× the time of the fastest library (fully validating) way: structs (validate_skipped) twitter.json: 525 µs citm_catalog.json: 1,534 µs canada.json: 1,926 µs jeopardy.json: 98,399 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select 1.41× the time of the fastest library (fully validating) way: structs (validate_skipped) twitter.json: 526 µs citm_catalog.json: 1,453 µs canada.json: 1,902 µs jeopardy.json: 87,166 µs">
|
||||
<rect class="nj-heat-1" x="409" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="431.5" y="354" text-anchor="middle">1.42</text>
|
||||
<text class="nj-charts-cell" x="431.5" y="354" text-anchor="middle">1.41</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select, checking less 0.59× the time of the fastest fully validating library way: structs twitter.json: 338 µs citm_catalog.json: 417 µs canada.json: 446 µs jeopardy.json: 72,947 µs reads into structs and steps over fields it doesn't know without checking them (validate_skipped checks them too)">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select, checking less 0.59× the time of the fastest fully validating library way: structs twitter.json: 341 µs citm_catalog.json: 405 µs canada.json: 432 µs jeopardy.json: 66,832 µs reads into structs and steps over fields it doesn't know without checking them (validate_skipped checks them too)">
|
||||
<rect class="nj-heat-0" x="455" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="476.5" y="348" text-anchor="middle">0.59</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="361" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · edit 5.15× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 3,707 µs citm_catalog.json: 6,528 µs canada.json: 23,959 µs jeopardy.json: 788,989 µs">
|
||||
<rect class="nj-heat-4" x="501" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="354" text-anchor="middle">5.15</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · edit 4.95× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 3,600 µs citm_catalog.json: 6,812 µs canada.json: 22,771 µs jeopardy.json: 676,289 µs">
|
||||
<rect class="nj-heat-3" x="501" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="354" text-anchor="middle">4.95</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify 5.09× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 3,637 µs citm_catalog.json: 6,974 µs canada.json: 24,962 µs jeopardy.json: 528,359 µs">
|
||||
<rect class="nj-heat-4" x="593" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="354" text-anchor="middle">5.09</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify 4.95× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 3,324 µs citm_catalog.json: 6,164 µs canada.json: 22,576 µs jeopardy.json: 476,579 µs">
|
||||
<rect class="nj-heat-3" x="593" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="354" text-anchor="middle">4.95</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify, checking less 0.72× the time of the fastest fully validating library way: minify_json twitter.json: 425 µs citm_catalog.json: 1,210 µs canada.json: 2,654 µs jeopardy.json: 98,485 µs minify_json only removes whitespace, without parsing the values">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify, checking less 0.71× the time of the fastest fully validating library way: minify_json twitter.json: 419 µs citm_catalog.json: 1,112 µs canada.json: 2,095 µs jeopardy.json: 96,282 µs minify_json only removes whitespace, without parsing the values">
|
||||
<rect class="nj-heat-0" x="639" y="333" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="348" text-anchor="middle">0.72</text>
|
||||
<text class="nj-charts-cell" x="660.5" y="348" text-anchor="middle">0.71</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="361" text-anchor="middle">P</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · write 1.76× the time of the fastest library (fully validating) way: generic twitter.json: 340 µs citm_catalog.json: 663 µs canada.json: 3,669 µs jeopardy.json: 133,954 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · write 1.78× the time of the fastest library (fully validating) twitter.json: 332 µs · generic citm_catalog.json: 655 µs · generic canada.json: 3,676 µs · generic (strict) jeopardy.json: 128,044 µs · generic">
|
||||
<rect class="nj-heat-2" x="685" y="333" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="354" text-anchor="middle">1.76</text>
|
||||
<text class="nj-charts-cell" x="730" y="354" text-anchor="middle">1.78</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel nj-charts-name-json" x="216" y="390" text-anchor="end">nlohmann/json json</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · validate 2.74× the time of the fastest library (fully validating) way: accept twitter.json: 659 µs citm_catalog.json: 1,360 µs canada.json: 4,533 µs jeopardy.json: 76,432 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · validate 2.72× the time of the fastest library (fully validating) way: accept twitter.json: 698 µs citm_catalog.json: 1,299 µs canada.json: 4,370 µs jeopardy.json: 72,856 µs">
|
||||
<rect class="nj-heat-3" x="225" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="270" y="390" text-anchor="middle">2.74</text>
|
||||
<text class="nj-charts-cell" x="270" y="390" text-anchor="middle">2.72</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · sum 1.74× the time of the fastest library (fully validating) way: sax twitter.json: 822 µs citm_catalog.json: 1,849 µs canada.json: 6,124 µs jeopardy.json: 106,310 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · sum 1.67× the time of the fastest library (fully validating) way: sax twitter.json: 792 µs citm_catalog.json: 1,545 µs canada.json: 5,697 µs jeopardy.json: 95,144 µs">
|
||||
<rect class="nj-heat-2" x="317" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="362" y="390" text-anchor="middle">1.74</text>
|
||||
<text class="nj-charts-cell" x="362" y="390" text-anchor="middle">1.67</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · select 7.91× the time of the fastest library (fully validating) twitter.json: 3,260 µs · structs (from_json) citm_catalog.json: 5,881 µs · structs (from_json) canada.json: 12,046 µs · parse jeopardy.json: 630,235 µs · parse">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · select 7.23× the time of the fastest library (fully validating) twitter.json: 3,323 µs · parse citm_catalog.json: 5,055 µs · parse canada.json: 12,002 µs · structs (from_json) jeopardy.json: 432,006 µs · parse">
|
||||
<rect class="nj-heat-4" x="409" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="454" y="390" text-anchor="middle">7.91</text>
|
||||
<text class="nj-charts-cell" x="454" y="390" text-anchor="middle">7.23</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · edit 4.46× the time of the fastest library (fully validating) twitter.json: 3,191 µs · ordered_json citm_catalog.json: 5,392 µs · ordered_json canada.json: 16,314 µs · parse jeopardy.json: 915,203 µs · ordered_json">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · edit 3.87× the time of the fastest library (fully validating) way: ordered_json twitter.json: 2,840 µs citm_catalog.json: 4,985 µs canada.json: 15,317 µs jeopardy.json: 649,500 µs">
|
||||
<rect class="nj-heat-3" x="501" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="546" y="390" text-anchor="middle">4.46</text>
|
||||
<text class="nj-charts-cell" x="546" y="390" text-anchor="middle">3.87</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · minify 5.05× the time of the fastest library (fully validating) way: parse + dump twitter.json: 3,842 µs citm_catalog.json: 6,640 µs canada.json: 16,883 µs jeopardy.json: 753,123 µs">
|
||||
<rect class="nj-heat-4" x="593" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="390" text-anchor="middle">5.05</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · minify 4.68× the time of the fastest library (fully validating) way: parse + dump twitter.json: 3,753 µs citm_catalog.json: 5,669 µs canada.json: 15,647 µs jeopardy.json: 527,354 µs">
|
||||
<rect class="nj-heat-3" x="593" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="638" y="390" text-anchor="middle">4.68</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · write 1.85× the time of the fastest library (fully validating) way: dump twitter.json: 435 µs citm_catalog.json: 622 µs canada.json: 4,021 µs jeopardy.json: 124,517 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · write 1.89× the time of the fastest library (fully validating) way: dump twitter.json: 437 µs citm_catalog.json: 631 µs canada.json: 4,027 µs jeopardy.json: 119,028 µs">
|
||||
<rect class="nj-heat-2" x="685" y="369" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="390" text-anchor="middle">1.85</text>
|
||||
<text class="nj-charts-cell" x="730" y="390" text-anchor="middle">1.89</text>
|
||||
</g>
|
||||
<text class="nj-charts-rowlabel " x="216" y="426" text-anchor="end">RapidJSON</text>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate 6.28× the time of the fastest library (fully validating) twitter.json: 1,606 µs · insitu (copy) citm_catalog.json: 2,315 µs · S​AX canada.json: 10,370 µs · S​AX (raw numbers) jeopardy.json: 223,678 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate 6.26× the time of the fastest library (fully validating) twitter.json: 1,694 µs · insitu (copy) citm_catalog.json: 2,222 µs · insitu (copy) canada.json: 10,357 µs · S​AX (raw numbers) jeopardy.json: 207,460 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-4" x="225" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="247.5" y="426" text-anchor="middle">6.28</text>
|
||||
<text class="nj-charts-cell" x="247.5" y="426" text-anchor="middle">6.26</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate, checking less 4.90× the time of the fastest fully validating library twitter.json: 1,133 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,678 µs · S​AX (no encoding check) canada.json: 10,350 µs · S​AX (raw numbers) (no encoding check) jeopardy.json: 162,310 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate, checking less 4.90× the time of the fastest fully validating library twitter.json: 1,126 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,695 µs · S​AX (no encoding check) canada.json: 10,357 µs · S​AX (raw numbers) (validates fully) jeopardy.json: 153,062 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="271" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="292.5" y="420" text-anchor="middle">4.90</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="292.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum 3.27× the time of the fastest library (fully validating) twitter.json: 1,768 µs · insitu (copy) citm_catalog.json: 2,476 µs · S​AX canada.json: 12,444 µs · S​AX jeopardy.json: 223,612 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum 3.19× the time of the fastest library (fully validating) twitter.json: 1,647 µs · insitu (copy) citm_catalog.json: 2,326 µs · S​AX canada.json: 10,949 µs · S​AX jeopardy.json: 212,747 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="317" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="339.5" y="426" text-anchor="middle">3.27</text>
|
||||
<text class="nj-charts-cell" x="339.5" y="426" text-anchor="middle">3.19</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum, checking less 2.60× the time of the fastest fully validating library twitter.json: 1,283 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,910 µs · S​AX (no encoding check) canada.json: 12,444 µs · S​AX (validates fully) jeopardy.json: 160,781 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum, checking less 2.51× the time of the fastest fully validating library twitter.json: 1,169 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,739 µs · S​AX (no encoding check) canada.json: 10,825 µs · S​AX (no encoding check) jeopardy.json: 156,639 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="363" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="384.5" y="420" text-anchor="middle">2.60</text>
|
||||
<text class="nj-charts-cell" x="384.5" y="420" text-anchor="middle">2.51</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="384.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select 4.15× the time of the fastest library (fully validating) twitter.json: 1,614 µs · insitu (copy) citm_catalog.json: 2,467 µs · insitu (copy) canada.json: 11,973 µs · Document jeopardy.json: 231,174 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select 4.10× the time of the fastest library (fully validating) way: insitu (copy) twitter.json: 1,601 µs citm_catalog.json: 2,216 µs canada.json: 11,491 µs jeopardy.json: 221,481 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="409" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="431.5" y="426" text-anchor="middle">4.15</text>
|
||||
<text class="nj-charts-cell" x="431.5" y="426" text-anchor="middle">4.10</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select, checking less 3.42× the time of the fastest fully validating library twitter.json: 1,135 µs · insitu (copy) (no encoding check) citm_catalog.json: 2,120 µs · Document (no encoding check) canada.json: 11,973 µs · Document (validates fully) jeopardy.json: 176,105 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select, checking less 3.37× the time of the fastest fully validating library twitter.json: 1,117 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,920 µs · Document (no encoding check) canada.json: 11,482 µs · insitu (copy) (no encoding check) jeopardy.json: 166,715 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="455" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="476.5" y="420" text-anchor="middle">3.42</text>
|
||||
<text class="nj-charts-cell" x="476.5" y="420" text-anchor="middle">3.37</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit 3.17× the time of the fastest library (fully validating) twitter.json: 2,508 µs · insitu (copy) citm_catalog.json: 3,342 µs · insitu (copy) canada.json: 21,057 µs · Document jeopardy.json: 372,662 µs · insitu (copy) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit 3.04× the time of the fastest library (fully validating) way: insitu (copy) twitter.json: 2,334 µs citm_catalog.json: 3,188 µs canada.json: 20,424 µs jeopardy.json: 354,478 µs (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="501" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="523.5" y="426" text-anchor="middle">3.17</text>
|
||||
<text class="nj-charts-cell" x="523.5" y="426" text-anchor="middle">3.04</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit, checking less 2.78× the time of the fastest fully validating library twitter.json: 1,956 µs · insitu (copy) (no encoding check) citm_catalog.json: 3,004 µs · Document (no encoding check) canada.json: 21,057 µs · Document (validates fully) jeopardy.json: 316,448 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit, checking less 2.70× the time of the fastest fully validating library twitter.json: 1,892 µs · insitu (copy) (no encoding check) citm_catalog.json: 2,898 µs · Document (no encoding check) canada.json: 20,424 µs · insitu (copy) (validates fully) jeopardy.json: 297,773 µs · insitu (copy) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) (copy): parses in place, on a copy of the input that is part of the time">
|
||||
<rect class="nj-heat-3" x="547" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="568.5" y="420" text-anchor="middle">2.78</text>
|
||||
<text class="nj-charts-cell" x="568.5" y="420" text-anchor="middle">2.70</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="568.5" y="433" text-anchor="middle">U</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify 3.64× the time of the fastest library (fully validating) twitter.json: 2,812 µs · S​AX to Writer citm_catalog.json: 3,360 µs · S​AX to Writer canada.json: 21,929 µs · Document + Writer jeopardy.json: 425,370 µs · S​AX to Writer">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify 3.67× the time of the fastest library (fully validating) twitter.json: 2,716 µs · S​AX to Writer citm_catalog.json: 3,082 µs · S​AX to Writer canada.json: 20,610 µs · Document + Writer jeopardy.json: 386,778 µs · S​AX to Writer">
|
||||
<rect class="nj-heat-3" x="593" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="615.5" y="426" text-anchor="middle">3.64</text>
|
||||
<text class="nj-charts-cell" x="615.5" y="426" text-anchor="middle">3.67</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify, checking less 2.85× the time of the fastest fully validating library twitter.json: 1,897 µs · S​AX to Writer (no encoding check) citm_catalog.json: 2,725 µs · S​AX to Writer (no encoding check) canada.json: 21,929 µs · Document + Writer (validates fully) jeopardy.json: 291,382 µs · S​AX to Writer (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it)">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify, checking less 2.69× the time of the fastest fully validating library twitter.json: 1,837 µs · S​AX to Writer (no encoding check) citm_catalog.json: 2,508 µs · S​AX to Writer (no encoding check) canada.json: 14,998 µs · S​AX to Writer (raw numbers) (no encoding check) jeopardy.json: 277,974 µs · S​AX to Writer (raw numbers) (no encoding check) trusts U​TF-8: RapidJSON's default (kParseValidateEncodingFlag checks it) copies each number's text instead of formatting it (kParseNumbersAsStringsFlag)">
|
||||
<rect class="nj-heat-3" x="639" y="405" width="44" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="660.5" y="420" text-anchor="middle">2.85</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="433" text-anchor="middle">U</text>
|
||||
<text class="nj-charts-cell" x="660.5" y="420" text-anchor="middle">2.69</text>
|
||||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="433" text-anchor="middle">U N</text>
|
||||
</g>
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · write 2.99× the time of the fastest library (fully validating) way: Writer twitter.json: 694 µs citm_catalog.json: 1,018 µs canada.json: 8,831 µs jeopardy.json: 148,079 µs">
|
||||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · write 3.03× the time of the fastest library (fully validating) way: Writer twitter.json: 669 µs citm_catalog.json: 1,025 µs canada.json: 9,078 µs jeopardy.json: 140,116 µs">
|
||||
<rect class="nj-heat-3" x="685" y="405" width="90" height="34" rx="3"/>
|
||||
<text class="nj-charts-cell" x="730" y="426" text-anchor="middle">2.99</text>
|
||||
<text class="nj-charts-cell" x="730" y="426" text-anchor="middle">3.03</text>
|
||||
</g>
|
||||
<text class="nj-charts-tick nj-charts-tick--l" x="8" y="472">time relative to the fastest fully validating library, less is better</text>
|
||||
<g><rect class="nj-heat-0" x="8" y="482" width="76" height="20" rx="3"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 45 KiB |
@@ -1,183 +1,183 @@
|
||||
benchmark,unit,3.12.0,3.13.0,speedup
|
||||
Accept/canada,ns,1.26911e+07,2.31896e+06,5.473
|
||||
Accept/citm_catalog,ns,6.38348e+06,907300,7.036
|
||||
Accept/floats,ns,1.13021e+08,2.2302e+07,5.068
|
||||
Accept/jeopardy,ns,2.18859e+08,5.74875e+07,3.807
|
||||
Accept/signed_ints,ns,1.15082e+08,2.76628e+07,4.160
|
||||
Accept/small_signed_ints,ns,5.58745e+07,1.76566e+07,3.165
|
||||
Accept/twitter,ns,2.45895e+06,474623,5.181
|
||||
Accept/unsigned_ints,ns,1.13737e+08,2.91215e+07,3.906
|
||||
BinaryToCbor/1024,ns,303.306,101.854,2.978
|
||||
BinaryToCbor/128,ns,247.228,115.274,2.145
|
||||
BinaryToCbor/16,ns,239.518,48.6796,4.920
|
||||
BinaryToCbor/16384,ns,949.458,408.254,2.326
|
||||
BinaryToCbor/2048,ns,320.309,119.299,2.685
|
||||
BinaryToCbor/256,ns,265.095,88.0809,3.010
|
||||
BinaryToCbor/32,ns,249.054,48.4924,5.136
|
||||
BinaryToCbor/32768,ns,1533.16,801.01,1.914
|
||||
BinaryToCbor/4096,ns,412.14,169.413,2.433
|
||||
BinaryToCbor/512,ns,289.358,97.2851,2.974
|
||||
BinaryToCbor/64,ns,249.278,83.8812,2.972
|
||||
BinaryToCbor/8,ns,242.904,48.4594,5.013
|
||||
BinaryToCbor/8192,ns,511.492,247.585,2.066
|
||||
Copy/canada,ns,3.65404e+06,2.86994e+06,1.273
|
||||
Copy/citm_catalog,ns,1.62077e+06,1.45859e+06,1.111
|
||||
Copy/twitter,ns,799004,725731,1.101
|
||||
CopyAssign/canada,ns,3.66694e+06,2.88365e+06,1.272
|
||||
CopyAssign/citm_catalog,ns,1.65324e+06,1.49021e+06,1.109
|
||||
CopyAssign/twitter,ns,807988,738979,1.093
|
||||
CopyOnly/canada,ns,1.51887e+06,1.50295e+06,1.011
|
||||
CopyOnly/citm_catalog,ns,743278,781882,0.951
|
||||
CopyOnly/twitter,ns,400238,403229,0.993
|
||||
CopyRing/canada,ns,3.68209e+06,2.88747e+06,1.275
|
||||
CopyRing/citm_catalog,ns,1.68855e+06,1.51116e+06,1.117
|
||||
CopyRing/twitter,ns,849612,769730,1.104
|
||||
DestroyOnly/canada,ns,2.12854e+06,1.37108e+06,1.552
|
||||
DestroyOnly/citm_catalog,ns,875707,674090,1.299
|
||||
DestroyOnly/twitter,ns,401328,322604,1.244
|
||||
Diff/canada,ns,3.81123e+07,3.68674e+06,10.338
|
||||
Diff/citm_catalog,ns,6.77551e+06,1.06847e+06,6.341
|
||||
Diff/twitter,ns,4.82656e+06,639150,7.552
|
||||
Dump/canada / -,ns,6.6893e+06,2.28575e+06,2.927
|
||||
Dump/canada / 4,ns,8.91301e+06,3.0094e+06,2.962
|
||||
Dump/citm_catalog / -,ns,1.38998e+06,291064,4.776
|
||||
Dump/citm_catalog / 4,ns,1.92209e+06,414843,4.633
|
||||
Dump/floats / -,ns,6.31567e+07,2.35913e+07,2.677
|
||||
Dump/floats / 4,ns,7.1106e+07,2.44198e+07,2.912
|
||||
Dump/jeopardy / -,ns,2.03467e+08,3.07362e+07,6.620
|
||||
Dump/jeopardy / 4,ns,2.18712e+08,3.4619e+07,6.318
|
||||
Dump/signed_ints / -,ns,2.37468e+07,1.06034e+07,2.240
|
||||
Dump/signed_ints / 4,ns,3.1988e+07,1.12253e+07,2.850
|
||||
Dump/small_signed_ints / -,ns,1.7782e+07,7.91902e+06,2.245
|
||||
Dump/small_signed_ints / 4,ns,2.4964e+07,8.76268e+06,2.849
|
||||
Dump/twitter / -,ns,1.39069e+06,208747,6.662
|
||||
Dump/twitter / 4,ns,1.58219e+06,246027,6.431
|
||||
Dump/unsigned_ints / -,ns,2.36168e+07,7.99718e+06,2.953
|
||||
Dump/unsigned_ints / 4,ns,3.19304e+07,8.41574e+06,3.794
|
||||
Equal/canada,ns,454099,336428,1.350
|
||||
Equal/citm_catalog,ns,265088,254849,1.040
|
||||
Equal/twitter,ns,140412,127744,1.099
|
||||
Flatten/canada,ns,2.8443e+07,1.1054e+07,2.573
|
||||
Flatten/citm_catalog,ns,6.37309e+06,3.00071e+06,2.124
|
||||
Flatten/twitter,ns,3.47895e+06,2.04063e+06,1.705
|
||||
FlattenOrdered/citm_catalog,ns,2.51402e+08,1.38824e+06,181.094
|
||||
FlattenOrdered/twitter,ns,4.89453e+07,860119,56.905
|
||||
FromBinaryBuffer/bjdata / canada,ns,8.21979e+06,4.07412e+06,2.018
|
||||
FromBinaryBuffer/bjdata / twitter,ns,3.11089e+06,957789,3.248
|
||||
FromBinaryBuffer/bjdata_optimized / canada,ns,8.68489e+06,2.39853e+06,3.621
|
||||
FromBinaryBuffer/bjdata_optimized / twitter,ns,3.11963e+06,952143,3.276
|
||||
FromBinaryBuffer/bson / canada,ns,9.42574e+06,4.20336e+06,2.242
|
||||
FromBinaryBuffer/bson / citm_catalog,ns,3.86254e+06,1.56165e+06,2.473
|
||||
FromBinaryBuffer/bson / twitter,ns,3.0653e+06,923900,3.318
|
||||
FromBinaryBuffer/cbor / canada,ns,8.3425e+06,2.06207e+06,4.046
|
||||
FromBinaryBuffer/cbor / citm_catalog,ns,3.68456e+06,1.43886e+06,2.561
|
||||
FromBinaryBuffer/cbor / floats,ns,2.89541e+07,5.43061e+06,5.332
|
||||
FromBinaryBuffer/cbor / jeopardy,ns,3.5724e+08,1.12871e+08,3.165
|
||||
FromBinaryBuffer/cbor / signed_ints,ns,3.56166e+07,9.68737e+06,3.677
|
||||
FromBinaryBuffer/cbor / twitter,ns,3.03558e+06,953772,3.183
|
||||
FromBinaryBuffer/msgpack / canada,ns,8.3272e+06,2.06449e+06,4.034
|
||||
FromBinaryBuffer/msgpack / citm_catalog,ns,3.68401e+06,1.41095e+06,2.611
|
||||
FromBinaryBuffer/msgpack / jeopardy,ns,3.54505e+08,1.09031e+08,3.251
|
||||
FromBinaryBuffer/msgpack / twitter,ns,3.02687e+06,934627,3.239
|
||||
FromBinaryBuffer/ubjson / canada,ns,8.23819e+06,4.08039e+06,2.019
|
||||
FromBinaryBuffer/ubjson / citm_catalog,ns,3.81107e+06,1.72436e+06,2.210
|
||||
FromBinaryBuffer/ubjson / jeopardy,ns,3.64419e+08,1.13389e+08,3.214
|
||||
FromBinaryBuffer/ubjson / twitter,ns,3.1103e+06,957344,3.249
|
||||
FromBinaryBuffer/ubjson_optimized / canada,ns,8.48001e+06,2.36934e+06,3.579
|
||||
FromBinaryBuffer/ubjson_optimized / twitter,ns,3.10764e+06,952334,3.263
|
||||
FromBinaryFile/bjdata / twitter,ns,1.03821e+07,1.90031e+06,5.463
|
||||
FromBinaryFile/bson / twitter,ns,1.01272e+07,1.80218e+06,5.619
|
||||
FromBinaryFile/cbor / canada,ns,1.41591e+07,4.41088e+06,3.210
|
||||
FromBinaryFile/cbor / twitter,ns,9.81686e+06,1.53188e+06,6.408
|
||||
FromBinaryFile/ubjson / canada,ns,1.36558e+07,6.313e+06,2.163
|
||||
FromBinaryFile/ubjson / twitter,ns,1.03653e+07,1.90283e+06,5.447
|
||||
FromBinaryShape/containers / bjdata,ns,1.41661e+07,7.16958e+06,1.976
|
||||
FromBinaryShape/containers / bson,ns,1.69957e+07,7.73162e+06,2.198
|
||||
FromBinaryShape/containers / cbor,ns,1.37448e+07,3.88944e+06,3.534
|
||||
FromBinaryShape/containers / msgpack,ns,1.36707e+07,3.84073e+06,3.559
|
||||
FromBinaryShape/containers / ubjson,ns,1.41846e+07,7.17314e+06,1.977
|
||||
FromBinaryShape/containers / ubjson_optimized,ns,1.47508e+07,4.4236e+06,3.335
|
||||
FromBinaryShape/nested / bjdata,ns,93440.7,37989.3,2.460
|
||||
FromBinaryShape/nested / bson,ns,99835.8,42028.7,2.375
|
||||
FromBinaryShape/nested / cbor,ns,92913.6,35141.4,2.644
|
||||
FromBinaryShape/nested / msgpack,ns,90678.9,34607.5,2.620
|
||||
FromBinaryShape/nested / ubjson,ns,93863.6,38056.3,2.466
|
||||
FromBinaryShape/scalars / bjdata,ns,2.44312e+07,1.13593e+07,2.151
|
||||
FromBinaryShape/scalars / cbor,ns,2.54479e+07,5.6307e+06,4.519
|
||||
FromBinaryShape/scalars / msgpack,ns,2.42975e+07,5.5278e+06,4.396
|
||||
FromBinaryShape/scalars / ubjson,ns,2.46773e+07,1.14308e+07,2.159
|
||||
FromCborChunkedString/10000 chunks,ns,89835.8,81350.8,1.104
|
||||
FromMsgpack/canada,ns,1.41497e+07,4.42303e+06,3.199
|
||||
FromMsgpack/citm_catalog,ns,8.88096e+06,2.25194e+06,3.944
|
||||
FromMsgpack/floats,ns,5.92552e+07,2.76614e+07,2.142
|
||||
FromMsgpack/jeopardy,ns,1.13309e+09,1.82341e+08,6.214
|
||||
FromMsgpack/signed_ints,ns,6.22313e+07,3.28285e+07,1.896
|
||||
FromMsgpack/small_signed_ints,ns,6.26259e+07,3.37353e+07,1.856
|
||||
FromMsgpack/twitter,ns,9.78102e+06,1.47267e+06,6.642
|
||||
FromMsgpack/unsigned_ints,ns,5.55099e+07,2.76571e+07,2.007
|
||||
"GetArray<std::array<int, 1000>>",ns,2231.77,639.734,3.489
|
||||
GetArray<std::deque<int>>,ns,8132.06,1161.87,6.999
|
||||
GetArray<std::set<int>>,ns,58400.5,41782.2,1.398
|
||||
GetArray<std::vector<int>>,ns,6658.53,666.403,9.992
|
||||
GetMap/citm_catalog,ns,3.41376e+06,2.3993e+06,1.423
|
||||
GetVectorDouble/floats,ns,6.68224e+06,642457,10.401
|
||||
GetVectorInt/signed_ints,ns,8.0387e+06,3.34843e+06,2.401
|
||||
Iterate/canada,ns,868241,320718,2.707
|
||||
Iterate/citm_catalog,ns,298022,167702,1.777
|
||||
Iterate/twitter,ns,87014.5,62127.2,1.401
|
||||
JsonPointerAt/citm_catalog,ns,1.82891e+06,1.14298e+06,1.600
|
||||
JsonPointerAt/twitter,ns,787985,594251,1.326
|
||||
JsonPointerContains/citm_catalog,ns,2.71277e+06,1.23364e+06,2.199
|
||||
JsonPointerContains/twitter,ns,1.29352e+06,608656,2.125
|
||||
JsonPointerParse/citm_catalog,ns,5.67308e+06,2.17151e+06,2.613
|
||||
JsonPointerParse/twitter,ns,2.41421e+06,1.00071e+06,2.413
|
||||
JsonPointerToString/citm_catalog,ns,6.62468e+06,1.87578e+06,3.532
|
||||
JsonPointerToString/twitter,ns,2.1792e+06,806356,2.703
|
||||
ParseFILE/canada,ns,5.23333e+07,1.38865e+07,3.769
|
||||
ParseFILE/citm_catalog,ns,3.4642e+07,7.34915e+06,4.714
|
||||
ParseFILE/twitter,ns,1.35777e+07,3.3065e+06,4.106
|
||||
ParseFile/canada,ns,1.74258e+07,6.136e+06,2.840
|
||||
ParseFile/citm_catalog,ns,7.66744e+06,2.424e+06,3.163
|
||||
ParseFile/floats,ns,1.275e+08,4.72331e+07,2.699
|
||||
ParseFile/jeopardy,ns,3.27525e+08,1.54786e+08,2.116
|
||||
ParseFile/signed_ints,ns,1.2488e+08,4.54429e+07,2.748
|
||||
ParseFile/small_signed_ints,ns,6.29991e+07,3.26251e+07,1.931
|
||||
ParseFile/twitter,ns,3.32202e+06,1.35873e+06,2.445
|
||||
ParseFile/unsigned_ints,ns,1.20673e+08,4.65984e+07,2.590
|
||||
ParseIndented/canada / 4,ns,3.39369e+07,5.15262e+06,6.586
|
||||
ParseIndented/citm_catalog / 4,ns,7.23096e+06,1.78365e+06,4.054
|
||||
ParseIndented/jeopardy / 4,ns,3.35238e+08,1.31409e+08,2.551
|
||||
ParseIndented/twitter / 4,ns,3.59342e+06,1.1224e+06,3.202
|
||||
ParseStreamValues/ndjson,ns,7.01242e+06,3.71441e+06,1.888
|
||||
ParseStreamValues/numbers,ns,1.89341e+06,380502,4.976
|
||||
ParseString/canada,ns,1.50855e+07,4.42155e+06,3.412
|
||||
ParseString/citm_catalog,ns,7.3013e+06,1.77547e+06,4.112
|
||||
ParseString/floats,ns,1.18738e+08,2.7604e+07,4.301
|
||||
ParseString/jeopardy,ns,3.03339e+08,1.28463e+08,2.361
|
||||
ParseString/signed_ints,ns,1.20073e+08,3.12419e+07,3.843
|
||||
ParseString/small_signed_ints,ns,6.0595e+07,2.40917e+07,2.515
|
||||
ParseString/twitter,ns,3.17558e+06,1.05133e+06,3.021
|
||||
ParseString/unsigned_ints,ns,1.18614e+08,3.21863e+07,3.685
|
||||
ParseStringOrdered/canada,ns,1.50775e+07,4.37102e+06,3.449
|
||||
ParseStringOrdered/citm_catalog,ns,1.08507e+07,1.61676e+06,6.711
|
||||
ParseStringOrdered/jeopardy,ns,3.60997e+08,1.09757e+08,3.289
|
||||
ParseStringOrdered/twitter,ns,4.35833e+06,906250,4.809
|
||||
Patch/canada,ns,9.97854e+06,3.36623e+06,2.964
|
||||
Patch/citm_catalog,ns,2.52632e+06,1.61385e+06,1.565
|
||||
Patch/twitter,ns,1.45777e+06,850736,1.714
|
||||
SaxParse/canada,ns,1.27867e+07,3.22211e+06,3.968
|
||||
SaxParse/citm_catalog,ns,6.40874e+06,983039,6.519
|
||||
SaxParse/twitter,ns,2.47756e+06,477699,5.186
|
||||
ToCbor/canada,ns,1.37097e+06,545183,2.515
|
||||
ToCbor/citm_catalog,ns,1.02285e+06,256578,3.986
|
||||
ToCbor/floats,ns,8.91388e+06,1.89274e+06,4.710
|
||||
ToCbor/jeopardy,ns,7.19583e+07,2.13225e+07,3.375
|
||||
ToCbor/signed_ints,ns,1.13095e+07,2.75682e+06,4.102
|
||||
ToCbor/small_signed_ints,ns,1.0181e+07,2.39796e+06,4.246
|
||||
ToCbor/twitter,ns,633945,141532,4.479
|
||||
ToCbor/unsigned_ints,ns,7.99728e+06,2.79118e+06,2.865
|
||||
ToJsonStrings/copy,ns,5.82015e+06,5.54332e+06,1.050
|
||||
ToJsonStrings/move,ns,5.81645e+06,3.0241e+06,1.923
|
||||
Unflatten/canada,ns,4.1091e+07,1.08224e+07,3.797
|
||||
Unflatten/citm_catalog,ns,9.69933e+06,3.46205e+06,2.802
|
||||
Unflatten/twitter,ns,4.51774e+06,2.10929e+06,2.142
|
||||
Accept/canada,ns,1.29488e+07,2.3494e+06,5.512
|
||||
Accept/citm_catalog,ns,6.53091e+06,923408,7.073
|
||||
Accept/floats,ns,1.15702e+08,2.26771e+07,5.102
|
||||
Accept/jeopardy,ns,2.20758e+08,5.92935e+07,3.723
|
||||
Accept/signed_ints,ns,1.17358e+08,2.82947e+07,4.148
|
||||
Accept/small_signed_ints,ns,5.75113e+07,1.80352e+07,3.189
|
||||
Accept/twitter,ns,2.51345e+06,483792,5.195
|
||||
Accept/unsigned_ints,ns,1.16297e+08,2.97181e+07,3.913
|
||||
BinaryToCbor/1024,ns,298.444,107.095,2.787
|
||||
BinaryToCbor/128,ns,248.661,116.711,2.131
|
||||
BinaryToCbor/16,ns,244.687,49.6325,4.930
|
||||
BinaryToCbor/16384,ns,952.115,413.62,2.302
|
||||
BinaryToCbor/2048,ns,328.419,125.183,2.624
|
||||
BinaryToCbor/256,ns,264.678,90.8937,2.912
|
||||
BinaryToCbor/32,ns,251.632,50.4059,4.992
|
||||
BinaryToCbor/32768,ns,1541.05,802.721,1.920
|
||||
BinaryToCbor/4096,ns,406.957,177.412,2.294
|
||||
BinaryToCbor/512,ns,289.876,102.063,2.840
|
||||
BinaryToCbor/64,ns,254.928,84.6434,3.012
|
||||
BinaryToCbor/8,ns,247.618,49.3761,5.015
|
||||
BinaryToCbor/8192,ns,514.281,256.456,2.005
|
||||
Copy/canada,ns,3.78116e+06,2.92734e+06,1.292
|
||||
Copy/citm_catalog,ns,1.7026e+06,1.51108e+06,1.127
|
||||
Copy/twitter,ns,840201,767400,1.095
|
||||
CopyAssign/canada,ns,3.86416e+06,2.94449e+06,1.312
|
||||
CopyAssign/citm_catalog,ns,1.76529e+06,1.58608e+06,1.113
|
||||
CopyAssign/twitter,ns,884985,790724,1.119
|
||||
CopyOnly/canada,ns,1.60229e+06,1.57507e+06,1.017
|
||||
CopyOnly/citm_catalog,ns,786244,817481,0.962
|
||||
CopyOnly/twitter,ns,423631,420649,1.007
|
||||
CopyRing/canada,ns,3.86433e+06,2.99657e+06,1.290
|
||||
CopyRing/citm_catalog,ns,1.84434e+06,1.60579e+06,1.149
|
||||
CopyRing/twitter,ns,951510,818035,1.163
|
||||
DestroyOnly/canada,ns,2.22138e+06,1.40157e+06,1.585
|
||||
DestroyOnly/citm_catalog,ns,926244,711471,1.302
|
||||
DestroyOnly/twitter,ns,416055,336082,1.238
|
||||
Diff/canada,ns,3.98055e+07,3.80466e+06,10.462
|
||||
Diff/citm_catalog,ns,7.1859e+06,1.12351e+06,6.396
|
||||
Diff/twitter,ns,5.11261e+06,661062,7.734
|
||||
Dump/canada / -,ns,6.95189e+06,2.33647e+06,2.975
|
||||
Dump/canada / 4,ns,9.09882e+06,3.10291e+06,2.932
|
||||
Dump/citm_catalog / -,ns,1.42117e+06,295678,4.806
|
||||
Dump/citm_catalog / 4,ns,1.98589e+06,422600,4.699
|
||||
Dump/floats / -,ns,6.4332e+07,2.37747e+07,2.706
|
||||
Dump/floats / 4,ns,7.25695e+07,2.46207e+07,2.947
|
||||
Dump/jeopardy / -,ns,2.06771e+08,3.17494e+07,6.513
|
||||
Dump/jeopardy / 4,ns,2.27967e+08,3.53626e+07,6.447
|
||||
Dump/signed_ints / -,ns,2.40551e+07,1.0736e+07,2.241
|
||||
Dump/signed_ints / 4,ns,3.25192e+07,1.1333e+07,2.869
|
||||
Dump/small_signed_ints / -,ns,1.81398e+07,8.12457e+06,2.233
|
||||
Dump/small_signed_ints / 4,ns,2.55296e+07,8.80796e+06,2.898
|
||||
Dump/twitter / -,ns,1.43584e+06,214252,6.702
|
||||
Dump/twitter / 4,ns,1.63183e+06,253042,6.449
|
||||
Dump/unsigned_ints / -,ns,2.39512e+07,8.11916e+06,2.950
|
||||
Dump/unsigned_ints / 4,ns,3.22761e+07,8.58925e+06,3.758
|
||||
Equal/canada,ns,473767,349284,1.356
|
||||
Equal/citm_catalog,ns,279548,263329,1.062
|
||||
Equal/twitter,ns,145555,131450,1.107
|
||||
Flatten/canada,ns,2.94475e+07,1.11184e+07,2.649
|
||||
Flatten/citm_catalog,ns,6.7155e+06,3.07325e+06,2.185
|
||||
Flatten/twitter,ns,3.66077e+06,2.10599e+06,1.738
|
||||
FlattenOrdered/citm_catalog,ns,2.62026e+08,1.42645e+06,183.691
|
||||
FlattenOrdered/twitter,ns,5.1275e+07,890275,57.595
|
||||
FromBinaryBuffer/bjdata / canada,ns,8.81972e+06,4.16727e+06,2.116
|
||||
FromBinaryBuffer/bjdata / twitter,ns,3.32045e+06,976266,3.401
|
||||
FromBinaryBuffer/bjdata_optimized / canada,ns,9.2386e+06,2.47996e+06,3.725
|
||||
FromBinaryBuffer/bjdata_optimized / twitter,ns,3.30526e+06,985625,3.353
|
||||
FromBinaryBuffer/bson / canada,ns,1.00372e+07,4.31554e+06,2.326
|
||||
FromBinaryBuffer/bson / citm_catalog,ns,4.07611e+06,1.60647e+06,2.537
|
||||
FromBinaryBuffer/bson / twitter,ns,3.25635e+06,936933,3.476
|
||||
FromBinaryBuffer/cbor / canada,ns,8.89562e+06,2.11517e+06,4.206
|
||||
FromBinaryBuffer/cbor / citm_catalog,ns,3.94234e+06,1.45242e+06,2.714
|
||||
FromBinaryBuffer/cbor / floats,ns,3.0473e+07,5.47969e+06,5.561
|
||||
FromBinaryBuffer/cbor / jeopardy,ns,3.73185e+08,1.14934e+08,3.247
|
||||
FromBinaryBuffer/cbor / signed_ints,ns,3.66673e+07,9.88892e+06,3.708
|
||||
FromBinaryBuffer/cbor / twitter,ns,3.23196e+06,953415,3.390
|
||||
FromBinaryBuffer/msgpack / canada,ns,8.85983e+06,2.12215e+06,4.175
|
||||
FromBinaryBuffer/msgpack / citm_catalog,ns,3.84901e+06,1.4503e+06,2.654
|
||||
FromBinaryBuffer/msgpack / jeopardy,ns,3.73143e+08,1.11034e+08,3.361
|
||||
FromBinaryBuffer/msgpack / twitter,ns,3.2397e+06,954811,3.393
|
||||
FromBinaryBuffer/ubjson / canada,ns,8.84059e+06,4.20402e+06,2.103
|
||||
FromBinaryBuffer/ubjson / citm_catalog,ns,4.0708e+06,1.78566e+06,2.280
|
||||
FromBinaryBuffer/ubjson / jeopardy,ns,3.79093e+08,1.17024e+08,3.239
|
||||
FromBinaryBuffer/ubjson / twitter,ns,3.29948e+06,981057,3.363
|
||||
FromBinaryBuffer/ubjson_optimized / canada,ns,8.88909e+06,2.42788e+06,3.661
|
||||
FromBinaryBuffer/ubjson_optimized / twitter,ns,3.29784e+06,974810,3.383
|
||||
FromBinaryFile/bjdata / twitter,ns,1.09208e+07,1.94678e+06,5.610
|
||||
FromBinaryFile/bson / twitter,ns,1.07209e+07,1.84971e+06,5.796
|
||||
FromBinaryFile/cbor / canada,ns,1.49218e+07,4.48832e+06,3.325
|
||||
FromBinaryFile/cbor / twitter,ns,1.03718e+07,1.57388e+06,6.590
|
||||
FromBinaryFile/ubjson / canada,ns,1.43414e+07,6.42996e+06,2.230
|
||||
FromBinaryFile/ubjson / twitter,ns,1.09266e+07,1.97275e+06,5.539
|
||||
FromBinaryShape/containers / bjdata,ns,1.46977e+07,7.23447e+06,2.032
|
||||
FromBinaryShape/containers / bson,ns,1.75596e+07,7.88867e+06,2.226
|
||||
FromBinaryShape/containers / cbor,ns,1.46488e+07,4.15792e+06,3.523
|
||||
FromBinaryShape/containers / msgpack,ns,1.45853e+07,3.89266e+06,3.747
|
||||
FromBinaryShape/containers / ubjson,ns,1.49773e+07,7.23987e+06,2.069
|
||||
FromBinaryShape/containers / ubjson_optimized,ns,1.54989e+07,4.55976e+06,3.399
|
||||
FromBinaryShape/nested / bjdata,ns,96825.9,38335.1,2.526
|
||||
FromBinaryShape/nested / bson,ns,101356,42620.2,2.378
|
||||
FromBinaryShape/nested / cbor,ns,94929.8,35845.6,2.648
|
||||
FromBinaryShape/nested / msgpack,ns,92610.2,35078.3,2.640
|
||||
FromBinaryShape/nested / ubjson,ns,96090.6,38285.6,2.510
|
||||
FromBinaryShape/scalars / bjdata,ns,2.52616e+07,1.15856e+07,2.180
|
||||
FromBinaryShape/scalars / cbor,ns,2.62118e+07,5.88743e+06,4.452
|
||||
FromBinaryShape/scalars / msgpack,ns,2.50706e+07,5.65159e+06,4.436
|
||||
FromBinaryShape/scalars / ubjson,ns,2.53402e+07,1.16191e+07,2.181
|
||||
FromCborChunkedString/10000 chunks,ns,91845.9,82875.5,1.108
|
||||
FromMsgpack/canada,ns,1.48853e+07,4.56225e+06,3.263
|
||||
FromMsgpack/citm_catalog,ns,9.3559e+06,2.26246e+06,4.135
|
||||
FromMsgpack/floats,ns,6.12575e+07,2.86709e+07,2.137
|
||||
FromMsgpack/jeopardy,ns,1.16767e+09,1.90153e+08,6.141
|
||||
FromMsgpack/signed_ints,ns,6.38812e+07,3.28867e+07,1.942
|
||||
FromMsgpack/small_signed_ints,ns,6.44688e+07,3.44227e+07,1.873
|
||||
FromMsgpack/twitter,ns,1.02787e+07,1.48541e+06,6.920
|
||||
FromMsgpack/unsigned_ints,ns,5.7784e+07,2.83078e+07,2.041
|
||||
"GetArray<std::array<int, 1000>>",ns,2274.63,654.431,3.476
|
||||
GetArray<std::deque<int>>,ns,8288.3,1175.75,7.049
|
||||
GetArray<std::set<int>>,ns,60017.4,42504.9,1.412
|
||||
GetArray<std::vector<int>>,ns,6785.73,681.915,9.951
|
||||
GetMap/citm_catalog,ns,3.60313e+06,2.48546e+06,1.450
|
||||
GetVectorDouble/floats,ns,6.83612e+06,656162,10.418
|
||||
GetVectorInt/signed_ints,ns,8.22365e+06,3.46495e+06,2.373
|
||||
Iterate/canada,ns,897083,328035,2.735
|
||||
Iterate/citm_catalog,ns,305421,171245,1.784
|
||||
Iterate/twitter,ns,89996.6,61975.8,1.452
|
||||
JsonPointerAt/citm_catalog,ns,1.89898e+06,1.17751e+06,1.613
|
||||
JsonPointerAt/twitter,ns,817946,611519,1.338
|
||||
JsonPointerContains/citm_catalog,ns,2.8177e+06,1.26796e+06,2.222
|
||||
JsonPointerContains/twitter,ns,1.33508e+06,628630,2.124
|
||||
JsonPointerParse/citm_catalog,ns,5.81355e+06,2.24831e+06,2.586
|
||||
JsonPointerParse/twitter,ns,2.47971e+06,1.02159e+06,2.427
|
||||
JsonPointerToString/citm_catalog,ns,6.7858e+06,1.93924e+06,3.499
|
||||
JsonPointerToString/twitter,ns,2.23096e+06,834416,2.674
|
||||
ParseFILE/canada,ns,5.41907e+07,1.46942e+07,3.688
|
||||
ParseFILE/citm_catalog,ns,3.59542e+07,7.58092e+06,4.743
|
||||
ParseFILE/twitter,ns,1.4087e+07,3.44991e+06,4.083
|
||||
ParseFile/canada,ns,1.82792e+07,6.46954e+06,2.825
|
||||
ParseFile/citm_catalog,ns,8.12979e+06,2.52336e+06,3.222
|
||||
ParseFile/floats,ns,1.31229e+08,4.81407e+07,2.726
|
||||
ParseFile/jeopardy,ns,3.38017e+08,1.62098e+08,2.085
|
||||
ParseFile/signed_ints,ns,1.28749e+08,4.62304e+07,2.785
|
||||
ParseFile/small_signed_ints,ns,6.47398e+07,3.34103e+07,1.938
|
||||
ParseFile/twitter,ns,3.43041e+06,1.37495e+06,2.495
|
||||
ParseFile/unsigned_ints,ns,1.24001e+08,4.74365e+07,2.614
|
||||
ParseIndented/canada / 4,ns,3.4977e+07,5.37149e+06,6.512
|
||||
ParseIndented/citm_catalog / 4,ns,7.52423e+06,1.81376e+06,4.148
|
||||
ParseIndented/jeopardy / 4,ns,3.45046e+08,1.33383e+08,2.587
|
||||
ParseIndented/twitter / 4,ns,3.72283e+06,1.12645e+06,3.305
|
||||
ParseStreamValues/ndjson,ns,7.15876e+06,3.76965e+06,1.899
|
||||
ParseStreamValues/numbers,ns,1.92619e+06,383138,5.027
|
||||
ParseString/canada,ns,1.55213e+07,4.62776e+06,3.354
|
||||
ParseString/citm_catalog,ns,7.56417e+06,1.77967e+06,4.250
|
||||
ParseString/floats,ns,1.21779e+08,2.83035e+07,4.303
|
||||
ParseString/jeopardy,ns,3.16817e+08,1.30897e+08,2.420
|
||||
ParseString/signed_ints,ns,1.22931e+08,3.19852e+07,3.843
|
||||
ParseString/small_signed_ints,ns,6.2685e+07,2.49764e+07,2.510
|
||||
ParseString/twitter,ns,3.2961e+06,1.04867e+06,3.143
|
||||
ParseString/unsigned_ints,ns,1.21229e+08,3.29241e+07,3.682
|
||||
ParseStringOrdered/canada,ns,1.5388e+07,4.5275e+06,3.399
|
||||
ParseStringOrdered/citm_catalog,ns,1.15204e+07,1.68115e+06,6.853
|
||||
ParseStringOrdered/jeopardy,ns,3.73533e+08,1.13397e+08,3.294
|
||||
ParseStringOrdered/twitter,ns,4.5979e+06,948606,4.847
|
||||
Patch/canada,ns,1.03684e+07,3.47719e+06,2.982
|
||||
Patch/citm_catalog,ns,2.74522e+06,1.74191e+06,1.576
|
||||
Patch/twitter,ns,1.57928e+06,888657,1.777
|
||||
SaxParse/canada,ns,1.31023e+07,3.26697e+06,4.011
|
||||
SaxParse/citm_catalog,ns,6.54642e+06,966806,6.771
|
||||
SaxParse/twitter,ns,2.53102e+06,483052,5.240
|
||||
ToCbor/canada,ns,1.41339e+06,556912,2.538
|
||||
ToCbor/citm_catalog,ns,1.04743e+06,259178,4.041
|
||||
ToCbor/floats,ns,9.04677e+06,1.90094e+06,4.759
|
||||
ToCbor/jeopardy,ns,7.39339e+07,2.20678e+07,3.350
|
||||
ToCbor/signed_ints,ns,1.15333e+07,2.827e+06,4.080
|
||||
ToCbor/small_signed_ints,ns,1.0394e+07,2.47974e+06,4.192
|
||||
ToCbor/twitter,ns,658566,143397,4.593
|
||||
ToCbor/unsigned_ints,ns,8.17966e+06,2.81588e+06,2.905
|
||||
ToJsonStrings/copy,ns,6.12e+06,5.65303e+06,1.083
|
||||
ToJsonStrings/move,ns,6.13061e+06,3.13303e+06,1.957
|
||||
Unflatten/canada,ns,4.25276e+07,1.10995e+07,3.831
|
||||
Unflatten/citm_catalog,ns,1.01866e+07,3.62185e+06,2.813
|
||||
Unflatten/twitter,ns,4.74536e+06,2.21103e+06,2.146
|
||||
|
@@ -315,4 +315,40 @@ 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,1372.590,2427.358,6109.560,2302.737,1710.146,479.478,211.001,288.697,2298.316,416.541,1311.621,139.627,1439.814,1711.536,177.113,365.393,979.186
|
||||
316,091c10d4a5,2026-10-28,5936,Fix self-aliasing in json_pointer::operator/= and patch_inplace (#5936),1389.195,2462.409,6052.125,2321.091,1722.944,473.064,214.421,290.952,2279.997,416.589,1315.370,138.531,1437.996,1683.844,176.596,363.105,952.473
|
||||
317,54f6b3ef06,2026-10-28,5945,json_view: source positions in materialize() with JSON_DIAGNOSTIC_POSITIONS (#5945),1417.895,2496.591,6325.787,2377.105,1737.749,478.133,213.209,293.150,2304.971,422.648,1348.357,139.793,1490.556,1735.758,178.445,368.380,990.587
|
||||
318,0115bb47b3,2026-10-30,5965,Name the source and license of adapted code in the file comments (#5965),1378.289,2456.731,6043.011,2330.780,1711.965,470.960,212.371,290.798,2298.443,419.433,1323.072,137.982,1441.316,1690.457,176.197,363.182,977.928
|
||||
319,0b91f9ddd8,2026-10-30,5926,json_view: check_utf8 skips well-formed runs with the parser's string scan (#5926),1400.777,2488.449,6137.021,2359.856,1747.026,473.449,213.226,290.736,2320.524,420.950,1325.039,139.324,1452.907,1703.426,177.699,364.500,988.981
|
||||
320,ea03d601af,2026-10-30,5890,json_view: comparison without temporaries and a faster image float check (#5890),1388.958,2477.531,6127.547,2357.032,1781.238,477.111,216.144,293.938,2340.267,424.058,1337.149,139.387,1459.923,1723.919,,,
|
||||
321,755bb16d7a,2026-10-30,5966,Fix the red CI on develop: remove the duplicate is_editable in basic_json_view (#5966),1411.867,2497.560,6085.938,2326.880,1726.740,480.376,212.294,292.134,2312.521,420.608,1325.345,138.544,1465.640,1744.928,177.785,367.385,992.034
|
||||
322,4fe670b5f4,2026-10-31,5969,json_view: decode chains of unicode escapes in a loop (#5969),1390.866,2466.769,6026.817,2328.995,1736.168,475.935,212.530,291.166,2284.708,418.661,1323.436,137.513,1495.099,1736.832,176.566,365.541,963.794
|
||||
323,9c349b1d7c,2026-10-31,5964,Write integers of 17 to 20 digits eight digits at a time in dump() (#5964),1390.500,2469.332,6079.698,2359.276,1718.121,470.647,209.615,289.143,2300.836,419.976,1331.637,138.488,1450.106,1703.483,176.731,365.394,953.483
|
||||
324,3fd3e0fdaa,2026-11-01,5908,json_view: dump and read canada.json-style floats faster (batched float decisions) (#5908),1366.359,2456.409,6058.422,2329.066,1713.347,470.784,209.895,289.318,2294.111,417.490,1319.403,138.100,1435.053,1698.647,176.006,363.191,954.196
|
||||
325,76001c6b4c,2026-11-01,5968,"BSON reader: find C-string terminators 8 bytes at a time, skip array element names (#5968)",1408.222,2488.159,6124.287,2363.039,1759.751,477.558,216.880,294.011,2317.898,420.892,1345.718,138.602,1460.432,1713.978,179.721,370.205,970.525
|
||||
326,1a018577cc,2026-11-01,5970,json_view: accept() checks the text without writing an index (#5970),1427.279,2506.345,6160.916,2368.009,1765.595,480.552,214.060,293.093,2341.368,419.303,1330.990,138.625,1463.731,1724.021,181.150,373.171,964.666
|
||||
327,162eda2574,2026-11-01,5971,json_view: skip the digits of a fraction 16 bytes at a time (SSE2) (#5971),1404.191,2474.144,6049.006,2363.726,1711.013,471.608,211.613,289.736,2290.230,418.673,1322.822,138.556,1441.219,1697.559,178.814,370.881,956.959
|
||||
328,6c3ab966d3,2026-11-01,5975,CBOR reader: read runs of scalar array elements in one loop (#5975),1385.800,2466.923,6050.480,2325.901,1725.552,474.248,210.034,289.350,2296.399,418.689,1327.626,137.722,1440.577,1698.622,178.627,367.797,953.174
|
||||
329,aecbef3949,2026-11-01,5976,Binary readers: swap the bytes of floats with a single byteswap (#5976),1393.659,2479.298,6092.110,2337.421,1718.218,472.539,211.337,289.638,2307.378,417.589,1324.038,137.341,1447.860,1701.387,179.160,369.448,956.324
|
||||
330,edf8d17601,2026-11-01,5980,MessagePack reader: read runs of scalar array elements in one loop (#5980),1422.081,2486.171,6157.302,2360.678,1733.503,477.472,211.189,289.309,2307.724,419.448,1334.857,138.914,1449.345,1721.126,180.127,369.693,967.370
|
||||
331,fb515ddc34,2026-11-01,5981,UBJSON/BJData readers: read optimized arrays of numbers in one loop (#5981),1387.633,2470.528,6067.657,2345.342,1721.303,476.141,212.198,288.466,2292.649,416.597,1324.486,139.598,1441.019,1705.957,179.190,367.903,959.677
|
||||
332,517444b504,2026-11-01,5978,accept() checks strings without copying them (#5978),1385.026,2453.809,5975.744,2322.357,1711.222,475.186,210.256,288.348,2282.444,415.256,1321.012,138.726,1434.772,1698.120,178.106,365.411,976.135
|
||||
333,9742edc294,2026-11-01,5979,"BSON writer: write to_bson(j) in one pass, with sizes written afterwards (#5979)",1418.816,2514.802,6091.854,2380.269,1772.646,474.067,211.598,290.653,2316.886,421.043,1346.324,139.213,1469.659,1754.493,180.269,372.201,982.753
|
||||
334,f022e3c59c,2026-11-01,5982,Binary readers and writers: faster UTF-8 checks of strings (#5982),1399.836,2474.703,6060.781,2341.409,1707.583,468.692,209.824,290.357,2290.034,418.739,1312.448,138.360,1458.779,1707.575,178.911,369.303,968.200
|
||||
335,ddc34f546a,2026-11-01,5974,json_view: exceptions name the path and the bytes of the value (#5974),1394.263,2489.906,6017.599,2345.632,1728.593,473.672,210.364,289.980,2306.608,420.394,1327.301,138.827,1448.846,1707.037,177.406,368.436,978.755
|
||||
336,b2674a4a2f,2026-11-01,5984,BSON reader: check array element names in place in strict mode (#5984),1392.028,2460.989,5975.355,2357.154,1726.291,472.389,209.872,289.219,2301.092,417.632,1309.441,138.779,1438.270,1709.943,177.580,366.368,973.214
|
||||
337,76dbe8f9c9,2026-11-02,6009,"Fix the red CI on develop: Visual Studio 2017 build of the BSON writer, Valgrind timeouts (#6009)",1387.812,2461.244,5975.843,2323.693,1713.572,469.489,209.863,289.058,2291.892,415.935,1306.729,138.322,1447.714,1694.220,177.698,363.994,972.289
|
||||
338,03d408aafa,2026-11-02,6003,JSON_DIAGNOSTIC_POSITIONS: comparing a value-initialized iterator throws instead of crashing (#6003),1385.014,2455.146,5981.995,2380.493,1732.039,466.575,209.272,289.474,2295.226,416.844,1301.454,138.016,1445.840,1703.494,176.691,365.416,967.929
|
||||
339,66e2eeeec0,2026-11-02,6000,Do not construct the base class when destroying a container (#6000),1403.795,2457.426,6001.495,2323.510,1718.268,471.022,210.474,288.385,2308.462,417.187,1313.263,138.770,1437.867,1705.586,179.168,363.523,966.701
|
||||
340,bdc737db6d,2026-11-02,5999,json_view: dump() without StringType::capacity() (#5999),1378.656,2452.954,6020.464,2339.908,1724.630,470.774,211.638,288.939,2303.773,418.311,1312.024,139.010,1446.709,1704.406,177.291,363.859,966.602
|
||||
341,494a74c242,2026-11-02,5996,"insert(): strong guarantee for single elements, basic guarantee for the rest (#5996)",1390.153,2478.991,6032.084,2342.171,1727.040,469.799,213.660,291.104,2307.193,419.623,1329.285,139.000,1461.294,1718.750,178.995,366.898,974.652
|
||||
342,bfe69c73c2,2026-11-02,5992,"json_view: get<T>() of a boolean throws for the exact number types, as basic_json does (#5992)",1387.497,2452.207,6023.042,2335.261,1720.938,471.966,212.162,288.851,2310.949,417.260,1315.155,137.821,1448.762,1710.153,175.990,366.239,970.052
|
||||
343,ff0bdfdef3,2026-11-02,5990,Keep the byte range in exceptions about the root value (#5990),1386.358,2469.197,6037.812,2344.775,1768.382,479.285,214.375,290.939,2329.486,421.838,1332.654,138.666,1455.905,1720.376,178.637,368.500,972.955
|
||||
344,1d69ef9ab4,2026-11-02,5997,"Raise line coverage to 99.9 %: fix the measurement, remove unreachable code, add tests (#5997)",1404.481,2456.447,6166.942,2338.226,1749.981,478.338,211.609,289.387,2304.532,419.095,1321.195,140.055,1460.574,1706.842,179.067,369.688,982.029
|
||||
345,5c4f585ac2,2026-11-02,6004,"Lexer, parser, stream adapter, SAX: remove checks that invariants make dead (#6004)",1386.586,2468.772,6188.662,2373.328,1775.098,483.139,211.476,291.250,2315.874,420.854,1321.718,138.268,1464.254,1709.146,180.316,367.994,965.010
|
||||
346,100f676b3e,2026-11-02,6012,Restore the two commits of #6005 that the stack merge dropped (fixes the build of develop) (#6012),1369.597,2437.356,6122.282,2305.291,1691.485,472.217,208.716,288.666,2291.034,416.120,1300.906,137.896,1439.300,1688.769,176.641,366.389,972.368
|
||||
347,590b622d48,2026-11-02,5991,parse(): propagate std::bad_alloc instead of crashing on a half-constructed member (#5991),1377.480,2425.219,6113.438,2306.435,1716.697,474.315,209.052,288.883,2292.776,417.291,1305.336,137.989,1453.044,1704.638,179.096,368.072,978.198
|
||||
348,6d5581c4e8,2026-11-02,6008,CBOR/MessagePack readers: leave one-element arrays to the general path (#6008),1400.456,2439.163,6140.448,2328.635,1743.039,480.725,212.470,295.268,2348.332,427.202,1340.319,139.121,1489.584,1736.380,184.949,371.567,995.731
|
||||
349,b18b6fc7e6,2026-11-02,6013,Build the parser's syntax error prefix with one concat() (#6013),1370.175,2435.337,6098.834,2320.728,1726.256,472.914,210.817,289.786,2292.841,419.186,1306.593,139.277,1481.709,1714.543,177.065,366.270,971.330
|
||||
350,07876e2292,2026-11-02,6015,json_view: a value that is not found has no bytes in its exception context (#6015),1361.297,2435.980,6080.718,2305.853,1707.733,474.621,210.382,291.568,2337.276,424.783,1329.556,139.590,1450.506,1690.804,178.472,366.370,977.807
|
||||
351,baba5db36f,2026-11-02,6016,"Fix the MSVC and GCC builds of develop (C4127, -Weffc++) (#6016)",1381.280,2440.908,6116.068,2303.611,1713.472,476.121,210.492,290.105,2319.878,420.598,1318.037,139.554,1471.388,1729.097,177.078,369.621,959.145
|
||||
352,candidate,,,develop + open pull requests,1392.967,2469.204,6110.380,2348.760,1730.819,474.089,212.339,290.760,2284.428,420.179,1320.938,137.755,1441.341,1697.486,176.758,364.547,955.117
|
||||
|
@@ -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.02),
|
||||
("Parsing", "citm_catalog.json", 4.11),
|
||||
("Parsing", "canada.json", 3.41),
|
||||
("Parsing", "canada.json, indented", 6.59),
|
||||
("Parsing", "citm, ordered_json", 6.71),
|
||||
("Parsing", "twitter, std::ifstream", 2.44),
|
||||
("Parsing", "citm, FILE*", 4.71),
|
||||
("Parsing", "citm, accept()", 7.04),
|
||||
("Writing", "dump() twitter", 6.66),
|
||||
("Writing", "dump() canada", 2.93),
|
||||
("Writing", "dump(4) citm", 4.63),
|
||||
("Writing", "to_cbor() twitter", 4.48),
|
||||
("Reading CBOR", "twitter, memory", 3.18),
|
||||
("Reading CBOR", "twitter, FILE*", 6.41),
|
||||
("Values", "diff() canada", 10.34),
|
||||
("Values", "iterate canada", 2.71),
|
||||
("Values", "copy + destroy citm", 1.11),
|
||||
("Values", "== citm", 1.04),
|
||||
("Parsing", "twitter.json", 3.14),
|
||||
("Parsing", "citm_catalog.json", 4.25),
|
||||
("Parsing", "canada.json", 3.35),
|
||||
("Parsing", "canada.json, indented", 6.51),
|
||||
("Parsing", "citm, ordered_json", 6.85),
|
||||
("Parsing", "twitter, std::ifstream", 2.50),
|
||||
("Parsing", "citm, FILE*", 4.74),
|
||||
("Parsing", "citm, accept()", 7.07),
|
||||
("Writing", "dump() twitter", 6.70),
|
||||
("Writing", "dump() canada", 2.98),
|
||||
("Writing", "dump(4) citm", 4.70),
|
||||
("Writing", "to_cbor() twitter", 4.59),
|
||||
("Reading CBOR", "twitter, memory", 3.39),
|
||||
("Reading CBOR", "twitter, FILE*", 6.59),
|
||||
("Values", "diff() canada", 10.46),
|
||||
("Values", "iterate canada", 2.73),
|
||||
("Values", "copy + destroy citm", 1.13),
|
||||
("Values", "== citm", 1.06),
|
||||
]
|
||||
|
||||
|
||||
@@ -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 []", 4140, 10.5),
|
||||
("diff() 20k objects vs half", 119, 3.99),
|
||||
("parse() callback, 32k objects", 1361, 12.1),
|
||||
("operator< nested 24 deep", 64.0, 0.002),
|
||||
("operator< citm, 10x", 278, 3.86),
|
||||
("flatten() citm, ordered_json", 251, 1.39),
|
||||
("to_bson() 200 deep, 100x", 19.9, 0.349),
|
||||
("push_back() 100k, diagnostics", 1532, 5.04),
|
||||
("at(i) 10k, diagnostics", 43.6, 0.081),
|
||||
("diff() 64k numbers vs []", 4237, 10.8),
|
||||
("diff() 20k objects vs half", 122, 4.13),
|
||||
("parse() callback, 32k objects", 1398, 12.1),
|
||||
("operator< nested 24 deep", 64.4, 0.002),
|
||||
("operator< citm, 10x", 284, 3.94),
|
||||
("flatten() citm, ordered_json", 271, 1.45),
|
||||
("to_bson() 200 deep, 100x", 20.3, 0.352),
|
||||
("push_back() 100k, diagnostics", 1589, 5.32),
|
||||
("at(i) 10k, diagnostics", 45.9, 0.088),
|
||||
]
|
||||
|
||||
|
||||
@@ -495,13 +495,13 @@ def heldout():
|
||||
|
||||
|
||||
# ---------- the price: compile time of two programs against 3.12.0 ----------
|
||||
# CPU time of the compiler in ms, median of 9 interleaved rounds, C++20, M1 Max (the post's appendix G)
|
||||
# CPU time of the compiler in ms, median of 5 interleaved rounds, C++20, M1 Max (the post's appendix G)
|
||||
# (3.12.0, 3.13.0, 3.13.0 with a precompiled header, 3.13.0 as a module)
|
||||
PRICE = [
|
||||
("Apple clang 21, -O0 (debug)", [("count_numbers", 959.1, 1155.3, 679.1, 803.9), ("server_config", 1108.2, 1445.1, 763.1, 1057.0)]),
|
||||
("Apple clang 21, -O2", [("count_numbers", 1268.8, 1867.7, 1364.3, 1512.9), ("server_config", 1576.9, 2353.6, 1749.4, 2141.4)]),
|
||||
("GCC 16, -O0 (debug)", [("count_numbers", 1443.7, 2346.4, 1579.2, 1662.5), ("server_config", 1984.8, 2781.7, 2113.3, 2181.1)]),
|
||||
("GCC 16, -O2", [("count_numbers", 2326.9, 3453.3, 2972.4, 2895.3), ("server_config", 2888.7, 4388.6, 3941.8, 3825.5)]),
|
||||
("Apple clang 21, -O0 (debug)", [("count_numbers", 955.0, 1320.5, 688.5, 917.5), ("server_config", 1113.2, 1496.4, 862.6, 1135.5)]),
|
||||
("Apple clang 21, -O2", [("count_numbers", 1393.2, 2081.0, 1458.4, 1684.6), ("server_config", 1753.5, 2545.6, 1925.3, 2168.6)]),
|
||||
("GCC 16, -O0 (debug)", [("count_numbers", 1569.4, 2548.4, 1725.0, 1699.8), ("server_config", 2025.4, 2985.1, 2301.6, 2325.8)]),
|
||||
("GCC 16, -O2", [("count_numbers", 2336.0, 3701.5, 2986.8, 2913.4), ("server_config", 3121.5, 4714.2, 4006.2, 4054.9)]),
|
||||
]
|
||||
PRICE_SERIES = [("3.13.0", "nj-charts-c2"), ("3.13.0, precompiled header", "nj-charts-c1"), ("3.13.0, module", "nj-charts-c3")]
|
||||
|
||||
@@ -579,22 +579,25 @@ def geomean(xs):
|
||||
|
||||
|
||||
WRITING = ("edit", "minify", "write") # the use cases that write numbers
|
||||
NUMBER_TEXT = ("source numbers", "raw numbers") # variants that write each number by copying its text
|
||||
|
||||
|
||||
def normalize_usecases(data):
|
||||
"""Chooses each library's best variants again with the rules of the post: variants that reuse a parser or document
|
||||
across calls are measured but not chosen, and neither are variants that write each number by copying its text
|
||||
instead of formatting it (json_document's number_format::source, yyjson's and RapidJSON's raw numbers in edit,
|
||||
minify and write). Skipping the number conversion while reading is allowed"""
|
||||
across calls are measured but not chosen. Variants that write each number by copying its text instead of formatting
|
||||
it (json_document's number_format::source, yyjson's and RapidJSON's raw numbers in edit, minify and write) are not
|
||||
chosen as the fully validating way, but as a way that does less, marked "N" like "U" and "P". Skipping the number
|
||||
conversion while reading is allowed. Each pick has a "mark": "", or the letters of what it skips"""
|
||||
data = json.loads(json.dumps(data))
|
||||
rank = {"full": 0, "n/a": 0, "no UTF-8": 1, "partial": 2}
|
||||
for uc, files in data.items():
|
||||
banned = ("reused",) + (("source numbers", "raw numbers") if uc in WRITING else ())
|
||||
numtext = lambda k: uc in WRITING and any(w in k for w in NUMBER_TEXT)
|
||||
for cell in files.values():
|
||||
for e in cell.values():
|
||||
vs = [(v["us"], k, v["level"]) for k, v in e["variants"].items() if not any(w in k for w in banned)]
|
||||
full = [v for v in vs if rank[v[2]] == 0]
|
||||
pick = lambda v: {"us": v[0], "variant": v[1], "level": "full" if rank[v[2]] == 0 else v[2]}
|
||||
vs = [(v["us"], k, v["level"]) for k, v in e["variants"].items() if "reused" not in k]
|
||||
full = [v for v in vs if rank[v[2]] == 0 and not numtext(v[1])]
|
||||
pick = lambda v: {"us": v[0], "variant": v[1], "level": "full" if rank[v[2]] == 0 else v[2],
|
||||
"mark": " ".join(m for m in (LEVEL_MARK.get(v[2], ""), "N" if numtext(v[1]) else "") if m)}
|
||||
e["best"] = pick(min(full)) if full else None
|
||||
e["best_any"] = pick(min(vs))
|
||||
return data
|
||||
@@ -615,6 +618,12 @@ CHECKS_LESS = [
|
||||
("sonic-cpp", "", "trusts UTF-8: sonic-cpp 1.0.2 doesn't check it"),
|
||||
("serde_json", "", "trusts UTF-8 in the strings it skips (from_slice); strings it reads are checked"),
|
||||
]
|
||||
# what a variant that copies number text does (the "N" half of edit, minify and write)
|
||||
NUMBER_TEXT_TIPS = {
|
||||
"nlohmann json_document": "copies each number's text instead of formatting it (number_format::source)",
|
||||
"yyjson": "copies each number's text instead of formatting it (YYJSON_READ_NUMBER_AS_RAW)",
|
||||
"RapidJSON": "copies each number's text instead of formatting it (kParseNumbersAsStringsFlag)",
|
||||
}
|
||||
|
||||
|
||||
def checks_less(lib, variant):
|
||||
@@ -651,7 +660,9 @@ def usecase_table(data):
|
||||
alt = None
|
||||
levels = {a["level"] for _, _, a in c["files"]} if alt is not None else set()
|
||||
level = "partial" if "partial" in levels else "no UTF-8" if "no UTF-8" in levels else "full"
|
||||
out.setdefault(lib, {})[uc] = {"full": full, "alt": alt, "level": level, "files": c["files"]}
|
||||
numtext = alt is not None and any("N" in a["mark"].split() for _, _, a in c["files"])
|
||||
marks = " ".join(m for m in (LEVEL_MARK[level], "N" if numtext else "") if m)
|
||||
out.setdefault(lib, {})[uc] = {"full": full, "alt": alt, "level": level, "marks": marks, "files": c["files"]}
|
||||
return out
|
||||
|
||||
|
||||
@@ -691,8 +702,9 @@ def tip(lib, uc_label, c, half):
|
||||
if half == "alt":
|
||||
seen = []
|
||||
for _, e in picks:
|
||||
if e["level"] != "full":
|
||||
t = checks_less(lib, e["variant"])
|
||||
ts = ([checks_less(lib, e["variant"])] if e["level"] != "full" else []) + \
|
||||
([NUMBER_TEXT_TIPS.get(lib, "copies each number's text instead of formatting it")] if "N" in e["mark"].split() else [])
|
||||
for t in ts:
|
||||
if t not in seen:
|
||||
seen.append(t)
|
||||
lines += seen
|
||||
@@ -741,14 +753,14 @@ def heatmap(platform, title):
|
||||
if half == "alt":
|
||||
b.append('<text class="nj-charts-cell" x="%g" y="%g" text-anchor="middle">%s</text>' % (cx, y + 16, fr(r)))
|
||||
b.append('<text class="nj-charts-cell nj-charts-cell--small" x="%g" y="%g" text-anchor="middle">%s</text>'
|
||||
% (cx, y + 29, LEVEL_MARK[c["level"]]))
|
||||
% (cx, y + 29, c["marks"]))
|
||||
else:
|
||||
b.append('<text class="nj-charts-cell" x="%g" y="%g" text-anchor="middle">%s</text>' % (cx, y + ch / 2 + 4, fr(r)))
|
||||
b.append('</g>')
|
||||
if c["full"] is None: # no fully validating way: the left half stays empty
|
||||
pass
|
||||
desc.append("%s %s: %s%s" % (UC_LIBS[lib], label, fr(c["full"]) if c["full"] else "no fully validating way",
|
||||
(" (%s checking less, %s)" % (fr(c["alt"]), c["level"])) if c["alt"] else ""))
|
||||
(" (%s doing less, %s)" % (fr(c["alt"]), c["marks"])) if c["alt"] else ""))
|
||||
# the key, set apart from the grid and narrower than its columns, so that it doesn't read as a row of it
|
||||
yb = top + len(libs) * ch + 28
|
||||
b.append('<text class="nj-charts-tick nj-charts-tick--l" x="8" y="%g">time relative to the fastest fully validating library, less is better</text>' % (yb + 4))
|
||||
|
||||
@@ -16,7 +16,6 @@ USE_CASES = [("validate", "validate"), ("sum", "sum"), ("select", "select"), ("e
|
||||
("write", "write")]
|
||||
NAMES = {"nlohmann json_document": "nlohmann/json `json_document`", "nlohmann json": "nlohmann/json `json`",
|
||||
"sonic-rs": "sonic-rs (Rust)", "simd-json": "simd-json (Rust)", "serde_json": "serde_json (Rust)"}
|
||||
MARK = {"no UTF-8": "U", "partial": "P"}
|
||||
|
||||
|
||||
def fmt(us):
|
||||
@@ -37,12 +36,12 @@ def table(data, uc, indent):
|
||||
for lib in libs:
|
||||
best = [data[uc][f][lib]["best"] for f in files]
|
||||
anyv = [data[uc][f][lib]["best_any"] for f in files]
|
||||
names = sorted({b["variant"] for b in best if b} | {a["variant"] + " [%s]" % MARK[a["level"]] for b, a in zip(best, anyv) if a["level"] in MARK and (not b or a["us"] < b["us"])})
|
||||
names = sorted({b["variant"] for b in best if b} | {a["variant"] + " [%s]" % a["mark"] for b, a in zip(best, anyv) if a["mark"] and (not b or a["us"] < b["us"])})
|
||||
cells = []
|
||||
for b, a in zip(best, anyv):
|
||||
c = fmt(b["us"]) if b else "–"
|
||||
if a["level"] in MARK and (not b or a["us"] < b["us"] * 0.97):
|
||||
c += " (%s %s)" % (MARK[a["level"]], fmt(a["us"]))
|
||||
if a["mark"] and (not b or a["us"] < b["us"] * 0.97):
|
||||
c += " (%s %s)" % (a["mark"], fmt(a["us"]))
|
||||
cells.append(c)
|
||||
bold = "**%s**" if lib == "nlohmann json_document" else "%s"
|
||||
rows.append("| %s | %s | %s |" % (bold % NAMES.get(lib, lib), ", ".join(names), " | ".join(cells)))
|
||||
|
||||