Compare JSON libraries by use case in the json_view harness

bench_all and bench_rs now time use cases (validate, sum, select, edit,
minify, write) instead of library functions. Every library may solve a
use case in every way it offers; each variant's result is checked, and
three malformed inputs give its validation level (full, no UTF-8,
partial). summarize.py reports each library's fastest fully validating
variant and a faster one at a lower level, as text and as JSON.

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
This commit is contained in:
Niels Lohmann committed 2026-10-30 15:29:49 +01:00
1 parent 4893e14699
commit 540eb7c5f2
8 files changed
+2831 -856

No files matched your search

-100
View File
@@ -1,100 +0,0 @@
<svg class="nj-fig nj-charts nj-charts--blog" viewBox="0 0 580 492" role="img" aria-labelledby="nj-blog-view nj-blog-view-d" xmlns="http://www.w3.org/2000/svg">
<title id="nj-blog-view">Parse throughput of nlohmann/json&#x27;s json_document and json::parse and five other document parsers, fresh documents, Apple M1 Max</title>
<desc id="nj-blog-view-d">Grouped horizontal bars of parse throughput in GB/s, more is better. twitter.json nlohmann/json json_document 3.45 GB/s; twitter.json yyjson 3.26 GB/s; twitter.json simdjson D&#8203;OM 3.13 GB/s; twitter.json sonic-rs (Rust) 2.09 GB/s; twitter.json sonic-cpp 1.67 GB/s; twitter.json Boost.J&#8203;SON 0.73 GB/s; twitter.json nlohmann/json json::parse 0.47 GB/s; citm_catalog.json nlohmann/json json_document 4.75 GB/s; citm_catalog.json yyjson 3.61 GB/s; citm_catalog.json simdjson D&#8203;OM 3.55 GB/s; citm_catalog.json sonic-rs (Rust) 2.60 GB/s; citm_catalog.json sonic-cpp 1.75 GB/s; citm_catalog.json Boost.J&#8203;SON 1.16 GB/s; citm_catalog.json nlohmann/json json::parse 0.72 GB/s; canada.json nlohmann/json json_document 2.39 GB/s; canada.json yyjson 1.51 GB/s; canada.json simdjson D&#8203;OM 1.07 GB/s; canada.json sonic-rs (Rust) 1.18 GB/s; canada.json sonic-cpp 0.87 GB/s; canada.json Boost.J&#8203;SON 0.91 GB/s; canada.json nlohmann/json json::parse 0.38 GB/s; jeopardy.json nlohmann/json json_document 2.45 GB/s; jeopardy.json yyjson 1.83 GB/s; jeopardy.json simdjson D&#8203;OM 2.06 GB/s; jeopardy.json sonic-rs (Rust) 1.84 GB/s; jeopardy.json sonic-cpp 1.36 GB/s; jeopardy.json Boost.J&#8203;SON 0.62 GB/s; jeopardy.json nlohmann/json json::parse 0.34 GB/s.</desc>
<rect class="nj-charts-c1" x="8" y="10" width="12" height="12" rx="3"/>
<text class="nj-charts-leg" x="26" y="20.5">nlohmann/json json_document</text>
<rect class="nj-charts-c2" x="241.8" y="10" width="12" height="12" rx="3"/>
<text class="nj-charts-leg" x="259.8" y="20.5">yyjson</text>
<rect class="nj-charts-c3" x="320.2" y="10" width="12" height="12" rx="3"/>
<text class="nj-charts-leg" x="338.2" y="20.5">simdjson D&#8203;OM</text>
<rect class="nj-charts-c4" x="8" y="30" width="12" height="12" rx="3"/>
<text class="nj-charts-leg" x="26" y="40.5">sonic-rs (Rust)</text>
<rect class="nj-charts-c5" x="153" y="30" width="12" height="12" rx="3"/>
<text class="nj-charts-leg" x="171" y="40.5">sonic-cpp</text>
<rect class="nj-charts-c6" x="253.6" y="30" width="12" height="12" rx="3"/>
<text class="nj-charts-leg" x="271.6" y="40.5">Boost.J&#8203;SON</text>
<rect class="nj-charts-c1 nj-charts-dim" x="8" y="50" width="12" height="12" rx="3"/>
<text class="nj-charts-leg" x="26" y="60.5">nlohmann/json json::parse</text>
<line class="nj-charts-grid" x1="182.3" y1="80" x2="182.3" y2="448"/>
<text class="nj-charts-tick" x="182.3" y="464">0.5</text>
<line class="nj-charts-grid" x1="222.6" y1="80" x2="222.6" y2="448"/>
<text class="nj-charts-tick" x="222.6" y="464">1</text>
<line class="nj-charts-grid" x1="262.9" y1="80" x2="262.9" y2="448"/>
<text class="nj-charts-tick" x="262.9" y="464">1.5</text>
<line class="nj-charts-grid" x1="303.2" y1="80" x2="303.2" y2="448"/>
<text class="nj-charts-tick" x="303.2" y="464">2</text>
<line class="nj-charts-grid" x1="343.5" y1="80" x2="343.5" y2="448"/>
<text class="nj-charts-tick" x="343.5" y="464">2.5</text>
<line class="nj-charts-grid" x1="383.8" y1="80" x2="383.8" y2="448"/>
<text class="nj-charts-tick" x="383.8" y="464">3</text>
<line class="nj-charts-grid" x1="424.1" y1="80" x2="424.1" y2="448"/>
<text class="nj-charts-tick" x="424.1" y="464">3.5</text>
<line class="nj-charts-grid" x1="464.4" y1="80" x2="464.4" y2="448"/>
<text class="nj-charts-tick" x="464.4" y="464">4</text>
<line class="nj-charts-grid" x1="504.7" y1="80" x2="504.7" y2="448"/>
<text class="nj-charts-tick" x="504.7" y="464">4.5</text>
<line class="nj-charts-grid" x1="545" y1="80" x2="545" y2="448"/>
<text class="nj-charts-tick" x="545" y="464">5</text>
<text class="nj-charts-tick" x="343.5" y="482">GB/s, more is better</text>
<text class="nj-charts-rowlabel" x="134" y="129.5" text-anchor="end">twitter.json</text>
<path class="nj-charts-c1" d="M142 84 H416.142 Q420.142 84 420.142 88 V89 Q420.142 93 416.142 93 H142 Z"><title>nlohmann/json json_document, twitter.json: 3.45 GB/s</title></path>
<text class="nj-charts-val" x="424.142" y="91.5">3.45</text>
<path class="nj-charts-c2" d="M142 95 H400.371 Q404.371 95 404.371 99 V100 Q404.371 104 400.371 104 H142 Z"><title>yyjson, twitter.json: 3.26 GB/s</title></path>
<text class="nj-charts-val" x="408.371" y="102.5">3.26</text>
<path class="nj-charts-c3" d="M142 106 H389.98 Q393.98 106 393.98 110 V111 Q393.98 115 389.98 115 H142 Z"><title>simdjson D&#8203;OM, twitter.json: 3.13 GB/s</title></path>
<text class="nj-charts-val" x="397.98" y="113.5">3.13</text>
<path class="nj-charts-c4" d="M142 117 H306.543 Q310.543 117 310.543 121 V122 Q310.543 126 306.543 126 H142 Z"><title>sonic-rs (Rust), twitter.json: 2.09 GB/s</title></path>
<text class="nj-charts-val" x="314.543" y="124.5">2.09</text>
<path class="nj-charts-c5" d="M142 128 H272.301 Q276.301 128 276.301 132 V133 Q276.301 137 272.301 137 H142 Z"><title>sonic-cpp, twitter.json: 1.67 GB/s</title></path>
<text class="nj-charts-val" x="280.301" y="135.5">1.67</text>
<path class="nj-charts-c6" d="M142 139 H196.641 Q200.641 139 200.641 143 V144 Q200.641 148 196.641 148 H142 Z"><title>Boost.J&#8203;SON, twitter.json: 0.73 GB/s</title></path>
<text class="nj-charts-val" x="204.641" y="146.5">0.73</text>
<path class="nj-charts-c1 nj-charts-dim" d="M142 150 H175.648 Q179.648 150 179.648 154 V155 Q179.648 159 175.648 159 H142 Z"><title>nlohmann/json json::parse, twitter.json: 0.47 GB/s</title></path>
<text class="nj-charts-val" x="183.648" y="157.5">0.47</text>
<text class="nj-charts-rowlabel" x="134" y="220.5" text-anchor="end">citm_catalog.json</text>
<path class="nj-charts-c1" d="M142 175 H520.452 Q524.452 175 524.452 179 V180 Q524.452 184 520.452 184 H142 Z"><title>nlohmann/json json_document, citm_catalog.json: 4.75 GB/s</title></path>
<text class="nj-charts-val" x="528.452" y="182.5">4.75</text>
<path class="nj-charts-c2" d="M142 186 H429.24 Q433.24 186 433.24 190 V191 Q433.24 195 429.24 195 H142 Z"><title>yyjson, citm_catalog.json: 3.61 GB/s</title></path>
<text class="nj-charts-val" x="437.24" y="193.5">3.61</text>
<path class="nj-charts-c3" d="M142 197 H424.446 Q428.446 197 428.446 201 V202 Q428.446 206 424.446 206 H142 Z"><title>simdjson D&#8203;OM, citm_catalog.json: 3.55 GB/s</title></path>
<text class="nj-charts-val" x="432.446" y="204.5">3.55</text>
<path class="nj-charts-c4" d="M142 208 H347.658 Q351.658 208 351.658 212 V213 Q351.658 217 347.658 217 H142 Z"><title>sonic-rs (Rust), citm_catalog.json: 2.60 GB/s</title></path>
<text class="nj-charts-val" x="355.658" y="215.5">2.60</text>
<path class="nj-charts-c5" d="M142 219 H279.189 Q283.189 219 283.189 223 V224 Q283.189 228 279.189 228 H142 Z"><title>sonic-cpp, citm_catalog.json: 1.75 GB/s</title></path>
<text class="nj-charts-val" x="287.189" y="226.5">1.75</text>
<path class="nj-charts-c6" d="M142 230 H231.872 Q235.872 230 235.872 234 V235 Q235.872 239 231.872 239 H142 Z"><title>Boost.J&#8203;SON, citm_catalog.json: 1.16 GB/s</title></path>
<text class="nj-charts-val" x="239.872" y="237.5">1.16</text>
<path class="nj-charts-c1 nj-charts-dim" d="M142 241 H196.346 Q200.346 241 200.346 245 V246 Q200.346 250 196.346 250 H142 Z"><title>nlohmann/json json::parse, citm_catalog.json: 0.72 GB/s</title></path>
<text class="nj-charts-val" x="204.346" y="248.5">0.72</text>
<text class="nj-charts-rowlabel" x="134" y="311.5" text-anchor="end">canada.json</text>
<path class="nj-charts-c1" d="M142 266 H330.402 Q334.402 266 334.402 270 V271 Q334.402 275 330.402 275 H142 Z"><title>nlohmann/json json_document, canada.json: 2.39 GB/s</title></path>
<text class="nj-charts-val" x="338.402" y="273.5">2.39</text>
<path class="nj-charts-c2" d="M142 277 H259.85 Q263.85 277 263.85 281 V282 Q263.85 286 259.85 286 H142 Z"><title>yyjson, canada.json: 1.51 GB/s</title></path>
<text class="nj-charts-val" x="267.85" y="284.5">1.51</text>
<path class="nj-charts-c3" d="M142 288 H224.521 Q228.521 288 228.521 292 V293 Q228.521 297 224.521 297 H142 Z"><title>simdjson D&#8203;OM, canada.json: 1.07 GB/s</title></path>
<text class="nj-charts-val" x="232.521" y="295.5">1.07</text>
<path class="nj-charts-c4" d="M142 299 H233.141 Q237.141 299 237.141 303 V304 Q237.141 308 233.141 308 H142 Z"><title>sonic-rs (Rust), canada.json: 1.18 GB/s</title></path>
<text class="nj-charts-val" x="241.141" y="306.5">1.18</text>
<path class="nj-charts-c5" d="M142 310 H208.324 Q212.324 310 212.324 314 V315 Q212.324 319 208.324 319 H142 Z"><title>sonic-cpp, canada.json: 0.87 GB/s</title></path>
<text class="nj-charts-val" x="216.324" y="317.5">0.87</text>
<path class="nj-charts-c6" d="M142 321 H211.13 Q215.13 321 215.13 325 V326 Q215.13 330 211.13 330 H142 Z"><title>Boost.J&#8203;SON, canada.json: 0.91 GB/s</title></path>
<text class="nj-charts-val" x="219.13" y="328.5">0.91</text>
<path class="nj-charts-c1 nj-charts-dim" d="M142 332 H168.674 Q172.674 332 172.674 336 V337 Q172.674 341 168.674 341 H142 Z"><title>nlohmann/json json::parse, canada.json: 0.38 GB/s</title></path>
<text class="nj-charts-val" x="176.674" y="339.5">0.38</text>
<text class="nj-charts-rowlabel" x="134" y="402.5" text-anchor="end">jeopardy.json</text>
<path class="nj-charts-c1" d="M142 357 H335.421 Q339.421 357 339.421 361 V362 Q339.421 366 335.421 366 H142 Z"><title>nlohmann/json json_document, jeopardy.json: 2.45 GB/s</title></path>
<text class="nj-charts-val" x="343.421" y="364.5">2.45</text>
<path class="nj-charts-c2" d="M142 368 H285.574 Q289.574 368 289.574 372 V373 Q289.574 377 285.574 377 H142 Z"><title>yyjson, jeopardy.json: 1.83 GB/s</title></path>
<text class="nj-charts-val" x="293.574" y="375.5">1.83</text>
<path class="nj-charts-c3" d="M142 379 H304.433 Q308.433 379 308.433 383 V384 Q308.433 388 304.433 388 H142 Z"><title>simdjson D&#8203;OM, jeopardy.json: 2.06 GB/s</title></path>
<text class="nj-charts-val" x="312.433" y="386.5">2.06</text>
<path class="nj-charts-c4" d="M142 390 H286.258 Q290.258 390 290.258 394 V395 Q290.258 399 286.258 399 H142 Z"><title>sonic-rs (Rust), jeopardy.json: 1.84 GB/s</title></path>
<text class="nj-charts-val" x="294.258" y="397.5">1.84</text>
<path class="nj-charts-c5" d="M142 401 H247.737 Q251.737 401 251.737 405 V406 Q251.737 410 247.737 410 H142 Z"><title>sonic-cpp, jeopardy.json: 1.36 GB/s</title></path>
<text class="nj-charts-val" x="255.737" y="408.5">1.36</text>
<path class="nj-charts-c6" d="M142 412 H188.354 Q192.354 412 192.354 416 V417 Q192.354 421 188.354 421 H142 Z"><title>Boost.J&#8203;SON, jeopardy.json: 0.62 GB/s</title></path>
<text class="nj-charts-val" x="196.354" y="419.5">0.62</text>
<path class="nj-charts-c1 nj-charts-dim" d="M142 423 H165.345 Q169.345 423 169.345 427 V428 Q169.345 432 165.345 432 H142 Z"><title>nlohmann/json json::parse, jeopardy.json: 0.34 GB/s</title></path>
<text class="nj-charts-val" x="173.345" y="430.5">0.34</text>
<line class="nj-charts-zero" x1="142" y1="80" x2="142" y2="448"/>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

