380 lines
46 KiB
XML
380 lines
46 KiB
XML
<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 (0.85 doing less, N); nlohmann/json json_document minify: 1.00 (0.84 doing less, N); nlohmann/json json_document write: 1.00 (0.69 doing less, N); yyjson validate: 1.41; yyjson sum: 1.14; yyjson select: 1.30; yyjson edit: 1.48; yyjson minify: 1.26 (1.18 doing less, N); yyjson write: 1.23; simdjson validate: 1.52; simdjson sum: 1.21; simdjson select: 1.34 (0.76 doing less, P); simdjson edit: n/a; simdjson minify: 1.73 (0.18 doing less, P); simdjson write: 2.41; sonic-rs (Rust) validate: 1.91; 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.34; sonic-cpp validate: no fully validating way (2.50 doing less, U); sonic-cpp sum: no fully validating way (1.86 doing less, U); sonic-cpp select: no fully validating way (2.34 doing less, U); sonic-cpp edit: no fully validating way (1.70 doing less, U); sonic-cpp minify: no fully validating way (2.03 doing less, U); sonic-cpp write: 1.61; simd-json (Rust) validate: 2.05; simd-json (Rust) sum: 1.63; simd-json (Rust) select: 2.39; simd-json (Rust) edit: 2.85; simd-json (Rust) minify: 3.40; simd-json (Rust) write: 3.05; nlohmann/json json validate: 1.38; nlohmann/json json sum: 1.34; nlohmann/json json select: 6.09; nlohmann/json json edit: 3.22; nlohmann/json json minify: 4.39; nlohmann/json json write: 2.03; Glaze validate: 2.03; Glaze sum: 3.88; Glaze select: 1.81 (0.81 doing less, P); Glaze edit: 4.44; Glaze minify: 5.23 (1.05 doing less, P); Glaze write: 2.19; Boost.J​SON validate: 2.54; Boost.J​SON sum: 2.02; Boost.J​SON select: 3.31; Boost.J​SON edit: 3.23; Boost.J​SON minify: 3.89; Boost.J​SON write: 3.67; serde_json (Rust) validate: 2.44 (2.21 doing less, U); serde_json (Rust) sum: 2.60; serde_json (Rust) select: 2.41 (2.26 doing less, U); serde_json (Rust) edit: 5.02; serde_json (Rust) minify: 5.85; serde_json (Rust) write: 2.90; RapidJSON validate: 4.67 (3.09 doing less, U); RapidJSON sum: 4.18 (2.89 doing less, U); RapidJSON select: 6.02 (3.93 doing less, U); RapidJSON edit: 4.85 (3.83 doing less, U); RapidJSON minify: 4.85 (3.66 doing less, U N); RapidJSON write: 5.74.</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>
|
||
<text class="nj-charts-tick" x="546" y="34">edit</text>
|
||
<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: 172 µs citm_catalog.json: 313 µs canada.json: 905 µs jeopardy.json: 20,926 µ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: 219 µs citm_catalog.json: 493 µs canada.json: 1,803 µs jeopardy.json: 28,898 µ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: 183 µs citm_catalog.json: 363 µs canada.json: 944 µs jeopardy.json: 24,801 µ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: 288 µs citm_catalog.json: 559 µs canada.json: 2,737 µs jeopardy.json: 58,019 µ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 · edit, checking less 0.85× the time of the fastest fully validating library way: editable (source numbers) twitter.json: 281 µs (validates fully) citm_catalog.json: 557 µs (validates fully) canada.json: 1,504 µs (validates fully) jeopardy.json: 57,885 µs (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 · minify 1.00× the time of the fastest library (fully validating) way: parse + dump twitter.json: 261 µs citm_catalog.json: 496 µs canada.json: 2,570 µs jeopardy.json: 37,624 µ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.84× the time of the fastest fully validating library twitter.json: 252 µs · parse + dump (source numbers) (validates fully) citm_catalog.json: 494 µs · parse + dump (source numbers) (validates fully) canada.json: 1,343 µs · parse + dump (source numbers) (validates fully) jeopardy.json: 37,624 µ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.84</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: 76.2 µs citm_catalog.json: 139 µs canada.json: 1,625 µs jeopardy.json: 14,861 µ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.69× the time of the fastest fully validating library way: dump (source numbers) twitter.json: 72.8 µs (validates fully) citm_catalog.json: 136 µs (validates fully) canada.json: 398 µs (validates fully) jeopardy.json: 14,758 µ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.69</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: 183 µs · insitu (copy) citm_catalog.json: 476 µs · read canada.json: 1,487 µs · insitu (copy) jeopardy.json: 30,922 µs · read (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>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="yyjson · sum 1.14× the time of the fastest library (fully validating) twitter.json: 231 µs · insitu (copy) citm_catalog.json: 571 µs · read canada.json: 1,875 µs · read jeopardy.json: 37,817 µs · insitu (copy) (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.14</text>
|
||
</g>
|
||
<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: 480 µs · read canada.json: 1,489 µs · insitu (copy) jeopardy.json: 32,777 µ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.30</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: 440 µs · insitu (copy) + mut copy citm_catalog.json: 904 µs · mut copy canada.json: 3,692 µs · mut copy jeopardy.json: 84,466 µ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.48</text>
|
||
</g>
|
||
<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 · insitu (copy) + write citm_catalog.json: 642 µs · read + write canada.json: 3,222 µs · insitu (copy) + write jeopardy.json: 51,001 µ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 · minify, checking less 1.18× the time of the fastest fully validating library twitter.json: 298 µs · insitu (copy) + write (validates fully) citm_catalog.json: 642 µs · read + write (validates fully) canada.json: 2,523 µs · read (raw numbers) + write (validates fully) jeopardy.json: 51,001 µ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.18</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.23× the time of the fastest library (fully validating) way: write twitter.json: 101 µs citm_catalog.json: 167 µs canada.json: 1,719 µs jeopardy.json: 19,937 µ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>
|
||
</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.52× the time of the fastest library (fully validating) way: D​OM twitter.json: 215 µs citm_catalog.json: 460 µs canada.json: 1,890 µs jeopardy.json: 28,890 µ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.21× the time of the fastest library (fully validating) twitter.json: 249 µs · D​OM citm_catalog.json: 572 µs · On-Demand canada.json: 2,398 µs · On-Demand jeopardy.json: 34,994 µ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.21</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: 192 µs citm_catalog.json: 454 µs canada.json: 1,893 µs jeopardy.json: 30,714 µ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>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="simdjson · select, checking less 0.76× the time of the fastest fully validating library twitter.json: 128 µs · On-Demand structs citm_catalog.json: 356 µs · On-Demand canada.json: 571 µs · On-Demand jeopardy.json: 19,633 µ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.76</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 1.73× the time of the fastest library (fully validating) way: D​OM + to_string twitter.json: 425 µs citm_catalog.json: 850 µs canada.json: 5,094 µs jeopardy.json: 61,202 µ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">1.73</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: 62.5 µs citm_catalog.json: 168 µs canada.json: 227 µs jeopardy.json: 5,756 µ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 2.41× the time of the fastest library (fully validating) way: to_string twitter.json: 201 µs citm_catalog.json: 416 µs canada.json: 3,186 µs jeopardy.json: 32,185 µ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">2.41</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.91× 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.91</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">
|
||
<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>
|
||
</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">
|
||
<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>
|
||
</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"/>
|
||
<text class="nj-charts-cell" x="546" y="174" text-anchor="middle">2.10</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · minify 1.93× the time of the fastest library (fully validating) way: Value twitter.json: 535 µs citm_catalog.json: 1,134 µs canada.json: 4,377 µs jeopardy.json: 64,832 µ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.93</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="sonic-rs (Rust) · write 2.34× 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.34</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.50× the time of the fastest fully validating library way: Document twitter.json: 382 µs citm_catalog.json: 985 µs canada.json: 2,579 µs jeopardy.json: 40,996 µs trusts U​TF-8: sonic-cpp 1.0.2 doesn't check it">
|
||
<rect class="nj-heat-2" x="225" y="189" width="90" height="34" rx="3"/>
|
||
<text class="nj-charts-cell" x="270" y="204" text-anchor="middle">2.50</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.86× the time of the fastest fully validating library way: Document twitter.json: 428 µs citm_catalog.json: 1,098 µs canada.json: 2,975 µs jeopardy.json: 48,487 µ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.86</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.34× the time of the fastest fully validating library way: Document twitter.json: 385 µs citm_catalog.json: 993 µs canada.json: 2,611 µs jeopardy.json: 46,356 µ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.34</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.70× the time of the fastest fully validating library way: Document twitter.json: 488 µs citm_catalog.json: 1,218 µs canada.json: 5,662 µs jeopardy.json: 63,697 µ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.70</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.03× the time of the fastest fully validating library way: Document + Serialize twitter.json: 504 µs citm_catalog.json: 1,217 µs canada.json: 5,634 µs jeopardy.json: 61,988 µ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.03</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.61× the time of the fastest library (fully validating) way: Serialize twitter.json: 114 µs citm_catalog.json: 240 µs canada.json: 3,109 µs jeopardy.json: 20,327 µ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.61</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.05× 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.05</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · sum 1.63× 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.63</text>
|
||
</g>
|
||
<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.39</text>
|
||
</g>
|
||
<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.85</text>
|
||
</g>
|
||
<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.40</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="simd-json (Rust) · write 3.05× 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.05</text>
|
||
</g>
|
||
<text class="nj-charts-rowlabel nj-charts-name-json" x="216" y="282" text-anchor="end">nlohmann/json json</text>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · validate 1.38× the time of the fastest library (fully validating) way: accept twitter.json: 234 µs citm_catalog.json: 456 µs canada.json: 1,253 µs jeopardy.json: 27,563 µs">
|
||
<rect class="nj-heat-1" x="225" y="261" width="90" height="34" rx="3"/>
|
||
<text class="nj-charts-cell" x="270" y="282" text-anchor="middle">1.38</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · sum 1.34× the time of the fastest library (fully validating) way: sax twitter.json: 303 µs citm_catalog.json: 602 µs canada.json: 2,208 µs jeopardy.json: 44,688 µs">
|
||
<rect class="nj-heat-1" x="317" y="261" width="90" height="34" rx="3"/>
|
||
<text class="nj-charts-cell" x="362" y="282" text-anchor="middle">1.34</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · select 6.09× the time of the fastest library (fully validating) way: parse twitter.json: 1,208 µs citm_catalog.json: 2,128 µs canada.json: 5,088 µs jeopardy.json: 163,712 µs">
|
||
<rect class="nj-heat-4" x="409" y="261" width="90" height="34" rx="3"/>
|
||
<text class="nj-charts-cell" x="454" y="282" text-anchor="middle">6.09</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · edit 3.22× the time of the fastest library (fully validating) twitter.json: 1,115 µs · ordered_json citm_catalog.json: 2,065 µs · ordered_json canada.json: 7,348 µs · parse jeopardy.json: 162,216 µs · ordered_json">
|
||
<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.22</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · minify 4.39× the time of the fastest library (fully validating) way: parse + dump twitter.json: 1,446 µs citm_catalog.json: 2,406 µs canada.json: 7,328 µs jeopardy.json: 182,132 µs">
|
||
<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">4.39</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="nlohmann/json json · write 2.03× the time of the fastest library (fully validating) way: dump twitter.json: 216 µs citm_catalog.json: 287 µs canada.json: 2,274 µs jeopardy.json: 30,928 µ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.03</text>
|
||
</g>
|
||
<text class="nj-charts-rowlabel " x="216" y="318" 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: 333 µs citm_catalog.json: 854 µs canada.json: 1,302 µs jeopardy.json: 46,251 µs">
|
||
<rect class="nj-heat-2" x="225" y="297" width="90" height="34" rx="3"/>
|
||
<text class="nj-charts-cell" x="270" y="318" text-anchor="middle">2.03</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · sum 3.88× the time of the fastest library (fully validating) way: generic (double, strict) twitter.json: 974 µs citm_catalog.json: 2,057 µs canada.json: 6,338 µs jeopardy.json: 100,272 µs">
|
||
<rect class="nj-heat-3" x="317" y="297" width="90" height="34" rx="3"/>
|
||
<text class="nj-charts-cell" x="362" y="318" text-anchor="middle">3.88</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · select 1.81× the time of the fastest library (fully validating) way: structs (validate_skipped) twitter.json: 314 µs citm_catalog.json: 852 µs canada.json: 1,303 µs jeopardy.json: 47,692 µs">
|
||
<rect class="nj-heat-2" x="409" y="297" width="44" height="34" rx="3"/>
|
||
<text class="nj-charts-cell" x="431.5" y="318" text-anchor="middle">1.81</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: 253 µs canada.json: 310 µs jeopardy.json: 36,013 µ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="297" width="44" height="34" rx="3"/>
|
||
<text class="nj-charts-cell" x="476.5" y="312" text-anchor="middle">0.81</text>
|
||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="325" text-anchor="middle">P</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · edit 4.44× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 1,527 µs citm_catalog.json: 3,216 µs canada.json: 11,033 µs jeopardy.json: 183,648 µ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.44</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify 5.23× the time of the fastest library (fully validating) way: generic (strict) twitter.json: 1,512 µs citm_catalog.json: 3,245 µs canada.json: 11,112 µs jeopardy.json: 172,173 µs">
|
||
<rect class="nj-heat-4" x="593" y="297" width="44" height="34" rx="3"/>
|
||
<text class="nj-charts-cell" x="615.5" y="318" text-anchor="middle">5.23</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="Glaze · minify, checking less 1.05× the time of the fastest fully validating library way: minify_json twitter.json: 284 µs citm_catalog.json: 747 µs canada.json: 1,746 µs jeopardy.json: 40,439 µs minify_json only removes whitespace, without parsing the values">
|
||
<rect class="nj-heat-0" x="639" y="297" width="44" height="34" rx="3"/>
|
||
<text class="nj-charts-cell" x="660.5" y="312" text-anchor="middle">1.05</text>
|
||
<text class="nj-charts-cell nj-charts-cell--small" x="660.5" y="325" 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) twitter.json: 212 µs · generic citm_catalog.json: 476 µs · generic (strict) canada.json: 1,702 µs · generic (strict) jeopardy.json: 34,032 µs · generic">
|
||
<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.19</text>
|
||
</g>
|
||
<text class="nj-charts-rowlabel " x="216" y="354" text-anchor="end">Boost.J​SON</text>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · validate 2.54× the time of the fastest library (fully validating) way: S​AX (numbers: none) twitter.json: 540 µs citm_catalog.json: 990 µs canada.json: 1,449 µs jeopardy.json: 54,480 µ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.54</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · sum 2.02× the time of the fastest library (fully validating) way: S​AX twitter.json: 538 µs citm_catalog.json: 1,028 µs canada.json: 3,084 µs jeopardy.json: 54,765 µ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">2.02</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · select 3.31× the time of the fastest library (fully validating) twitter.json: 623 µs · parse_into structs citm_catalog.json: 1,208 µs · parse_into structs canada.json: 3,638 µs · parse jeopardy.json: 67,923 µs · parse_into structs">
|
||
<rect class="nj-heat-3" x="409" y="333" width="90" height="34" rx="3"/>
|
||
<text class="nj-charts-cell" x="454" y="354" text-anchor="middle">3.31</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · edit 3.23× the time of the fastest library (fully validating) way: parse twitter.json: 1,355 µs citm_catalog.json: 1,997 µs canada.json: 6,522 µs jeopardy.json: 157,849 µ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">3.23</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · minify 3.89× the time of the fastest library (fully validating) way: parse + serialize twitter.json: 1,407 µs citm_catalog.json: 2,003 µs canada.json: 6,555 µs jeopardy.json: 154,865 µ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">3.89</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="Boost.J​SON · write 3.67× the time of the fastest library (fully validating) way: serialize twitter.json: 499 µs citm_catalog.json: 511 µs canada.json: 2,873 µs jeopardy.json: 63,201 µ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">3.67</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.44× 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.44</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · validate, checking less 2.21× 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.21</text>
|
||
<text class="nj-charts-cell nj-charts-cell--small" x="292.5" y="397" text-anchor="middle">U</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · sum 2.60× 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.60</text>
|
||
</g>
|
||
<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="369" width="44" height="34" rx="3"/>
|
||
<text class="nj-charts-cell" x="431.5" y="390" text-anchor="middle">2.41</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · select, checking less 2.26× 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.26</text>
|
||
<text class="nj-charts-cell nj-charts-cell--small" x="476.5" y="397" text-anchor="middle">U</text>
|
||
</g>
|
||
<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="369" width="90" height="34" rx="3"/>
|
||
<text class="nj-charts-cell" x="546" y="390" text-anchor="middle">5.02</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · minify 5.85× 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.85</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="serde_json (Rust) · write 2.90× 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.90</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 4.67× the time of the fastest library (fully validating) twitter.json: 1,318 µs · insitu (copy) citm_catalog.json: 1,391 µs · S​AX (string stream, default precision) canada.json: 1,971 µs · S​AX (string stream, default precision) jeopardy.json: 133,695 µs · S​AX (string stream, default precision) (copy): parses in place, on a copy of the input that is part of the time">
|
||
<rect class="nj-heat-3" x="225" y="405" width="44" height="34" rx="3"/>
|
||
<text class="nj-charts-cell" x="247.5" y="426" text-anchor="middle">4.67</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · validate, checking less 3.09× the time of the fastest fully validating library twitter.json: 706 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,033 µs · S​AX (string stream, default precision) (no encoding check) canada.json: 1,971 µs · S​AX (string stream, default precision) (validates fully) jeopardy.json: 64,732 µ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">3.09</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.18× the time of the fastest library (fully validating) twitter.json: 1,332 µs · S​AX citm_catalog.json: 1,472 µs · S​AX (string stream) canada.json: 6,448 µs · S​AX (string stream) jeopardy.json: 136,330 µs · S​AX (string stream)">
|
||
<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.18</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · sum, checking less 2.89× the time of the fastest fully validating library twitter.json: 738 µs · S​AX (string stream) (no encoding check) citm_catalog.json: 1,157 µs · S​AX (string stream) (no encoding check) canada.json: 6,432 µs · S​AX (string stream) (no encoding check) jeopardy.json: 71,646 µ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.89</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 6.02× the time of the fastest library (fully validating) twitter.json: 1,314 µs · insitu (copy) citm_catalog.json: 1,578 µs · insitu (copy) canada.json: 6,814 µs · Document (string stream) jeopardy.json: 144,649 µ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="409" y="405" width="44" height="34" rx="3"/>
|
||
<text class="nj-charts-cell" x="431.5" y="426" text-anchor="middle">6.02</text>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · select, checking less 3.93× the time of the fastest fully validating library twitter.json: 701 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,166 µs · insitu (copy) (no encoding check) canada.json: 6,745 µs · Document (string stream) (no encoding check) jeopardy.json: 67,617 µ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.93</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,924 µs · Document citm_catalog.json: 2,393 µs · insitu (copy) canada.json: 13,711 µs · Document (string stream) jeopardy.json: 224,328 µs · Document (string stream) (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>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · edit, checking less 3.83× the time of the fastest fully validating library twitter.json: 1,356 µs · insitu (copy) (no encoding check) citm_catalog.json: 1,992 µs · insitu (copy) (no encoding check) canada.json: 13,711 µs · Document (string stream) (validates fully) jeopardy.json: 147,902 µ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">3.83</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,523 µs · S​AX to Writer citm_catalog.json: 1,803 µs · S​AX to Writer (string stream) canada.json: 14,378 µs · Document + Writer jeopardy.json: 174,958 µs · S​AX to Writer (string stream)">
|
||
<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>
|
||
</g>
|
||
<g class="nj-heat-cell" tabindex="0" data-tip="RapidJSON · minify, checking less 3.66× the time of the fastest fully validating library twitter.json: 1,044 µs · S​AX to Writer (string stream) (no encoding check) citm_catalog.json: 1,499 µs · S​AX to Writer (string stream) (no encoding check) canada.json: 11,568 µs · S​AX to Writer (raw numbers) (validates fully) jeopardy.json: 123,908 µs · S​AX to Writer (string stream) (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">3.66</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: 596 µs citm_catalog.json: 836 µs canada.json: 6,928 µs jeopardy.json: 80,160 µ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>
|
||
</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"/>
|
||
<text class="nj-charts-cell nj-charts-cell--small" x="46" y="496" text-anchor="middle">below 1.15</text></g>
|
||
<g><rect class="nj-heat-1" x="88" y="482" width="76" height="20" rx="3"/>
|
||
<text class="nj-charts-cell nj-charts-cell--small" x="126" y="496" text-anchor="middle">1.15 to 1.5</text></g>
|
||
<g><rect class="nj-heat-2" x="168" y="482" width="76" height="20" rx="3"/>
|
||
<text class="nj-charts-cell nj-charts-cell--small" x="206" y="496" text-anchor="middle">1.5 to 2.5</text></g>
|
||
<g><rect class="nj-heat-3" x="248" y="482" width="76" height="20" rx="3"/>
|
||
<text class="nj-charts-cell nj-charts-cell--small" x="286" y="496" text-anchor="middle">2.5 to 5</text></g>
|
||
<g><rect class="nj-heat-4" x="328" y="482" width="76" height="20" rx="3"/>
|
||
<text class="nj-charts-cell nj-charts-cell--small" x="366" y="496" text-anchor="middle">5 and more</text></g>
|
||
<rect class="nj-heat-na" x="420" y="482" width="40" height="20" rx="3"/>
|
||
<text class="nj-charts-tick" x="440" y="496">n/a</text>
|
||
<text class="nj-charts-tick nj-charts-tick--l" x="468" y="496">no A​PI for it</text>
|
||
</svg>
|