@@ -1,106 +0,0 @@
<svg class="nj-fig nj-charts nj-charts--blog" viewBox="0 0 580 472" role="img" aria-labelledby="nj-blog-view-dump nj-blog-view-dump-d" xmlns="http://www.w3.org/2000/svg">
<title id="nj-blog-view-dump">Write throughput of nlohmann/json&#x27;s json_document and json, and five other libraries, each writing a document parsed beforehand, Apple M1 Max</title>
<desc id="nj-blog-view-dump-d">Grouped horizontal bars of write throughput in GB/s, more is better. twitter.json nlohmann/json json_document 6.27 GB/s; twitter.json yyjson 4.48 GB/s; twitter.json simdjson D&#8203;OM 1.32 GB/s; twitter.json sonic-rs (Rust) 2.20 GB/s; twitter.json sonic-cpp 4.46 GB/s; twitter.json Boost.J&#8203;SON 0.94 GB/s; twitter.json nlohmann/json json::dump 2.15 GB/s; citm_catalog.json nlohmann/json json_document 3.77 GB/s; citm_catalog.json yyjson 3.02 GB/s; citm_catalog.json simdjson D&#8203;OM 1.00 GB/s; citm_catalog.json sonic-rs (Rust) 1.13 GB/s; citm_catalog.json sonic-cpp 2.25 GB/s; citm_catalog.json Boost.J&#8203;SON 1.00 GB/s; citm_catalog.json nlohmann/json json::dump 1.75 GB/s; canada.json nlohmann/json json_document 1.29 GB/s; canada.json yyjson 1.22 GB/s; canada.json simdjson D&#8203;OM 0.31 GB/s; canada.json sonic-rs (Rust) 0.86 GB/s; canada.json sonic-cpp 0.69 GB/s; canada.json Boost.J&#8203;SON 0.71 GB/s; canada.json nlohmann/json json::dump 0.93 GB/s; jeopardy.json nlohmann/json json_document 3.56 GB/s; jeopardy.json yyjson 2.61 GB/s; jeopardy.json simdjson D&#8203;OM 0.96 GB/s; jeopardy.json sonic-rs (Rust) 1.55 GB/s; jeopardy.json sonic-cpp 2.65 GB/s; jeopardy.json Boost.J&#8203;SON 0.83 GB/s; jeopardy.json nlohmann/json json::dump 1.68 GB/s.</desc>
<rect class="nj-charts-c1" x="8" y="10" width="12" height="12" rx="3"/>
<text class="nj-charts-leg" x="26" y="20.5">nlohmann/json json_document</text>
<rect class="nj-charts-c2" x="241.8" y="10" width="12" height="12" rx="3"/>
<text class="nj-charts-leg" x="259.8" y="20.5">yyjson</text>
<rect class="nj-charts-c3" x="320.2" y="10" width="12" height="12" rx="3"/>
<text class="nj-charts-leg" x="338.2" y="20.5">simdjson D&#8203;OM</text>
<rect class="nj-charts-c4" x="8" y="30" width="12" height="12" rx="3"/>
<text class="nj-charts-leg" x="26" y="40.5">sonic-rs (Rust)</text>
<rect class="nj-charts-c5" x="153" y="30" width="12" height="12" rx="3"/>
<text class="nj-charts-leg" x="171" y="40.5">sonic-cpp</text>
<rect class="nj-charts-c6" x="253.6" y="30" width="12" height="12" rx="3"/>
<text class="nj-charts-leg" x="271.6" y="40.5">Boost.J&#8203;SON</text>
<rect class="nj-charts-c1 nj-charts-dim" x="361.6" y="30" width="12" height="12" rx="3"/>
<text class="nj-charts-leg" x="379.6" y="40.5">nlohmann/json json::dump</text>
<line class="nj-charts-grid" x1="173" y1="60" x2="173" y2="428"/>
<text class="nj-charts-tick" x="173" y="444">0.5</text>
<line class="nj-charts-grid" x1="204" y1="60" x2="204" y2="428"/>
<text class="nj-charts-tick" x="204" y="444">1</text>
<line class="nj-charts-grid" x1="235" y1="60" x2="235" y2="428"/>
<text class="nj-charts-tick" x="235" y="444">1.5</text>
<line class="nj-charts-grid" x1="266" y1="60" x2="266" y2="428"/>
<text class="nj-charts-tick" x="266" y="444">2</text>
<line class="nj-charts-grid" x1="297" y1="60" x2="297" y2="428"/>
<text class="nj-charts-tick" x="297" y="444">2.5</text>
<line class="nj-charts-grid" x1="328" y1="60" x2="328" y2="428"/>
<text class="nj-charts-tick" x="328" y="444">3</text>
<line class="nj-charts-grid" x1="359" y1="60" x2="359" y2="428"/>
<text class="nj-charts-tick" x="359" y="444">3.5</text>
<line class="nj-charts-grid" x1="390" y1="60" x2="390" y2="428"/>
<text class="nj-charts-tick" x="390" y="444">4</text>
<line class="nj-charts-grid" x1="421" y1="60" x2="421" y2="428"/>
<text class="nj-charts-tick" x="421" y="444">4.5</text>
<line class="nj-charts-grid" x1="452" y1="60" x2="452" y2="428"/>
<text class="nj-charts-tick" x="452" y="444">5</text>
<line class="nj-charts-grid" x1="483" y1="60" x2="483" y2="428"/>
<text class="nj-charts-tick" x="483" y="444">5.5</text>
<line class="nj-charts-grid" x1="514" y1="60" x2="514" y2="428"/>
<text class="nj-charts-tick" x="514" y="444">6</text>
<line class="nj-charts-grid" x1="545" y1="60" x2="545" y2="428"/>
<text class="nj-charts-tick" x="545" y="444">6.5</text>
<text class="nj-charts-tick" x="343.5" y="462">GB/s, more is better</text>
<text class="nj-charts-rowlabel" x="134" y="109.5" text-anchor="end">twitter.json</text>
<path class="nj-charts-c1" d="M142 64 H526.566 Q530.566 64 530.566 68 V69 Q530.566 73 526.566 73 H142 Z"><title>nlohmann/json json_document, twitter.json: 6.27 GB/s</title></path>
<text class="nj-charts-val" x="534.566" y="71.5">6.27</text>
<path class="nj-charts-c2" d="M142 75 H415.814 Q419.814 75 419.814 79 V80 Q419.814 84 415.814 84 H142 Z"><title>yyjson, twitter.json: 4.48 GB/s</title></path>
<text class="nj-charts-val" x="423.814" y="82.5">4.48</text>
<path class="nj-charts-c3" d="M142 86 H219.728 Q223.728 86 223.728 90 V91 Q223.728 95 219.728 95 H142 Z"><title>simdjson D&#8203;OM, twitter.json: 1.32 GB/s</title></path>
<text class="nj-charts-val" x="227.728" y="93.5">1.32</text>
<path class="nj-charts-c4" d="M142 97 H274.163 Q278.163 97 278.163 101 V102 Q278.163 106 274.163 106 H142 Z"><title>sonic-rs (Rust), twitter.json: 2.20 GB/s</title></path>
<text class="nj-charts-val" x="282.163" y="104.5">2.20</text>
<path class="nj-charts-c5" d="M142 108 H414.751 Q418.751 108 418.751 112 V113 Q418.751 117 414.751 117 H142 Z"><title>sonic-cpp, twitter.json: 4.46 GB/s</title></path>
<text class="nj-charts-val" x="422.751" y="115.5">4.46</text>
<path class="nj-charts-c6" d="M142 119 H196.176 Q200.176 119 200.176 123 V124 Q200.176 128 196.176 128 H142 Z"><title>Boost.J&#8203;SON, twitter.json: 0.94 GB/s</title></path>
<text class="nj-charts-val" x="204.176" y="126.5">0.94</text>
<path class="nj-charts-c1 nj-charts-dim" d="M142 130 H271.586 Q275.586 130 275.586 134 V135 Q275.586 139 271.586 139 H142 Z"><title>nlohmann/json json::dump, twitter.json: 2.15 GB/s</title></path>
<text class="nj-charts-val" x="279.586" y="137.5">2.15</text>
<text class="nj-charts-rowlabel" x="134" y="200.5" text-anchor="end">citm_catalog.json</text>
<path class="nj-charts-c1" d="M142 155 H371.573 Q375.573 155 375.573 159 V160 Q375.573 164 371.573 164 H142 Z"><title>nlohmann/json json_document, citm_catalog.json: 3.77 GB/s</title></path>
<text class="nj-charts-val" x="379.573" y="162.5">3.77</text>
<path class="nj-charts-c2" d="M142 166 H325.197 Q329.197 166 329.197 170 V171 Q329.197 175 325.197 175 H142 Z"><title>yyjson, citm_catalog.json: 3.02 GB/s</title></path>
<text class="nj-charts-val" x="333.197" y="173.5">3.02</text>
<path class="nj-charts-c3" d="M142 177 H200.261 Q204.261 177 204.261 181 V182 Q204.261 186 200.261 186 H142 Z"><title>simdjson D&#8203;OM, citm_catalog.json: 1.00 GB/s</title></path>
<text class="nj-charts-val" x="208.261" y="184.5">1.00</text>
<path class="nj-charts-c4" d="M142 188 H207.877 Q211.877 188 211.877 192 V193 Q211.877 197 207.877 197 H142 Z"><title>sonic-rs (Rust), citm_catalog.json: 1.13 GB/s</title></path>
<text class="nj-charts-val" x="215.877" y="195.5">1.13</text>
<path class="nj-charts-c5" d="M142 199 H277.535 Q281.535 199 281.535 203 V204 Q281.535 208 277.535 208 H142 Z"><title>sonic-cpp, citm_catalog.json: 2.25 GB/s</title></path>
<text class="nj-charts-val" x="285.535" y="206.5">2.25</text>
<path class="nj-charts-c6" d="M142 210 H199.864 Q203.864 210 203.864 214 V215 Q203.864 219 199.864 219 H142 Z"><title>Boost.J&#8203;SON, citm_catalog.json: 1.00 GB/s</title></path>
<text class="nj-charts-val" x="207.864" y="217.5">1.00</text>
<path class="nj-charts-c1 nj-charts-dim" d="M142 221 H246.646 Q250.646 221 250.646 225 V226 Q250.646 230 246.646 230 H142 Z"><title>nlohmann/json json::dump, citm_catalog.json: 1.75 GB/s</title></path>
<text class="nj-charts-val" x="254.646" y="228.5">1.75</text>
<text class="nj-charts-rowlabel" x="134" y="291.5" text-anchor="end">canada.json</text>
<path class="nj-charts-c1" d="M142 246 H217.746 Q221.746 246 221.746 250 V251 Q221.746 255 217.746 255 H142 Z"><title>nlohmann/json json_document, canada.json: 1.29 GB/s</title></path>
<text class="nj-charts-val" x="225.746" y="253.5">1.29</text>
<path class="nj-charts-c2" d="M142 257 H213.534 Q217.534 257 217.534 261 V262 Q217.534 266 213.534 266 H142 Z"><title>yyjson, canada.json: 1.22 GB/s</title></path>
<text class="nj-charts-val" x="221.534" y="264.5">1.22</text>
<path class="nj-charts-c3" d="M142 268 H157.013 Q161.013 268 161.013 272 V273 Q161.013 277 157.013 277 H142 Z"><title>simdjson D&#8203;OM, canada.json: 0.31 GB/s</title></path>
<text class="nj-charts-val" x="165.013" y="275.5">0.31</text>
<path class="nj-charts-c4" d="M142 279 H191.622 Q195.622 279 195.622 283 V284 Q195.622 288 191.622 288 H142 Z"><title>sonic-rs (Rust), canada.json: 0.86 GB/s</title></path>
<text class="nj-charts-val" x="199.622" y="286.5">0.86</text>
<path class="nj-charts-c5" d="M142 290 H180.571 Q184.571 290 184.571 294 V295 Q184.571 299 180.571 299 H142 Z"><title>sonic-cpp, canada.json: 0.69 GB/s</title></path>
<text class="nj-charts-val" x="188.571" y="297.5">0.69</text>
<path class="nj-charts-c6" d="M142 301 H182.053 Q186.053 301 186.053 305 V306 Q186.053 310 182.053 310 H142 Z"><title>Boost.J&#8203;SON, canada.json: 0.71 GB/s</title></path>
<text class="nj-charts-val" x="190.053" y="308.5">0.71</text>
<path class="nj-charts-c1 nj-charts-dim" d="M142 312 H195.752 Q199.752 312 199.752 316 V317 Q199.752 321 195.752 321 H142 Z"><title>nlohmann/json json::dump, canada.json: 0.93 GB/s</title></path>
<text class="nj-charts-val" x="203.752" y="319.5">0.93</text>
<text class="nj-charts-rowlabel" x="134" y="382.5" text-anchor="end">jeopardy.json</text>
<path class="nj-charts-c1" d="M142 337 H358.607 Q362.607 337 362.607 341 V342 Q362.607 346 358.607 346 H142 Z"><title>nlohmann/json json_document, jeopardy.json: 3.56 GB/s</title></path>
<text class="nj-charts-val" x="366.607" y="344.5">3.56</text>
<path class="nj-charts-c2" d="M142 348 H299.698 Q303.698 348 303.698 352 V353 Q303.698 357 299.698 357 H142 Z"><title>yyjson, jeopardy.json: 2.61 GB/s</title></path>
<text class="nj-charts-val" x="307.698" y="355.5">2.61</text>
<path class="nj-charts-c3" d="M142 359 H197.371 Q201.371 359 201.371 363 V364 Q201.371 368 197.371 368 H142 Z"><title>simdjson D&#8203;OM, jeopardy.json: 0.96 GB/s</title></path>
<text class="nj-charts-val" x="205.371" y="366.5">0.96</text>
<path class="nj-charts-c4" d="M142 370 H234.265 Q238.265 370 238.265 374 V375 Q238.265 379 234.265 379 H142 Z"><title>sonic-rs (Rust), jeopardy.json: 1.55 GB/s</title></path>
<text class="nj-charts-val" x="242.265" y="377.5">1.55</text>
<path class="nj-charts-c5" d="M142 381 H302.122 Q306.122 381 306.122 385 V386 Q306.122 390 302.122 390 H142 Z"><title>sonic-cpp, jeopardy.json: 2.65 GB/s</title></path>
<text class="nj-charts-val" x="310.122" y="388.5">2.65</text>
<path class="nj-charts-c6" d="M142 392 H189.355 Q193.355 392 193.355 396 V397 Q193.355 401 189.355 401 H142 Z"><title>Boost.J&#8203;SON, jeopardy.json: 0.83 GB/s</title></path>
<text class="nj-charts-val" x="197.355" y="399.5">0.83</text>
<path class="nj-charts-c1 nj-charts-dim" d="M142 403 H242.327 Q246.327 403 246.327 407 V408 Q246.327 412 242.327 412 H142 Z"><title>nlohmann/json json::dump, jeopardy.json: 1.68 GB/s</title></path>
<text class="nj-charts-val" x="250.327" y="410.5">1.68</text>
<line class="nj-charts-zero" x1="142" y1="60" x2="142" y2="428"/>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB