From 5f493067275e546cdb4b8fc17ef6bc991feeb8a4 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Tue, 3 Nov 2026 15:31:38 +0100 Subject: [PATCH] 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 --- .../docs/home/blog/how_3_13_0_got_faster.md | 1360 ++-- docs/mkdocs/docs/images/perf_blog_cliffs.svg | 70 +- .../docs/images/perf_blog_distribution.svg | 18 +- docs/mkdocs/docs/images/perf_blog_heldout.svg | 108 +- .../mkdocs/docs/images/perf_blog_overview.svg | 74 +- docs/mkdocs/docs/images/perf_blog_price.svg | 96 +- .../perf_blog_timeline_accept_twitter.svg | 58 +- .../images/perf_blog_timeline_dump_canada.svg | 28 +- .../perf_blog_timeline_dump_twitter.svg | 41 +- .../perf_blog_timeline_from_cbor_twitter.svg | 44 +- .../perf_blog_timeline_parse_canada.svg | 60 +- .../images/perf_blog_timeline_parse_citm.svg | 58 +- ...f_blog_timeline_parse_twitter_ifstream.svg | 28 +- .../perf_blog_timeline_to_cbor_twitter.svg | 36 +- .../docs/images/perf_blog_usecases_mac.svg | 354 +- .../images/perf_blog_usecases_x86-clang.svg | 334 +- .../images/perf_blog_usecases_x86-gcc.svg | 368 +- .../images/perf_blog_usecases_x86-gcc13.svg | 339 +- .../figures/data/perf_heldout_validate.json | 1618 ++--- .../scripts/figures/data/perf_suite.csv | 364 +- .../scripts/figures/data/perf_timeline.csv | 38 +- .../figures/data/perf_usecases_mac.json | 4358 ++++++------ .../figures/data/perf_usecases_x86-clang.json | 5870 ++++++++--------- .../figures/data/perf_usecases_x86-gcc.json | 5778 ++++++++-------- .../figures/data/perf_usecases_x86-gcc13.json | 5762 ++++++++-------- docs/mkdocs/scripts/figures/perf_blog.py | 100 +- .../scripts/figures/perf_blog_tables.py | 7 +- 27 files changed, 13759 insertions(+), 13610 deletions(-) diff --git a/docs/mkdocs/docs/home/blog/how_3_13_0_got_faster.md b/docs/mkdocs/docs/home/blog/how_3_13_0_got_faster.md index 726ca8e4c..a87280bdf 100644 --- a/docs/mkdocs/docs/home/blog/how_3_13_0_got_faster.md +++ b/docs/mkdocs/docs/home/blog/how_3_13_0_got_faster.md @@ -4,13 +4,14 @@ + comparison), including the line counts in "The price". The numbers below are from develop baba5db36f with the + open non-draft pull requests #5998, #6001, #6002 and #6017-#6019 merged (local branch local/all-prs-1103 at + 5c8ccf2f38), all measured 11-03: suite (rounds 2 and 3; round 1 ran under load), timeline (the commits after + 10-27 and 3.13.0; the older points are from 10-27, checked with 12 of them), Appendix D, compile times (5 + rounds), the stream gap, the comparison on the Mac and on x86-64, and the suite on the Intel MacBook Pro. The Mac's + Rust times are from 10-29 and the x86-64 conformance run from 10-30. The x86-64 server now runs Ubuntu 26.04, so + "GCC 13" is 13.4 (10-31: 13.3 on Ubuntu 24.04). Merge tests/benchmarks/json_view/others before publishing (the + links 404). --> Since 2016, the [README](https://github.com/nlohmann/json#readme) of this library has said this about speed: @@ -18,22 +19,23 @@ Since 2016, the [README](https://github.com/nlohmann/json#readme) of this librar > JSON support with a single header, then this library is the way to go. That sentence is still true, but the gap is a lot smaller now. Swap the 3.12.0 header for the 3.13.0 one and -recompile, and the 182 benchmarks of the library's own suite run 3.0× as fast on an Apple M1 Max (geometric mean), -without a line of your code changing. Parsing typical documents got three to four times as fast, and writing them -three to seven times. 3.13.0 also adds [`json_document`](../../features/json_view.md), a second way to +recompile, and the 182 benchmarks of the library's own suite run 3.0× as fast on an Apple M1 Max (geometric mean; 3.1× on an Intel MacBook Pro from 2016), +without a line of your code changing. Parsing typical documents got 3.1–4.3× as fast, and writing them +3.0–6.7×. The new version also adds [`json_document`](../../features/json_view.md), a second way to hold a parsed document, which competes with the fastest C++ and Rust JSON libraries; [How it compares](#how-it-compares) has the numbers, including where it loses. The price is compile time: two small -example programs take 20 to 63 % longer to compile. A precompiled header or a C++20 module wins back most or all of -that in debug builds, and a quarter to four fifths of it in optimized builds ([The price](#the-price)). +example programs take 34–62 % longer to compile. A precompiled header or a C++20 module wins back most or all of +that in debug builds, and 41–91 % of it in optimized builds ([The price](#the-price)). -This post is about *how*. None of the techniques is new: almost every one of them is borrowed from +This post is about *how*. Hardly any of the techniques is new: we borrowed them from [simdjson](https://github.com/simdjson/simdjson), [yyjson](https://github.com/ibireme/yyjson), [fast_float](https://github.com/fastfloat/fast_float), [Żmij](https://github.com/vitaut/zmij), [serde_json](https://github.com/serde-rs/json), [Glaze](https://github.com/stephenberry/glaze), -[SQLite](https://sqlite.org), [Boost.JSON](https://github.com/boostorg/json) or a textbook, and we name the source at each step. What we think is -worth writing about is the combination, and the conditions it had to work under: a C++11 header-only library with a -value type that is a template over its string, number, object and allocator types; input from strings, streams, -`FILE*`, iterator pairs, wide strings and user-defined adapters; output that had to stay the same byte for byte; and +[SQLite](https://sqlite.org), [Boost.JSON](https://github.com/boostorg/json), or a textbook, and we name the source at each step. What we think is +worth writing about is the *combination*, and the conditions it had to work under: a C++11 header-only library whose +3.x API has been stable for almost nine years, with a value type that is a template over its string, number, object, +array, and allocator types; input from strings, streams, +`FILE*`, iterator pairs, wide strings, and user-defined adapters; output that had to stay the same byte for byte; and error messages that had to keep pointing at the same byte. The few deliberate changes of output are listed in [Appendix F](#f-behavior-changes). @@ -41,9 +43,10 @@ Every number comes from a benchmark we ran for this post or from the pull reques [appendix](#appendix) describes the test files and the setup, has the full tables behind every chart, and lists the pull requests behind each theme. -Fast paths are where the bugs are: they read 8 or 16 bytes at a time, skip work the slow path did, and are taken only -for some inputs. So each of them was checked against the slow path it replaces, down to the same error message at the -same byte, on millions of generated and fuzzed inputs. [Appendix J](#j-validation) lists the checks. +Fast paths are where bugs hide: they run only for some inputs, so a mistake in one can go unnoticed until the right +input comes along. So every fast path was tested against the slow path it replaces, on millions of generated and +fuzzed inputs. Both had to return the same value, or fail with the same error message at the same byte. +[Appendix J](#j-validation) lists the checks. ## The short version @@ -64,22 +67,24 @@ The rows above are chosen to show the range. All 182 benchmarks of the suite: --8<-- "images/perf_blog_distribution.svg" -

How many of the suite's 182 benchmarks got how much faster. The two below 1× are copying `citm_catalog.json` and `twitter.json` without destroying the copy. Every row is in [Appendix B](#b-3120-against-3130).

+

How many of the suite's 182 benchmarks got how much faster. The one below 1× is copying `citm_catalog.json` without destroying the copy. Every row is in [Appendix B](#b-3120-against-3130).

-The median benchmark got 3.0× as fast. Copying and comparing values gained the least, and the largest +The median benchmark got 2.9× as fast. On an Intel MacBook Pro (Skylake), the median is 2.9× as well, but parsing floating-point +numbers gained more (`canada.json` 6.1× instead of 3.4×) and writing integers less (`dump()` 1.4–2.3× instead of +2.2–3.8×); [Appendix B](#b-3120-against-3130) has both columns. Copying and comparing values gained the least, and the largest gains come from fixing algorithms rather than tuning them (theme 7). Eight themes did most of the work:
-- 1 [Specialize for each input](#theme-1): a dedicated reader for strings, streams and `FILE*`, instead of one +- 1 [Specialize for each input](#theme-1): a dedicated reader for strings, streams, and `FILE*`, instead of one character at a time for all of them. - 2 [Work on words, not bytes](#theme-2): 8 bytes per step with plain integer arithmetic, 16 with SSE2 and NEON. -- 3 [Own the number conversions](#theme-3): no `strtod`, no locale, no `snprintf`. -- 4 [Don't do unnecessary work](#theme-4): positions, copies and conversions that only matter on an error or for a +- 3 [Own the number conversions](#theme-3): no `strtod`, no locale. +- 4 [Don't do unnecessary work](#theme-4): positions, copies, and conversions that only matter on an error or for a rare caller. -- 5 [Read the assembly](#theme-5): stack canaries, missed inlining, aliasing and branches the compiler chose. +- 5 [Read the assembly](#theme-5): stack canaries, missed inlining, aliasing, and branches the compiler chose. - 6 [Write through a cursor](#theme-6): no virtual call per character, no allocation per call, no branch per integer. - 7 [Fix the algorithm first](#theme-7): seven operations were quadratic or worse. @@ -90,7 +95,7 @@ Eight themes did most of the work: ## Where the time went: a timeline The suite compares two points. To see which change did what, we compiled one small benchmark against the header of -each of the 315 commits on `develop` that changed `json.hpp` or `json_view.hpp` from 3.12.0 to October 27, and of +each of the 351 commits on `develop` that changed `json.hpp` or `json_view.hpp` from 3.12.0 to November 3, and of 3.13.0, and ran all of them interleaved. Four of the eight workloads we followed: @@ -99,8 +104,7 @@ interleaved. Four of the eight workloads we followed: - `dump()` of `twitter.json`: writing strings; - `from_cbor()` of `twitter.json`: reading a binary format. -Each panel shows the speedup over 3.12.0 after each commit, on a logarithmic scale so that a step of 2× has the same -height everywhere. The badges above the steps name the theme below that explains them. Moving code around changes a +Each panel shows the speedup over 3.12.0 after each commit, on a logarithmic scale. The badges above the steps name the theme below that explains them. Moving code around changes a build's speed by a few percent on its own, so only the larger steps mean something.
@@ -118,13 +122,13 @@ build's speed by a few percent on its own, so only the larger steps mean somethi
-

Speedup over 3.12.0 after each of the 315 commits that changed the headers up to October 27, from 3.12.0 (left) to 3.13.0 (right), whose step also holds 21 later commits. More is better; each point is the median of 4 interleaved runs of one build. The badges are theme numbers; "U" is a UTF-8 check that came and went. The other four workloads, and every labeled step with its pull request and size, are in [Appendix C](#c-the-timeline).

+

Speedup over 3.12.0 after each of the 351 commits that changed the headers up to November 3, from 3.12.0 (left) to 3.13.0 (right). More is better; each point is the median of 4 interleaved runs of one build. The badges are theme numbers; "U" is a UTF-8 check that came and went. The other four workloads, and every labeled step with its pull request and size, are in [Appendix C](#c-the-timeline).

A few things stand out: -- **There is no single big step.** Parsing `citm_catalog.json` got faster in about half a dozen visible steps. The largest - removed a buffer that only error messages read, which alone saved a third of the time. The next ones added the fast - paths for contiguous input, derived positions only on error and skipped indentation eight bytes at a time; most +- **There is no single big step.** Parsing `citm_catalog.json` got faster in about six visible steps. The largest + removed a buffer that only error messages read, which alone saved 35 % of the time. The next ones added the fast + paths for contiguous input, derived positions only on error, and skipped indentation eight bytes at a time; most other changes moved it by a few percent. - **Writing had a few large steps.** `dump()` of `twitter.json` lost 70 % of its time in one change (a write buffer and bulk string copies), and `dump()` of `canada.json` 65 % in another (Żmij). @@ -175,8 +179,8 @@ char_int_type get() Two counters in memory, a branch for a pending `unget()`, a call into the input adapter, a `push_back()` into a buffer that only an error message reads, and a branch for line breaks. The counters are members of the lexer, so the -compiler has to load, add and store them for every byte. A string or a number then copied each byte a second time into -the token buffer. That is a clean design: one interface works for a `std::string`, an `std::istream`, a `FILE*`, a +compiler has to load, add, and store them for every byte. A string or a number then copied each byte a second time into +their token buffer. That is a clean design: one interface works for a `std::string`, an `std::istream`, a `FILE*`, a pair of iterators over a `std::list`, or a user's own adapter. But it makes every input pay for the most limited one. @@ -253,14 +257,15 @@ name is used, not when the pointer is called, so it works on any `std::streambuf Before the stream refills its get area, the adapter appends the part of the current token that is in it to a carry buffer; only an error message ever reads the token text back. Nothing is read ahead: the adapter advances `gptr()` by exactly what the lexer consumes, so the stream is left where it was before. On an M1 Max, parsing from an -`std::ifstream` used to take 1.8 to 2.5 times as long as reading the file into a string and parsing that; after this change it took 11 to 18 % longer, and a later one cut another 5 to 10 % off the stream path. +`std::ifstream` took 1.8–2.5× as long as reading the file into a string and parsing that, in the pull +request's measurement before the change; now it takes just 9–16 % longer. ### `FILE*` `std::fgetc` locks the `FILE` on every call. 3.13.0 locks it once per parse (`flockfile`, then `getc_unlocked`; `_lock_file` and `_fgetc_nolock` with the Microsoft runtime). `flockfile` is recursive, so the binary readers' `fread()` and a SAX handler's own `ftell()` keep working. On macOS, parsing `citm_catalog.json` from a -`FILE*` got 4.4 times as fast in the pull request's measurement; with glibc only 1.1 to 1.3 times, +`FILE*` got 4.4× as fast in the pull request's measurement; with glibc only 1.1–1.3×, because glibc's per-call locking is already cheap. Two details: MemorySanitizer builds keep `fgetc`, because glibc's inline `getc_unlocked` reads a buffer that uninstrumented glibc filled; and a SAX handler that waits for another thread using the same `FILE` now deadlocks, which the documentation says. Both paths can be switched off, with @@ -320,14 +325,14 @@ The same kind of word test now runs in several places: - **Indentation.** After a newline, `word ^ 0x2020…20` is zero for eight spaces; the first non-zero byte ends the indentation, and its trailing-zero count says how many spaces of the last word to skip as well. The idea is from [Glaze](https://github.com/stephenberry/glaze)'s `skip_matching_ws`, which compares with the previous line's indentation; comparing with spaces needs no - state and works for any indentation width. A version that skipped only whole words validated 5 to 12 % slower and gave + state and works for any indentation width. A version that skipped only whole words validated 5–12 % slower and gave nothing on two-space indentation, where the runs are often shorter than a word. With four-space indentation, - validating `citm_catalog.json` got 22 to 30 % faster. + validating `citm_catalog.json` got 22–30 % faster. - **[`dump()`](../../api/basic_json/dump.md),** for runs of characters that need no escaping, with and without [`ensure_ascii`](../../api/basic_json/dump.md#parameters). - **The binary formats,** for the zero byte that ends a BSON key, and for the UTF-8 check of strings with `error_handler_t::strict`. On the M1, reading `canada.json` from BSON got 14 % faster, and writing `twitter.json` as - checked CBOR 14 %. + UTF-8-checked CBOR 14 %. ### 16 bytes with SSE2 and NEON @@ -341,31 +346,37 @@ shifts each 16-bit lane right by four and narrows it to eight bits, which leaves four bits per input byte in a 64-bit integer: ```cpp -const uint8x16_t in = vld1q_u8(p); -const uint8x16_t quote_or_backslash = vorrq_u8(vceqq_u8(in, vdupq_n_u8('"')), - vceqq_u8(in, vdupq_n_u8('\\'))); -const uint8x16_t special = vorrq_u8(quote_or_backslash, - vcltq_s8(vreinterpretq_s8_u8(in), vdupq_n_s8(0x20))); -const uint8x8_t nibbles = vshrn_n_u16(vreinterpretq_u16_u8(special), 4); -const std::uint64_t bits = vget_lane_u64(vreinterpret_u64_u8(nibbles), 0); -if (bits != 0) +while (e - p >= 16) { - return p + (count_trailing_zeros(bits) >> 2u); // four bits per byte + const uint8x16_t in = vld1q_u8(p); + const uint8x16_t quote_or_backslash = vorrq_u8(vceqq_u8(in, vdupq_n_u8('"')), + vceqq_u8(in, vdupq_n_u8('\\'))); + const uint8x16_t special = vorrq_u8(quote_or_backslash, + vcltq_s8(vreinterpretq_s8_u8(in), vdupq_n_s8(0x20))); + // each byte of special is 0x00 or 0xFF; shifting each 16-bit lane right by 4 and + // keeping its low byte leaves 4 bits per input byte + const uint8x8_t nibbles = vshrn_n_u16(vreinterpretq_u16_u8(special), 4); + const std::uint64_t bits = vget_lane_u64(vreinterpret_u64_u8(nibbles), 0); + if (bits != 0) + { + return p + (count_trailing_zeros(bits) >> 2u); // four bits per byte + } + p += 16; } ```

The NEON string scan: three comparisons for four classes of bytes, and a narrowing shift in place of `pmovmskb`.

On `twitter.json`, the vector scan made `json::parse()` 5 % faster with Clang and 9 % with GCC on an M1 Max; on long -strings, 19 to 24 %. It did not win from the first byte. On the M1, starting with NEON made short strings 3 to 4 % +strings, 19–24 %. It did not win from the first byte. On the M1, starting with NEON made short strings 3–4 % slower and the rest of the lexer bigger, so ARM runs four 8-byte words first and keeps the vector loop out of line; x86-64 runs one word first. Inlining the vector code into the lexer cost 5 % of validating `jeopardy.json` on the M1, although no string of that file is long enough to reach it: the scan function, which runs once per token, saved more registers and needed a stack slot. `json_document` also skips the digits after a decimal point 16 bytes at a time with SSE2: a compare and a bit mask -instead of a branch per digit, about a third of the instructions for a 12-digit fraction. Parsing `canada.json` got -22 % faster on x86-64, a file of 10,000 floats 28 to 32 %. One row got slower: with GCC 16, `citm_catalog.json` took +instead of a branch per digit, about 33 % of the instructions for a 12-digit fraction. Parsing `canada.json` got +22 % faster on x86-64, a file of 10,000 floats 28–32 %. One row got slower: with GCC 16, `citm_catalog.json` took 8 % longer with the same number of instructions. More of its hot jumps now crossed a 32-byte boundary, which the microcode fix for Intel's JCC erratum makes slow on our server; assembling with `-Wa,-mbranches-within-32B-boundaries` shrinks the loss to about 4 %. We left the code as it is. @@ -404,7 +415,7 @@ vst1q_u8(d, a); vst1q_u8(d + n - 16, b); // the two stores overlap too, with the same bytes ``` -

Writing a string of 16 to 32 bytes with two overlapping loads and stores (NEON).

+

Writing a string of 16–32 bytes with two overlapping loads and stores (NEON).

--8<-- "images/perf_blog_overlap.svg" @@ -413,11 +424,11 @@ vst1q_u8(d + n - 16, b); // the two stores overlap too, with the same bytes

The code above on `profile_link_color`, a key of `twitter.json`.

On `twitter.json`, this cut the instructions of `dump()` by 21 %. Shorter strings use the same trick with two -overlapping 8-, 4- or 2-byte loads, so no `memcpy` with a length known only at run time is left. +overlapping 8-, 4-, or 2-byte loads, so no `memcpy` with a length known only at run time is left. ### Escapes from a table -When the scanner stops at a quote, a backslash or a control character, the +When the scanner stops at a quote, a backslash, or a control character, the writer copies its escape sequence from a table of 8-byte rows, padded with zeros, with the length in the last byte: ```cpp @@ -433,17 +444,9 @@ write_buffer_pos += escape[7]; // keep o One 8-byte store and one add, with no branch on the length; the padding lies behind the write position and is overwritten by the next write. The writer makes sure that 8 bytes are free before it copies. The idea is from [orjson](https://github.com/ijl/orjson)'s -`QUOTE_TAB`, which orjson took from [sonic-rs](https://github.com/cloudwego/sonic-rs). Dumping 100,000 log lines full of `\n`, `\t` and quotes got 23 % faster +`QUOTE_TAB`, which orjson took from [sonic-rs](https://github.com/cloudwego/sonic-rs). Dumping 100,000 log lines full of `\n`, `\t`, and quotes got 23 % faster on an M1 Max, but most of that came from writing straight into the write buffer instead of an intermediate one; the -table alone gained 2 to 7 %. - -!!! note "Loop shape beats branch count" - - Not every change in this direction worked the first time. A change that removed one branch per whitespace byte - made scanning long runs of indentation 1.75 to 3.2 times *slower* with Clang and GCC. It had rewritten - `do { get(); } while (is_whitespace());` into `get(); while (is_whitespace()) { get_ignoring_pending_unget(); }`, - and after that, neither Clang nor GCC kept the input's read and end pointers in registers: they reloaded them from - memory on every character. `get(); if (is_whitespace()) { do { ... } while (is_whitespace()); }` fixed it. +table alone gained 2–7 %. ## 3 Own the number conversions { #theme-3 } @@ -502,8 +505,11 @@ std::uint32_t parse_eight_digits(std::uint64_t v) noexcept

`parse_eight_digits()` on `"12345678"`: multiplying by `10·2⁸ + 1` adds ten times each byte to the byte above it, and the shift and the next mask keep every second lane.

-Whether all eight bytes are digits is one more expression: a digit is 0x30 to 0x39, so its high nibble must be 3, and -adding 6 must keep it 3. Integers of up to 18 digits and floats of up to 19 then need no overflow check at all. +Checking that all eight bytes are digits takes one more expression. A digit is a byte from 0x30 to 0x39. In +hexadecimal, its upper half is 3 and its lower half is at most 9. Adding 6 tests the lower half: 0x39 + 6 = 0x3F still +has the upper half 3, but 0x3A + 6 = 0x40 carries into it. So a byte is a digit exactly if its upper half is 3 both +before and after adding 6, and with masks, that is one comparison for all eight bytes. An integer of up to 18 digits +always fits into an `int64_t`, and 19 digits into a `uint64_t`, so they need no overflow check. ### Clinger's fast path @@ -546,14 +552,15 @@ the parser's divide-by-multiplying idea run backwards on all lanes of a word at I](#i-details-of-the-themes) shows it), and with SSE2 or NEON, Żmij's vector code (the NEON version by Dougall Johnson, the SSE version by Tobias Schlüter) converts all 16 digits in one vector register. -One stall turned up on the way. The straightforward way to insert the decimal point stores the digits, loads them -back starting one byte further, and stores them shifted. That load overlaps two earlier, smaller stores, and an x86 -core cannot forward such a load from its store buffer: it waits until the stores have reached the cache. The commit -measured that as about 25 % of the time to write a `double`. The vector version never goes through memory: it compares -a vector of positions 0 to 15 with the position of the point, keeps the digits before it, shifts the rest up one byte -in the register, puts `'.'` into the gap, and stores 16 bytes once. +One stall turned up on the way. To make room for the decimal point, the code first wrote all 16 digits, as two 8-byte +stores, and then moved the digits after the point one byte to the right: it loaded them and stored them one byte +further. That load came right after the two stores and read part of each. A CPU can hand a load the data of one store +that hasn't reached the cache yet, but it can't combine two, so the load had to wait until both stores were written. +The commit measured that wait as about 25 % of the time to write a `double`. The vector version avoids memory: it +keeps the digits in a register, moves the ones after the point up by one byte there, puts `'.'` into the gap, and +stores all 16 bytes once. -In the pull request's measurement, `dump()` of `canada.json` got about three times as fast, on an M1 Max as well as +In the pull request's measurement, `dump()` of `canada.json` got about 3× as fast, on an M1 Max as well as on an x86-64 server with GCC and Clang. The changed output is listed in [Appendix F](#f-behavior-changes): 0.14 % of random `double`s are written differently, all of them with the same or fewer digits, and all of them read back as the same value. @@ -573,7 +580,7 @@ copy had been about 20 % of what was left of a stream parse. [`accept()`](../../api/basic_json/accept.md) went one step further: it doesn't copy strings and keys at all. The lexer and the parser take a template parameter that drops values, so `accept()` gets its own instantiation without the -copies. That made validating `twitter.json` 11 to 13 % faster on x86-64, and 19 files of simdjson's examples 12 % +copies. That made validating `twitter.json` 11–13 % faster on x86-64, and 19 files of simdjson's examples 12 % by geometric mean. ### Positions only on error @@ -626,8 +633,8 @@ A class derived from `json_sax_dom_parser` does not match the specialization, so every other handler, the lexer only records a pointer to the token and its length, and copies on the first `get_string()`. That is safe for contiguous input, which has to outlive the parse anyway; in a stream's window, the next refill could overwrite the text, so there the copy is made at once. The first version put the "is there pending -text?" check into the `get_string()` that keys and strings use too, and lost 2 to 3 % on string-heavy input; they now -call a separate function without the check. Parsing `canada.json` got 9 to 11 % faster. +text?" check into the `get_string()` that keys and strings use too, and lost 2–3 % on string-heavy input; they now +call a separate function without the check. Parsing `canada.json` got 9–11 % faster. ### A copy that should have been a move @@ -671,8 +678,8 @@ Container::swap(tmp); The new element is constructed before any value is moved, so `j.emplace("new", std::move(j["old"]))` still works, and the strong guarantee holds without a `try`, which matters because the library also builds with `-fno-exceptions`. -Parsing `twitter.json` into `ordered_json` needs a third of the allocations and, in the pull request's -measurement, about half the time. A trap on the way: compilers with the EDG front end (Intel's icpc, NVIDIA's nvc++) +Parsing `twitter.json` into `ordered_json` needs 33 % of the allocations and, in the pull request's +measurement, about 50 % of the time. A trap on the way: compilers with the EDG front end (Intel's icpc, NVIDIA's nvc++) consider that pair's move constructor `noexcept`, so there the vector already "moves", the new path is not taken, and a key copy that throws during growth calls `std::terminate`. @@ -684,16 +691,16 @@ insert every member into its object as soon as it was parsed. Now all open array an array of up to 16 elements ends, it is constructed at its exact size from a range of move iterators, one allocation. `ordered_json` objects collect up to 32 members the same way, with a linear duplicate-key check over that short slice, and larger objects get a side table of hashes for that check from 64 members on. An `ordered_json` object -with very many members went from 43 million instructions to 1.9 million, and `ordered_json` now parses 1 to 15 % +with very many members went from 43 million instructions to 1.9 million, and `ordered_json` now parses 1–15 % *faster* than `json` in our suite, since `json`'s `std::map` still allocates a node per member. The binary readers -know their sizes up front and use a separate handler without the stack; sharing it had made them 5 to 12 % slower +know their sizes up front and use a separate handler without the stack; sharing it had made them 5–12 % slower with GCC. The binary readers also stopped taking every element through their general dispatch. When an array opens, the -CBOR and MessagePack readers read the numbers, booleans and nulls that follow in one loop, and the UBJSON and BJData +CBOR and MessagePack readers read the numbers, booleans, and nulls that follow in one loop, and the UBJSON and BJData readers do the same for arrays with a type marker. Reading an array of a million integers from CBOR or MessagePack -got 42 to 47 % faster, and `canada.json` 10 %. Arrays of one element skip the loop: in 1,000 arrays nested in each -other, each entered it only to find another array, which cost 6 to 8 %. Now the loop costs nested arrays nothing +got 42–47 % faster, and `canada.json` 10 %. Arrays of one element skip the loop: in 1,000 arrays nested in each +other, each entered it only to find another array, which cost 6–8 %. Now the loop costs nested arrays nothing measurable, and 100,000 arrays `[1,2]` up to 1.5 %. ### Smaller ones @@ -708,7 +715,7 @@ creates a temporary `basic_json` for every object key it writes (−55 % on `twi The SAX interface hands the lexer's buffer to the handler as `string_t&` and allows it to be moved from; the lexer starts each token with an empty buffer anyway. In September, moving string values instead of copying them saved - 2 to 3 %. Moving keys too was measured and dropped: the buffer is sized for the longest token so far, keys are + 2–3 %. Moving keys too was measured and dropped: the buffer is sized for the longest token so far, keys are short and values long, so moving a key hands a large buffer to a short string and the next value has to grow a new one, 11.9 % slower on 40,000 short strings. In October, with much of the lexer around it rewritten, keys were measured again: `parse()` of `twitter.json` got 3.3 % faster with Clang and 5.0 % with GCC, so keys are moved @@ -722,7 +729,7 @@ profiles, and instruction counts. None of the following shows up in the source a ### A stack canary on every token The function that dispatches on the first byte of a token built the expected text -of `true`, `false` and `null` in local arrays: +of `true`, `false`, and `null` in local arrays: ```cpp case 't': // 3.12.0 @@ -781,9 +788,9 @@ throw_incompatible_reference_type(obj); // JSON_HEDLEY_NO_RETURN JSON_HEDLEY_N

The same function in 3.13.0: a test and a call of a helper that is never inlined.

-That fixed 27 throw sites, and the ones that build a message got helpers that are never inlined; iterator arithmetic got six times as fast with Clang, and `std::sort` over a `json` array of -10,000 integers in user code 6 to 9 % faster. The value's own lifecycle had the same problem: the destructor, the copy -constructor and [`operator==`](../../api/basic_json/operator_eq.md) contained the code for every type, so they were too big to inline even for a number. Clang +That fixed 27 throw sites, and the ones that build a message got helpers that are never inlined; iterator arithmetic got 6× as fast with Clang, and `std::sort` over a `json` array of +10,000 integers in user code 6–9 % faster. The value's own lifecycle had the same problem: the destructor, the copy +constructor, and [`operator==`](../../api/basic_json/operator_eq.md) contained the code for every type, so they were too big to inline even for a number. Clang reported about 380 call sites where they were not inlined. Now the destructor and the copy constructor start with an inline test whether the value owns memory, which Clang compiles to one bit test (`1 << type & 0x10E`), `operator==` with one for two scalars of the same type, and the rest is out of line. `j == 5` went from 3.55 ns to @@ -792,11 +799,11 @@ large documents got about 7 % slower. ### Aliasing -C++'s aliasing rules let a `char` lvalue access any object, so a store through a `char` pointer may -modify any object whose address the compiler can't rule out. In a writer that keeps both its buffer and its write -position in members, the compiler must assume that `buffer[pos++] = c` can change `pos` itself, -and stores and reloads it around every byte. Keeping the position in a -local variable whose address never escapes puts it in a register: +C++ allows a `char` to access any object, so a store through a `char` pointer may change any object whose address the +compiler can't rule out. In a writer that keeps its write position `pos` in a member, `buffer[pos++] = c` therefore +costs more than it looks: the compiler can't prove that the store of `c` didn't overwrite `pos` itself, so it writes +`pos` to memory before every character and loads it again after. A local variable whose address never escapes can't +be reached by any store, and stays in a register: ```cpp std::size_t pos = write_buffer_pos; // a local: no char store can reach it @@ -810,6 +817,14 @@ On a 4 MiB binary value, [`dump()`](../../api/basic_json/dump.md) went from 18.0 the binary writers keep their cursors in locals for the same reason, and publish them before any call that could see them. +### Loop shape beats branch count + +A change that removed one branch per whitespace byte made scanning long runs of indentation 1.75–3.2× *slower* with Clang and GCC. It had rewritten `do { get(); } while (is_whitespace());` into +`get(); while (is_whitespace()) { get_ignoring_pending_unget(); }`, and the assembly showed why it lost: neither +compiler kept the input's read and end pointers in registers any more, and both reloaded them from memory on every +character. Restoring the do-while shape, `get(); if (is_whitespace()) { do { ... } while (is_whitespace()); }`, fixed +it. We don't know why the while loop lost the registers, only that the do-while shape gets them back. + ### Inlining that disappears Inlining is a budget per function. Once the string writer had grown, GCC 13 and 16 @@ -929,7 +944,7 @@ on a byte array: compilers can recognize the reversal as a byte swap in a small Clang emitted no `bswap` at all. Writing into a vector also allows [`to_bson()`](../../api/basic_json/to_bson.md) to make one pass instead of two: BSON puts the size of every document in front of it, so the writer used to walk the value once for the sizes and once to write. It now writes a placeholder and fills in the size when the document is -complete, 12 to 20 % faster on the M1. +complete, 12–20 % faster on the M1. ### A cursor instead of `vector::insert()` @@ -954,7 +969,7 @@ oa.commit(out - start); ### Integers without branches The last step also took the branches out of encoding an integer. After the bounds checks, mispredicted branches -accounted for about 40 % of the remaining time: the type, the sign and the 1-, 2-, 4- or 8-byte size class of each integer in a stream are +accounted for about 40 % of the remaining time: the type, the sign, and the 1-, 2-, 4-, or 8-byte size class of each integer in a stream are hard to predict. The encoder reads signed and unsigned integers through one masked path, looks the size class up from the number of leading zero bits, and stores the head as one byte plus one 8-byte word, of which the caller keeps only as many bytes as the class needs: @@ -984,7 +999,7 @@ std::size_t encode_first_byte_and_tail(CharType* out, std::uint8_t first_byte, The table is a table because Clang vectorized the equivalent comparisons into slower code, and the unconditional 8-byte store is why `reserve()` asks for 9 bytes per integer. Writing an array of small signed integers as CBOR, -which had not got faster before, is now 4.2 times as fast as with 3.12.0 with Clang on an M1 Max, and was 2.8 times as fast +which had not got faster before, is now 4.2× as fast as with 3.12.0 with Clang on an M1 Max, and was 2.8× as fast with GCC 13 on x86-64 when the change was made. One more lesson from these changes: the loop over an array is a separate function that is never inlined. Inlined into the function that writes any value, its register needs made every call of that function save more registers, once per @@ -1064,7 +1079,7 @@ loop). The walk allocates nothing and calls nothing that can throw, which fixed destructor flattened children into a `std::vector`, which ignored the allocator type and could let `std::bad_alloc` escape from a `noexcept` destructor. A test checks with a counting allocator that destroying any value allocates nothing. Against 3.12.0, destroying a parsed document is -1.24 to 1.55 times as fast in our suite, and destroying an array of one million small objects 1.39 times. +1.24–1.55× as fast in our suite, and destroying an array of one million small objects 1.39×. ## 8 Build a different data structure { #theme-8 } @@ -1084,7 +1099,7 @@ figures below show what each parser makes of this 54-byte text: --8<-- "images/json_view_layout_tree.svg"
-

What `json::parse()` builds: a tree in which every object, array and string is a separate heap allocation (dashed). The float is converted to the nearest `double` while parsing, so the original text `19.90` is gone: the stored value is 19.899999999999998578…, which `dump()` writes as `19.9`, the shortest text that reads back as the same `double`.

+

What `json::parse()` builds: a tree in which every object, array, and string is a separate heap allocation (dashed). The float is converted to the nearest `double` while parsing, so the original text `19.90` is gone: the stored value is 19.899999999999998578…, which `dump()` writes as `19.9`, the shortest text that reads back as the same `double`.

--8<-- "images/json_view_layout_index.svg" @@ -1124,7 +1139,7 @@ static_assert(sizeof(node) == 16, "node must stay 16 bytes"); - **Integers are converted while their digits are in the cache,** into the last 8 bytes of their node. - **Floats stay text until you read them.** The node records the number of digits before and after the point, and reading converts with the same Clinger/Eisel-Lemire code as `json::parse`. Converting them during the parse was - tried and dropped: parsing `canada.json` and reading every number got 4 to 7 % faster, but parsing alone 36 to 90 % + tried and dropped: parsing `canada.json` and reading every number got 4–7 % faster, but parsing alone 36–90 % slower. A default `dump()` writes the shortest form of a float, as `json` does; [`number_format::source`](../../api/basic_json_view/number_format.md) copies the source text of every number instead. @@ -1136,10 +1151,10 @@ static_assert(sizeof(node) == 16, "node must stay 16 bytes"); and a lookup is never slower than the linear search of a small object. - **Validating writes no index.** [`json_document::accept()`](../../api/basic_json_document/accept.md) runs a second instantiation of the same builder with a template parameter that turns every store off, so the checks are the - same code, but no node is written and no escaped string is decoded. On x86-64 that made it 17 to 31 % faster on + same code, but no node is written and no escaped string is decoded. On x86-64 that made it 17–31 % faster on `twitter.json`, `citm_catalog.json` and `canada.json`, and the 56 MB `jeopardy.json` no longer needs 52 MB of fresh memory just to be validated. - **First duplicate wins.** Lookups return the first of duplicate keys, as yyjson and simdjson do, because returning - the last one meant scanning every object to its end and made lookups in small objects 1.6 to 3.4 times slower. + the last one meant scanning every object to its end and made lookups in small objects 1.6–3.4× slower. `json::parse()` keeps the last one, so for a text with duplicate keys, the two can disagree; the documentation says so. @@ -1169,10 +1184,7 @@ is quadratic, as with `ordered_json`, and an object that was edited loses its ha ## How it compares "Which JSON library parses fastest?" has no answer, because "parsing" means different things in different libraries. -Some build a tree you can change, some a read-only index, some nothing at all. So we compare **use cases** instead: -tasks a program actually has, each of which every library may solve in whatever way it does best. - -### Four ways to hold a JSON text +They hold a parsed JSON text in four different ways: | approach | what you get | what it costs | libraries we measured | | --- | --- | --- | --- | @@ -1183,13 +1195,10 @@ tasks a program actually has, each of which every library may solve in whatever

The kinds of representation the libraries in this comparison offer. Most libraries offer more than one.

-Which approach wins depends on the task, and a comparison of "parse" times across the rows of this table compares -different amounts of work. In nlohmann/json, `json` is the mutable tree and `json_document` the flat document, so we -show the library twice: its best way *with* `json_document` and its best way *without* it. - -A word on who set the rules: we wrote every library's benchmark code, chose the files and the rules, and tuned -3.13.0 on the same machines and files. No maintainer of the other libraries has reviewed their code. To check -ourselves, we also ran files and a conformance suite we never tuned on ([below](#files-and-checks-we-didnt-choose)). +So a comparison of parse times across the rows of this table compares different amounts of work. Instead, we +compare **use cases**: tasks a program actually has, each of which every library may solve in whatever way it does +best. In nlohmann/json, `json` is the mutable tree and `json_document` the flat document, so we show the library +twice: its best way *with* `json_document` and its best way *without* it. ### Six use cases @@ -1200,9 +1209,9 @@ built freed again: checks a request before it passes it on. - **sum:** visit every value in document order, convert every number, and add them up. This measures walking a whole document and converting all of its numbers. -- **select:** read a few fields of every record, such as the id, the user name and the retweet count of every tweet, +- **select:** read a few fields of every record, such as the id, the user name, and the retweet count of every tweet, as a program does that needs only part of a response. A library that reads lazily can skip the rest. -- **edit:** change a value, remove a member and add a member in every record, then write the result as compact JSON: +- **edit:** change a value, remove a member, and add a member in every record, then write the result as compact JSON: the round trip of a program that patches a message or a configuration. - **minify:** read the text and write it as compact JSON, without whitespace. This measures reading and writing together, without changes in between. @@ -1222,13 +1231,25 @@ or the operating system. It is not neutral in every detail, though: - The string has 64 bytes of spare capacity, so simdjson, which reads up to 64 bytes past the end, can use it without a copy. A program would load the file into such a buffer in the first place. -- yyjson, RapidJSON and simd-json can parse in place, which needs a buffer they may change. They get a copy, and the - copy is part of their time: about 30 µs for `twitter.json` on the Mac. Even so, yyjson's in-place parse is about +- yyjson, RapidJSON, and simd-json can parse in place, which needs a buffer they may change. So they first copy the + string, inside the timed call, and the copy counts towards their time: about 30 µs for `twitter.json` on the Mac. Even so, yyjson's in-place parse is about as fast as its parse without a copy, which is measured too. - `json_document` reads the string in place and keeps pointing into it. A document that owns its text ([`parse_copy()`](../../api/basic_json_document/parse_copy.md)) costs one copy more. - Reading from files and streams is not part of the comparison. +```mermaid +flowchart TB + f[/"test file"/] -->|"read once, untimed"| s["std::string with 64 spare bytes"] + s --> timed + subgraph timed ["timed, every call"] + direction LR + c["copy
(in-place ways)"] --> p["parse"] --> u["use case"] --> d["free
everything"] + end +``` + +

What one timed call of a use case contains. For *write*, the document is parsed before the timer starts, so only the writing is timed. Every way's result is checked before anything is timed.

+ ### Checking less, on purpose Some libraries can skip parts of the validation, and that is often why they are fast. A @@ -1238,14 +1259,20 @@ finding them. A minifier only needs to find whitespace, not understand the value RapidJSON's default and sonic-cpp's too. Each is a good choice for input that is known to be valid, for example text your own program wrote a moment ago. To tell these ways apart, every way is also fed four broken inputs: the file cut short by one byte, a stray comma, an invalid UTF-8 byte in a string, and garbage after the value. A way that rejects all four validates fully, -and each cell shows the fastest such way. If a way that checks less is faster, it is shown in the right half of the -cell: "U" trusts UTF-8, "P" reads lazily, only removes whitespace or, in one Glaze cell on x86-64, doesn't check what follows the value. +and each cell shows the fastest such way. If a way that checks or does less is faster, it is shown in the right half +of the cell: "U" trusts UTF-8, "P" reads lazily, only removes whitespace or, in one Glaze cell on x86-64, doesn't check +what follows the value, and "N" writes each number by copying its text instead of formatting it, which `json_document`, +yyjson, and RapidJSON can do. + +A word on who set the rules: we wrote every library's benchmark code, chose the files and the rules, and tuned +3.13.0 on the same machines and files. No maintainer of the other libraries has reviewed their code. To check +ourselves, we also ran files and a conformance suite we never tuned on ([below](#files-and-checks-we-didnt-choose)).
--8<-- "images/perf_blog_usecases_mac.svg"
-

Time per library and use case on an Apple M1 Max: each library's fastest fully validating way, as the geometric mean over `twitter.json`, `citm_catalog.json`, `canada.json` and `jeopardy.json`, relative to the fastest library, so that every file counts equally. Less is better. Where a way that checks less is at least 3 % faster, it is shown in the right half of the cell: "U" trusts UTF-8, "P" reads lazily, only removes whitespace or, in one Glaze cell on x86-64, doesn't check what follows the value. "n/a" means the library has no API for the use case. Hover over or tap a cell for the times per file and the way; the tables are in [Appendix E](#e-comparison-with-other-libraries). sonic-cpp's README lists only x86-64 Linux; we show it on the Mac anyway.

+

Time per library and use case on an Apple M1 Max: each library's fastest fully validating way, as the geometric mean over `twitter.json`, `citm_catalog.json`, `canada.json` and `jeopardy.json`, relative to the fastest library, so that every file counts equally. Less is better. Where a way that checks or does less is at least 3 % faster, it is shown in the right half of the cell: "U" trusts UTF-8, "P" reads lazily, only removes whitespace or, in one Glaze cell on x86-64, doesn't check what follows the value, and "N" copies number text instead of formatting it. "n/a" means the library has no API for the use case. Hover over or tap a cell for the times per file and the way; the tables are in [Appendix E](#e-comparison-with-other-libraries). sonic-cpp's README lists only x86-64 Linux; we show it on the Mac anyway.

### Results on the Mac @@ -1255,51 +1282,51 @@ the speed doesn't depend on being read-only. Some caveats belong next to that: -- **The lead is not the same on every file.** On `twitter.json`, yyjson is within 1 to 7 % in *validate*, *sum* +- **The lead is not the same on every file.** On `twitter.json`, yyjson is within 1–5 % in *validate*, *sum*, and *select*. Most of the lead comes from the indentation of `citm_catalog.json`, the floats of `canada.json` (next point) and the size of `jeopardy.json`. - **Floats are converted only when read.** That helps `json_document` in *validate* and *select* on `canada.json`, where most others convert 111,080 floats nobody looks at. Libraries that can skip the conversion use that mode - there, but only Boost.JSON gains much: it validates `canada.json` in half the time. *sum* reads every number, so it - is the fair comparison for floats; there, `json_document` is still slightly ahead of yyjson. Deferring integers - too saved `json_document` another 2 % on the Mac and 5 to 7 % on x86-64 in an experiment; that is not in 3.13.0. + there, but only Boost.JSON gains much: it validates `canada.json` in 48 % of the time. *sum* reads every number, so it + is the fair comparison for floats; there, `json_document` is still slightly ahead of yyjson. - **Checking less pays in *select*.** If the input needn't be checked fully, simdjson's On-Demand API and Glaze - reading into structs select in 0.74 and 0.81 of `json_document`'s time, and in 0.56 to 0.62 on x86-64: the right + reading into structs select in 0.75× and 0.82× `json_document`'s time, and in 0.56–0.61× on x86-64: the right halves of the *select* column. - **Indentation.** Two of the four files are indented, which theme 2 helps. On minified copies of - `twitter.json` and `citm_catalog.json`, yyjson comes closer (*validate* 1.27 → 1.25, *sum* 1.09 → 1.02), but + `twitter.json` and `citm_catalog.json`, yyjson comes closer (*validate* 1.26 → 1.25, *sum* 1.10 → 1.03), but `json_document` stays first. - **Number text can be copied.** With [`number_format::source`](../../api/basic_json_view/number_format.md), `json_document` writes each number by copying its text - instead of formatting it, and RapidJSON can read numbers as strings and write them back unchanged. That would make - writing `canada.json` with `json_document` four times as fast. The figures use neither: every library formats the - numbers it converted. -- **Small documents.** On a 2.5 KB message, the fastest libraries take about a microsecond on the Mac and 1.2 to 2 - on x86-64. yyjson validates it as fast as `json_document` and sums it slightly faster on the Mac, and with GCC on - x86-64, yyjson sums it slightly faster (with GCC 13, simdjson too). + instead of formatting it, and yyjson and RapidJSON can read numbers as text and write them back unchanged. The + output keeps the source's spelling of each number, which is all a minifier needs. It makes writing `canada.json` + with `json_document` 4.1× as fast and minifying it 1.9× as fast; the "N" halves of *edit*, *minify*, and + *write* show it. +- **Small documents.** On a 2.5 KB message, the fastest libraries take about a microsecond on the Mac and 1.2–2 + on x86-64. yyjson validates and sums it as fast as `json_document` on the Mac, and with GCC 16 on x86-64, + simdjson and yyjson sum it slightly faster. ### Reading into structs A view converts into your own types with the same [`from_json()`](../../features/arbitrary_types.md) as `json`, including the ones the [`NLOHMANN_DEFINE_TYPE_*`](../../api/macros/nlohmann_define_type_non_intrusive.md) macros generate. That is as fast as picking the fields by hand from the view; only -for the many small records of `jeopardy.json` does it take about a quarter longer. On the Mac, Glaze, serde_json and -Boost.JSON's `parse_into`, reading into the same structs and checking everything, take 1.7, 2.3 and 3.1 times as long +for the many small records of `jeopardy.json` does it take 23 % longer. On the Mac, Glaze, serde_json, and +Boost.JSON's `parse_into`, reading into the same structs and checking everything, take 1.7×, 2.2×, and 3.1× as long (geometric mean over the four files). On a `json` value, reading into the structs takes about as long as `json::parse()` alone. ### nlohmann/json without `json_document` And nlohmann/json without `json_document`? `json` builds a tree of separate allocations, and it shows: for -*select*, *edit* and *minify* it takes several times as long as `json_document`, like Boost.JSON and RapidJSON. Where +*select*, *edit*, and *minify* it takes several times as long as `json_document`, like Boost.JSON and RapidJSON. Where no tree is needed, it is closer: on the Mac, a SAX handler is on par with Boost.JSON's, and [`json::accept()`](../../api/basic_json/accept.md) takes 6 % longer than Boost.JSON without number conversion (on -x86-64, Boost.JSON validates in 0.65 to 0.69 and sums in 0.73 to 0.77 of the time). `dump()` writes faster than Boost.JSON, +x86-64, Boost.JSON validates in 0.67–0.70× and sums in 0.76–0.81× the time). `dump()` writes faster than Boost.JSON, RapidJSON and serde_json, and about as fast as Glaze. ### Results on x86-64 On x86-64, the same programs ran on a virtual server whose CPU presents itself as Haswell, pinned to one core and built with `-march=haswell`: with the -newest GCC, 16.2 (the figure below), and with GCC 13, the default of Ubuntu 24.04, and Clang 23 (both in -[Appendix E](#e-comparison-with-other-libraries)). The compiler matters less than one might think. On the Mac, GCC 16 +newest GCC, 16.2 (the figure below), and with GCC 13.4 and Clang 23 (both in +[Appendix E](#e-comparison-with-other-libraries)), on Ubuntu 26.04. The compiler matters less than one might think. On the Mac, GCC 16 and Clang 23 put the same library first in every column as Apple clang, and on x86-64, the three compilers disagree only about *sum*. @@ -1310,34 +1337,33 @@ only about *sum*.

The same comparison on the x86-64 server with GCC 16.2, with the same cells and halves as the figure above. Less is better; hover over or tap a cell for the times and the way. The figures for GCC 13 and Clang 23 are in [Appendix E](#e-comparison-with-other-libraries).

`json_document` is the fastest in five of the six columns with GCC and in all six with Clang, where its lead in -*sum* (6 % over sonic-rs) is within the noise of this machine. In *validate*, the next library takes 1.7 to 2 times -as long, because validating no longer builds an index (theme 8). Behind those means, it loses on single files: +*sum* (7 % over sonic-rs) is within the noise of this machine. In *validate*, the next library takes 1.8–2× as long, because validating no longer builds an index (theme 8). Behind those means, it loses on single files: - **One pass over every value, with GCC.** simdjson's On-Demand API sums all numbers of `twitter.json`, - `citm_catalog.json` and `canada.json` in 0.85 to 0.94 of `json_document`'s time with GCC 16 (0.84 to 0.92 with + `citm_catalog.json`, and `canada.json` in 0.83–0.95× `json_document`'s time with GCC 16 (0.88–0.91× with GCC 13). With Clang, `json_document` is ahead there, except on `canada.json`, where yyjson, which converts the floats during the parse, is faster than converting them on access. - **Fresh large documents.** For the 56 MB `jeopardy.json`, a fresh document needs a fresh 52 MB index, and on Linux the page faults of that much new memory are a large part of the time: copying the file into fresh memory alone - takes about half as long as `json_document`'s parse. Boost.JSON's SAX parser and sonic-rs, which build nothing, - sum it in 0.62 to 0.71 of the time. Reusing the document cuts `json_document`'s time by 39 to 42 %, to 55 to 60 ms, - about what sonic-rs takes. Validating needs no index: `json_document::accept()` takes 35 to 38 ms, and no library - validates `jeopardy.json` faster, even reused (the next is simdjson's reused parser at 50 to 53 ms). On the Mac, a + takes about 50 % as long as `json_document`'s parse. Boost.JSON's SAX parser and sonic-rs, which build nothing, + sum it in 0.65–0.74× the time. Reusing the document cuts `json_document`'s time by 37–43 %, to 52–54 ms, + a little less than sonic-rs takes. Validating needs no index: `json_document::accept()` takes 34–35 ms, and no + library validates `jeopardy.json` faster, even reused (the next is simdjson's reused parser at 47–54 ms). On the Mac, a fresh document costs hardly more than a reused one. -- **Writing floats.** yyjson writes `canada.json` in 0.85 (GCC 16) to 0.92 (GCC 13) of the time, because +- **Writing floats.** yyjson writes `canada.json` in 0.87× (GCC 16) to 0.93× (Clang 23) the time, because `json_document` first converts most floats from their text. Writing the source text instead - (`number_format::source`) avoids that. -- **simdjson's DOM, with GCC.** It selects from `citm_catalog.json` 5 to 14 % faster; with Clang, `json_document` - is 2 % ahead. + (`number_format::source`, the "N" half) avoids that. +- **simdjson's DOM.** It selects from `citm_catalog.json` 10 % faster with GCC 16 and 5 % faster with Clang 23; + with GCC 13, `json_document` is 2 % ahead. The full tables, with each library's variants, are in [Appendix E](#e-comparison-with-other-libraries). ### Files and checks we didn't choose { #files-and-checks-we-didnt-choose } -The four files are the ones 3.13.0 was tuned on, so we also ran *validate*, *sum*, *minify* and *write* on the 19 +The four files are the ones 3.13.0 was tuned on, so we also ran *validate*, *sum*, *minify*, and *write* on the 19 other files of simdjson's [`jsonexamples`](https://github.com/simdjson/simdjson-data/tree/master/jsonexamples). By -geometric mean, `json_document` stays the fastest in *validate*, *minify* and *write* on every compiler, and in *sum* -with Clang and on the Mac; with GCC, simdjson sums in 0.84 to 0.89 of its time. File by file, for *validate*: +geometric mean, `json_document` stays the fastest in *validate*, *minify*, and *write* on every compiler, and in *sum* +with Clang and on the Mac; with GCC, simdjson sums in 0.87–0.88× its time. File by file, for *validate*:
--8<-- "images/perf_blog_heldout.svg" @@ -1345,17 +1371,16 @@ with Clang and on the Mac; with GCC, simdjson sums in 0.84 to 0.89 of its time.

*validate* on the 19 files: `json_document`'s fastest fully validating way against the fastest other library's, per file; below 1.0× it is the fastest. Less is better. The right column names the next library on x86-64 (GCC 16.2).

-`json_document` validates all 19 files fastest with GCC 16 and Clang 23, 17 with GCC 13 and 18 on the Mac. simdjson -validates `apache_builds` 11 % faster on the Mac and `google_maps_api_response` 9 % faster with GCC 13, and -Boost.JSON, without number conversion, `mesh.pretty` 5 % faster with GCC 13. Before validating without an index -(theme 8) and skipping fraction digits 16 bytes at a time (theme 2), Boost.JSON validated the number-heavy files up to 1.5 -times as fast on x86-64. +`json_document` validates all 19 files fastest with GCC 16 and Clang 23, 17 with GCC 13, and 18 on the Mac. simdjson +validates `apache_builds` 10 % faster on the Mac and `google_maps_api_response` 1 % faster with GCC 13, and +Boost.JSON, without number conversion, `mesh.pretty` 2 % faster with GCC 13. Before validating without an index +(theme 8) and skipping fraction digits 16 bytes at a time (theme 2), Boost.JSON validated the number-heavy files up to 1.5× +as fast on x86-64. -Every *validate* way also ran the 318 files of [JSONTestSuite](https://github.com/nst/JSONTestSuite). The fully -validating ways pass, with a few exceptions listed in [Appendix E](#e-comparison-with-other-libraries), one of them -ours: nlohmann/json accepts `123` followed by a NUL byte, which it treats as the end of the input. The suite also -showed that Glaze's generic reader accepts garbage after the value by default, which our probes had missed; the -figures use its strict option. +As a check of the four probes, every *validate* way also ran the 318 files of +[JSONTestSuite](https://github.com/nst/JSONTestSuite). [Appendix E](#e-comparison-with-other-libraries) lists the +exceptions, one of them ours: nlohmann/json treats a NUL byte as the end of the input. The suite also found that +Glaze's generic reader accepts garbage after the value by default, so the figures use its strict option. We did not measure memory use, a CPU with AVX-512, MSVC, writing from structs, streaming input, or link-time optimization. @@ -1381,8 +1406,8 @@ The pull requests record the ideas that measured worse, which is as useful as th ## The price -None of this is free at compile time. `json.hpp` grew from 25,526 to 46,633 lines (`json_view.hpp` is a separate -header of 11,894 lines that you only pay for if you include it). To see what that means for a program, we compiled two +None of this is free at compile time. `json.hpp` grew from 25,526 to 46,630 lines (`json_view.hpp` is a separate +header of 11,898 lines that you only pay for if you include it). To see what that means for a program, we compiled two small ones with both versions: - `count_numbers` reads `twitter.json` and adds up all of its numbers, like the *sum* use case in @@ -1397,17 +1422,18 @@ precompiled header and as a C++20 module, in a debug build (`-O0`) and an optimi --8<-- "images/perf_blog_price.svg"
-

How much longer or shorter each program takes to compile than with 3.12.0, less is better: Apple clang 21 and GCC 16.2, CPU time of the compiler, median of 9 interleaved runs, C++20, Apple M1 Max. The one-off cost of building the precompiled header or the module is not included. Hover over a bar for the time in milliseconds; [Appendix G](#g-how-we-measured) has all times, the programs and the commands.

+

How much longer or shorter each program takes to compile than with 3.12.0, less is better: Apple clang 21 and GCC 16.2, CPU time of the compiler, median of 5 interleaved runs, C++20, Apple M1 Max. The one-off cost of building the precompiled header or the module is not included. Hover over a bar for the time in milliseconds; [Appendix G](#g-how-we-measured) has all times, the programs, and the commands.

-3.13.0 takes 20 to 63 % longer to compile these programs. A good part of that is reading the header, and a +3.13.0 takes 34–62 % longer to compile these programs. A good part of that is reading the header, and a precompiled header or a module does that once instead of in every translation unit: - **In debug builds,** which are what you wait for while you edit, a precompiled 3.13.0 compiles faster than 3.12.0 - with Apple clang, and within 10 % of it with GCC. + with Apple clang, and within 8–15 % of it with GCC. - **In optimized builds,** less of the increase goes away, because the optimizer still works through all the code a - program instantiates. A precompiled header or a module wins back between a quarter and four fifths of it. -- **The one-off cost** is 0.9 s (Apple clang) or 2.3 s (GCC) to build the precompiled header, and 1.4 to 1.5 s or - 2.4 s to build the module, once per set of compiler flags. A precompiled header pays for itself after two to six translation units, a module after four to eight. + program instantiates. A precompiled header or a module wins back 41–91 % of it. +- **The one-off cost** is 1.0 s (Apple clang) or 2.6 s (GCC) to build the precompiled header, and 1.6 s or 2.5 s + to build the module, once per set of compiler flags. A precompiled header pays for itself after two to four + translation units, a module after three to five. - **Modules have caveats.** Apple clang needs `-fcxx-modules`, [module support](../../features/modules.md) still depends heavily on the compiler version, and macros don't cross a module boundary: with `import nlohmann.json;`, the `NLOHMANN_DEFINE_TYPE_*` macros aren't available, which is why `server_config` writes `to_json()` and @@ -1426,14 +1452,14 @@ Most of what is in this post was invented by other people. and the source files that contain it carry the authors' copyright lines and say what was taken; the [README](https://github.com/nlohmann/json#license) lists them too. -- [fast_float](https://github.com/fastfloat/fast_float) (Apache-2.0, MIT or BSL-1.0) by Daniel Lemire and +- [fast_float](https://github.com/fastfloat/fast_float) (Apache-2.0, MIT, or BSL-1.0) by Daniel Lemire and contributors: the Eisel-Lemire algorithm, its table of powers of five, its digit comparison for long numbers, and its parsing of eight digits at a time (N. Mushtak and D. Lemire, ["Fast number parsing without fallback"](https://arxiv.org/abs/2212.06644), 2023). W. D. Clinger for the [fast path](https://doi.org/10.1145/93542.93557), M. Eisel for the algorithm. -- [Żmij](https://github.com/vitaut/zmij) (MIT) by Victor Zverovich, with the digit conversion of Xiang JunBo and the - NEON sequence and compressed powers of ten of Dougall Johnson and the SSE support of Tobias Schlüter: ported to C++11. -- [simdjson](https://github.com/simdjson/simdjson) (Apache-2.0 or MIT) by Daniel Lemire, Geoff Langdale, John Keiser +- [Żmij](https://github.com/vitaut/zmij) (MIT) by Victor Zverovich, with the digit conversion of Xiang JunBo, the + NEON sequence and compressed powers of ten of Dougall Johnson, and the SSE support of Tobias Schlüter: ported to C++11. +- [simdjson](https://github.com/simdjson/simdjson) (Apache-2.0 or MIT) by Daniel Lemire, Geoff Langdale, John Keiser, and contributors: the "lookup4" UTF-8 check and its tables (J. Keiser and D. Lemire, ["Validating UTF-8 In Less Than One Instruction Per Byte"](https://arxiv.org/abs/2010.03090), 2021), in `json.hpp`'s lexer and in `json_view.hpp`. @@ -1488,221 +1514,221 @@ And the people who sent or shaped pull requests: | `canada.json` | 2.3 MB | the outline of Canada in GeoJSON | numbers: 111,080 floating-point coordinates, most with 16 or 17 significant digits, in 56,045 arrays, and almost no whitespace | | `jeopardy.json` | 56 MB | 216,930 Jeopardy! questions as one array of objects | size: 1.5 million short strings in objects of 7 members; far larger than the CPU caches | -

The test files. The first three are from Milo Yip's [nativejson-benchmark](https://github.com/miloyip/nativejson-benchmark). The counts are of the parsed values; the share of whitespace, string and non-ASCII bytes is of the file as distributed. Several changes target the indentation of `citm_catalog.json`: in the timeline benchmark, a minified copy of it parses 1.9× as fast as with 3.12.0, against 3.4× for the file as distributed.

+

The test files. The first three are from Milo Yip's [nativejson-benchmark](https://github.com/miloyip/nativejson-benchmark). The counts are of the parsed values; the share of whitespace, string, and non-ASCII bytes is of the file as distributed. Several changes target the indentation of `citm_catalog.json`: in the timeline benchmark, a minified copy of it parses 1.9× as fast as with 3.12.0, against 3.4× for the file as distributed.

### B. 3.12.0 against 3.13.0 The rows of the first chart: -| workload | 3.12.0 | 3.13.0 | speedup | -| --- | --: | --: | --: | -| `json::parse()` of `twitter.json` | 3.18 ms | 1.05 ms | 3.0× | -| `json::parse()` of `citm_catalog.json` | 7.30 ms | 1.78 ms | 4.1× | -| `json::parse()` of `canada.json` | 15.1 ms | 4.42 ms | 3.4× | -| `json::parse()` of `canada.json`, indented by 4 spaces | 33.9 ms | 5.15 ms | 6.6× | -| `ordered_json::parse()` of `citm_catalog.json` | 10.9 ms | 1.62 ms | 6.7× | -| `json::parse()` of `twitter.json` from an `std::ifstream` | 3.32 ms | 1.36 ms | 2.4× | -| `json::parse()` of `citm_catalog.json` from a `FILE*` | 34.6 ms | 7.35 ms | 4.7× | -| `json::accept()` of `citm_catalog.json` | 6.38 ms | 0.907 ms | 7.0× | -| `dump()` of `twitter.json` | 1.39 ms | 0.209 ms | 6.7× | -| `dump()` of `canada.json` | 6.69 ms | 2.29 ms | 2.9× | -| `dump(4)` of `citm_catalog.json` | 1.92 ms | 0.415 ms | 4.6× | -| `to_cbor()` of `twitter.json` | 0.634 ms | 0.142 ms | 4.5× | -| `from_cbor()` of `twitter.json` from memory | 3.04 ms | 0.954 ms | 3.2× | -| `from_cbor()` of `twitter.json` from a `FILE*` | 9.82 ms | 1.53 ms | 6.4× | -| `diff()` of `canada.json` with every eighth scalar changed | 38.1 ms | 3.69 ms | 10.3× | -| iterating over every value of `canada.json` | 0.868 ms | 0.321 ms | 2.7× | -| copying `citm_catalog.json` and destroying the copy | 1.62 ms | 1.46 ms | 1.11× | -| `==` of `citm_catalog.json` and a copy | 0.265 ms | 0.255 ms | 1.04× | +| workload | 3.12.0 | 3.13.0 | speedup | Intel | +| --- | --: | --: | --: | --: | +| `json::parse()` of `twitter.json` | 3.30 ms | 1.05 ms | 3.1× | 2.6× | +| `json::parse()` of `citm_catalog.json` | 7.56 ms | 1.78 ms | 4.3× | 3.5× | +| `json::parse()` of `canada.json` | 15.5 ms | 4.63 ms | 3.4× | 6.1× | +| `json::parse()` of `canada.json`, indented by 4 spaces | 35.0 ms | 5.37 ms | 6.5× | 8.0× | +| `ordered_json::parse()` of `citm_catalog.json` | 11.5 ms | 1.68 ms | 6.9× | 6.6× | +| `json::parse()` of `twitter.json` from an `std::ifstream` | 3.43 ms | 1.37 ms | 2.5× | 2.3× | +| `json::parse()` of `citm_catalog.json` from a `FILE*` | 36.0 ms | 7.58 ms | 4.7× | 5.7× | +| `json::accept()` of `citm_catalog.json` | 6.53 ms | 0.923 ms | 7.1× | 8.4× | +| `dump()` of `twitter.json` | 1.44 ms | 0.214 ms | 6.7× | 5.7× | +| `dump()` of `canada.json` | 6.95 ms | 2.34 ms | 3.0× | 3.3× | +| `dump(4)` of `citm_catalog.json` | 1.99 ms | 0.423 ms | 4.7× | 4.1× | +| `to_cbor()` of `twitter.json` | 0.659 ms | 0.143 ms | 4.6× | 6.7× | +| `from_cbor()` of `twitter.json` from memory | 3.23 ms | 0.953 ms | 3.4× | 2.8× | +| `from_cbor()` of `twitter.json` from a `FILE*` | 10.4 ms | 1.57 ms | 6.6× | 6.5× | +| `diff()` of `canada.json` with every eighth scalar changed | 39.8 ms | 3.80 ms | 10.5× | 11.2× | +| iterating over every value of `canada.json` | 0.897 ms | 0.328 ms | 2.7× | 2.0× | +| copying `citm_catalog.json` and destroying the copy | 1.70 ms | 1.51 ms | 1.13× | 1.12× | +| `==` of `citm_catalog.json` and a copy | 0.280 ms | 0.263 ms | 1.06× | 0.95× | -

Time per call with 3.12.0 and 3.13.0, Google Benchmark suite on an Apple M1 Max, median of 8 runs; the speedup is the old time divided by the new one. The parse rows do not include destroying the result (the suite pauses the timer for that).

+

Time per call with 3.12.0 and 3.13.0, Google Benchmark suite on an Apple M1 Max, median of 8 runs; the speedup is the old time divided by the new one. The Intel column is the speedup on the Intel MacBook Pro of [Appendix G](#g-how-we-measured). The parse rows do not include destroying the result (the suite pauses the timer for that).

??? info "All 182 benchmarks of the suite" - | benchmark | 3.12.0 | 3.13.0 | speedup | - | --- | --: | --: | --: | - | `Accept/canada` | 12.7 ms | 2.32 ms | 5.47× | - | `Accept/citm_catalog` | 6.38 ms | 907 µs | 7.04× | - | `Accept/floats` | 113 ms | 22.3 ms | 5.07× | - | `Accept/jeopardy` | 219 ms | 57.5 ms | 3.81× | - | `Accept/signed_ints` | 115 ms | 27.7 ms | 4.16× | - | `Accept/small_signed_ints` | 55.9 ms | 17.7 ms | 3.16× | - | `Accept/twitter` | 2.46 ms | 475 µs | 5.18× | - | `Accept/unsigned_ints` | 114 ms | 29.1 ms | 3.91× | - | `BinaryToCbor/1024` | 303 ns | 102 ns | 2.98× | - | `BinaryToCbor/128` | 247 ns | 115 ns | 2.14× | - | `BinaryToCbor/16384` | 949 ns | 408 ns | 2.33× | - | `BinaryToCbor/16` | 240 ns | 48.7 ns | 4.92× | - | `BinaryToCbor/2048` | 320 ns | 119 ns | 2.68× | - | `BinaryToCbor/256` | 265 ns | 88.1 ns | 3.01× | - | `BinaryToCbor/32768` | 1.53 µs | 801 ns | 1.91× | - | `BinaryToCbor/32` | 249 ns | 48.5 ns | 5.14× | - | `BinaryToCbor/4096` | 412 ns | 169 ns | 2.43× | - | `BinaryToCbor/512` | 289 ns | 97.3 ns | 2.97× | - | `BinaryToCbor/64` | 249 ns | 83.9 ns | 2.97× | - | `BinaryToCbor/8192` | 511 ns | 248 ns | 2.07× | - | `BinaryToCbor/8` | 243 ns | 48.5 ns | 5.01× | - | `Copy/canada` | 3.65 ms | 2.87 ms | 1.27× | - | `Copy/citm_catalog` | 1.62 ms | 1.46 ms | 1.11× | - | `Copy/twitter` | 799 µs | 726 µs | 1.10× | - | `CopyAssign/canada` | 3.67 ms | 2.88 ms | 1.27× | - | `CopyAssign/citm_catalog` | 1.65 ms | 1.49 ms | 1.11× | - | `CopyAssign/twitter` | 808 µs | 739 µs | 1.09× | - | `CopyOnly/canada` | 1.52 ms | 1.5 ms | 1.01× | - | `CopyOnly/citm_catalog` | 743 µs | 782 µs | 0.95× | - | `CopyOnly/twitter` | 400 µs | 403 µs | 0.99× | - | `CopyRing/canada` | 3.68 ms | 2.89 ms | 1.28× | - | `CopyRing/citm_catalog` | 1.69 ms | 1.51 ms | 1.12× | - | `CopyRing/twitter` | 850 µs | 770 µs | 1.10× | - | `DestroyOnly/canada` | 2.13 ms | 1.37 ms | 1.55× | - | `DestroyOnly/citm_catalog` | 876 µs | 674 µs | 1.30× | - | `DestroyOnly/twitter` | 401 µs | 323 µs | 1.24× | - | `Diff/canada` | 38.1 ms | 3.69 ms | 10.3× | - | `Diff/citm_catalog` | 6.78 ms | 1.07 ms | 6.34× | - | `Diff/twitter` | 4.83 ms | 639 µs | 7.55× | - | `Dump/canada / -` | 6.69 ms | 2.29 ms | 2.93× | - | `Dump/canada / 4` | 8.91 ms | 3.01 ms | 2.96× | - | `Dump/citm_catalog / -` | 1.39 ms | 291 µs | 4.78× | - | `Dump/citm_catalog / 4` | 1.92 ms | 415 µs | 4.63× | - | `Dump/floats / -` | 63.2 ms | 23.6 ms | 2.68× | - | `Dump/floats / 4` | 71.1 ms | 24.4 ms | 2.91× | - | `Dump/jeopardy / -` | 203 ms | 30.7 ms | 6.62× | - | `Dump/jeopardy / 4` | 219 ms | 34.6 ms | 6.32× | - | `Dump/signed_ints / -` | 23.7 ms | 10.6 ms | 2.24× | - | `Dump/signed_ints / 4` | 32 ms | 11.2 ms | 2.85× | - | `Dump/small_signed_ints / -` | 17.8 ms | 7.92 ms | 2.25× | - | `Dump/small_signed_ints / 4` | 25 ms | 8.76 ms | 2.85× | - | `Dump/twitter / -` | 1.39 ms | 209 µs | 6.66× | - | `Dump/twitter / 4` | 1.58 ms | 246 µs | 6.43× | - | `Dump/unsigned_ints / -` | 23.6 ms | 8 ms | 2.95× | - | `Dump/unsigned_ints / 4` | 31.9 ms | 8.42 ms | 3.79× | - | `Equal/canada` | 454 µs | 336 µs | 1.35× | - | `Equal/citm_catalog` | 265 µs | 255 µs | 1.04× | - | `Equal/twitter` | 140 µs | 128 µs | 1.10× | - | `Flatten/canada` | 28.4 ms | 11.1 ms | 2.57× | - | `Flatten/citm_catalog` | 6.37 ms | 3 ms | 2.12× | - | `Flatten/twitter` | 3.48 ms | 2.04 ms | 1.70× | - | `FlattenOrdered/citm_catalog` | 251 ms | 1.39 ms | 181× | - | `FlattenOrdered/twitter` | 48.9 ms | 860 µs | 56.9× | - | `FromBinaryBuffer/bjdata / canada` | 8.22 ms | 4.07 ms | 2.02× | - | `FromBinaryBuffer/bjdata / twitter` | 3.11 ms | 958 µs | 3.25× | - | `FromBinaryBuffer/bjdata_optimized / canada` | 8.68 ms | 2.4 ms | 3.62× | - | `FromBinaryBuffer/bjdata_optimized / twitter` | 3.12 ms | 952 µs | 3.28× | - | `FromBinaryBuffer/bson / canada` | 9.43 ms | 4.2 ms | 2.24× | - | `FromBinaryBuffer/bson / citm_catalog` | 3.86 ms | 1.56 ms | 2.47× | - | `FromBinaryBuffer/bson / twitter` | 3.07 ms | 924 µs | 3.32× | - | `FromBinaryBuffer/cbor / canada` | 8.34 ms | 2.06 ms | 4.05× | - | `FromBinaryBuffer/cbor / citm_catalog` | 3.68 ms | 1.44 ms | 2.56× | - | `FromBinaryBuffer/cbor / floats` | 29 ms | 5.43 ms | 5.33× | - | `FromBinaryBuffer/cbor / jeopardy` | 357 ms | 113 ms | 3.17× | - | `FromBinaryBuffer/cbor / signed_ints` | 35.6 ms | 9.69 ms | 3.68× | - | `FromBinaryBuffer/cbor / twitter` | 3.04 ms | 954 µs | 3.18× | - | `FromBinaryBuffer/msgpack / canada` | 8.33 ms | 2.06 ms | 4.03× | - | `FromBinaryBuffer/msgpack / citm_catalog` | 3.68 ms | 1.41 ms | 2.61× | - | `FromBinaryBuffer/msgpack / jeopardy` | 355 ms | 109 ms | 3.25× | - | `FromBinaryBuffer/msgpack / twitter` | 3.03 ms | 935 µs | 3.24× | - | `FromBinaryBuffer/ubjson / canada` | 8.24 ms | 4.08 ms | 2.02× | - | `FromBinaryBuffer/ubjson / citm_catalog` | 3.81 ms | 1.72 ms | 2.21× | - | `FromBinaryBuffer/ubjson / jeopardy` | 364 ms | 113 ms | 3.21× | - | `FromBinaryBuffer/ubjson / twitter` | 3.11 ms | 957 µs | 3.25× | - | `FromBinaryBuffer/ubjson_optimized / canada` | 8.48 ms | 2.37 ms | 3.58× | - | `FromBinaryBuffer/ubjson_optimized / twitter` | 3.11 ms | 952 µs | 3.26× | - | `FromBinaryFile/bjdata / twitter` | 10.4 ms | 1.9 ms | 5.46× | - | `FromBinaryFile/bson / twitter` | 10.1 ms | 1.8 ms | 5.62× | - | `FromBinaryFile/cbor / canada` | 14.2 ms | 4.41 ms | 3.21× | - | `FromBinaryFile/cbor / twitter` | 9.82 ms | 1.53 ms | 6.41× | - | `FromBinaryFile/ubjson / canada` | 13.7 ms | 6.31 ms | 2.16× | - | `FromBinaryFile/ubjson / twitter` | 10.4 ms | 1.9 ms | 5.45× | - | `FromBinaryShape/containers / bjdata` | 14.2 ms | 7.17 ms | 1.98× | - | `FromBinaryShape/containers / bson` | 17 ms | 7.73 ms | 2.20× | - | `FromBinaryShape/containers / cbor` | 13.7 ms | 3.89 ms | 3.53× | - | `FromBinaryShape/containers / msgpack` | 13.7 ms | 3.84 ms | 3.56× | - | `FromBinaryShape/containers / ubjson_optimized` | 14.8 ms | 4.42 ms | 3.33× | - | `FromBinaryShape/containers / ubjson` | 14.2 ms | 7.17 ms | 1.98× | - | `FromBinaryShape/nested / bjdata` | 93.4 µs | 38 µs | 2.46× | - | `FromBinaryShape/nested / bson` | 99.8 µs | 42 µs | 2.38× | - | `FromBinaryShape/nested / cbor` | 92.9 µs | 35.1 µs | 2.64× | - | `FromBinaryShape/nested / msgpack` | 90.7 µs | 34.6 µs | 2.62× | - | `FromBinaryShape/nested / ubjson` | 93.9 µs | 38.1 µs | 2.47× | - | `FromBinaryShape/scalars / bjdata` | 24.4 ms | 11.4 ms | 2.15× | - | `FromBinaryShape/scalars / cbor` | 25.4 ms | 5.63 ms | 4.52× | - | `FromBinaryShape/scalars / msgpack` | 24.3 ms | 5.53 ms | 4.40× | - | `FromBinaryShape/scalars / ubjson` | 24.7 ms | 11.4 ms | 2.16× | - | `FromCborChunkedString/10000 chunks` | 89.8 µs | 81.4 µs | 1.10× | - | `FromMsgpack/canada` | 14.1 ms | 4.42 ms | 3.20× | - | `FromMsgpack/citm_catalog` | 8.88 ms | 2.25 ms | 3.94× | - | `FromMsgpack/floats` | 59.3 ms | 27.7 ms | 2.14× | - | `FromMsgpack/jeopardy` | 1,130 ms | 182 ms | 6.21× | - | `FromMsgpack/signed_ints` | 62.2 ms | 32.8 ms | 1.90× | - | `FromMsgpack/small_signed_ints` | 62.6 ms | 33.7 ms | 1.86× | - | `FromMsgpack/twitter` | 9.78 ms | 1.47 ms | 6.64× | - | `FromMsgpack/unsigned_ints` | 55.5 ms | 27.7 ms | 2.01× | - | `GetArray>` | 2.23 µs | 640 ns | 3.49× | - | `GetArray>` | 8.13 µs | 1.16 µs | 7.00× | - | `GetArray>` | 58.4 µs | 41.8 µs | 1.40× | - | `GetArray>` | 6.66 µs | 666 ns | 9.99× | - | `GetMap/citm_catalog` | 3.41 ms | 2.4 ms | 1.42× | - | `GetVectorDouble/floats` | 6.68 ms | 642 µs | 10.4× | - | `GetVectorInt/signed_ints` | 8.04 ms | 3.35 ms | 2.40× | - | `Iterate/canada` | 868 µs | 321 µs | 2.71× | - | `Iterate/citm_catalog` | 298 µs | 168 µs | 1.78× | - | `Iterate/twitter` | 87 µs | 62.1 µs | 1.40× | - | `JsonPointerAt/citm_catalog` | 1.83 ms | 1.14 ms | 1.60× | - | `JsonPointerAt/twitter` | 788 µs | 594 µs | 1.33× | - | `JsonPointerContains/citm_catalog` | 2.71 ms | 1.23 ms | 2.20× | - | `JsonPointerContains/twitter` | 1.29 ms | 609 µs | 2.13× | - | `JsonPointerParse/citm_catalog` | 5.67 ms | 2.17 ms | 2.61× | - | `JsonPointerParse/twitter` | 2.41 ms | 1 ms | 2.41× | - | `JsonPointerToString/citm_catalog` | 6.62 ms | 1.88 ms | 3.53× | - | `JsonPointerToString/twitter` | 2.18 ms | 806 µs | 2.70× | - | `ParseFILE/canada` | 52.3 ms | 13.9 ms | 3.77× | - | `ParseFILE/citm_catalog` | 34.6 ms | 7.35 ms | 4.71× | - | `ParseFILE/twitter` | 13.6 ms | 3.31 ms | 4.11× | - | `ParseFile/canada` | 17.4 ms | 6.14 ms | 2.84× | - | `ParseFile/citm_catalog` | 7.67 ms | 2.42 ms | 3.16× | - | `ParseFile/floats` | 127 ms | 47.2 ms | 2.70× | - | `ParseFile/jeopardy` | 328 ms | 155 ms | 2.12× | - | `ParseFile/signed_ints` | 125 ms | 45.4 ms | 2.75× | - | `ParseFile/small_signed_ints` | 63 ms | 32.6 ms | 1.93× | - | `ParseFile/twitter` | 3.32 ms | 1.36 ms | 2.44× | - | `ParseFile/unsigned_ints` | 121 ms | 46.6 ms | 2.59× | - | `ParseIndented/canada / 4` | 33.9 ms | 5.15 ms | 6.59× | - | `ParseIndented/citm_catalog / 4` | 7.23 ms | 1.78 ms | 4.05× | - | `ParseIndented/jeopardy / 4` | 335 ms | 131 ms | 2.55× | - | `ParseIndented/twitter / 4` | 3.59 ms | 1.12 ms | 3.20× | - | `ParseStreamValues/ndjson` | 7.01 ms | 3.71 ms | 1.89× | - | `ParseStreamValues/numbers` | 1.89 ms | 381 µs | 4.98× | - | `ParseString/canada` | 15.1 ms | 4.42 ms | 3.41× | - | `ParseString/citm_catalog` | 7.3 ms | 1.78 ms | 4.11× | - | `ParseString/floats` | 119 ms | 27.6 ms | 4.30× | - | `ParseString/jeopardy` | 303 ms | 128 ms | 2.36× | - | `ParseString/signed_ints` | 120 ms | 31.2 ms | 3.84× | - | `ParseString/small_signed_ints` | 60.6 ms | 24.1 ms | 2.52× | - | `ParseString/twitter` | 3.18 ms | 1.05 ms | 3.02× | - | `ParseString/unsigned_ints` | 119 ms | 32.2 ms | 3.69× | - | `ParseStringOrdered/canada` | 15.1 ms | 4.37 ms | 3.45× | - | `ParseStringOrdered/citm_catalog` | 10.9 ms | 1.62 ms | 6.71× | - | `ParseStringOrdered/jeopardy` | 361 ms | 110 ms | 3.29× | - | `ParseStringOrdered/twitter` | 4.36 ms | 906 µs | 4.81× | - | `Patch/canada` | 9.98 ms | 3.37 ms | 2.96× | - | `Patch/citm_catalog` | 2.53 ms | 1.61 ms | 1.57× | - | `Patch/twitter` | 1.46 ms | 851 µs | 1.71× | - | `SaxParse/canada` | 12.8 ms | 3.22 ms | 3.97× | - | `SaxParse/citm_catalog` | 6.41 ms | 983 µs | 6.52× | - | `SaxParse/twitter` | 2.48 ms | 478 µs | 5.19× | - | `ToCbor/canada` | 1.37 ms | 545 µs | 2.51× | - | `ToCbor/citm_catalog` | 1.02 ms | 257 µs | 3.99× | - | `ToCbor/floats` | 8.91 ms | 1.89 ms | 4.71× | - | `ToCbor/jeopardy` | 72 ms | 21.3 ms | 3.37× | - | `ToCbor/signed_ints` | 11.3 ms | 2.76 ms | 4.10× | - | `ToCbor/small_signed_ints` | 10.2 ms | 2.4 ms | 4.25× | - | `ToCbor/twitter` | 634 µs | 142 µs | 4.48× | - | `ToCbor/unsigned_ints` | 8 ms | 2.79 ms | 2.87× | - | `ToJsonStrings/copy` | 5.82 ms | 5.54 ms | 1.05× | - | `ToJsonStrings/move` | 5.82 ms | 3.02 ms | 1.92× | - | `Unflatten/canada` | 41.1 ms | 10.8 ms | 3.80× | - | `Unflatten/citm_catalog` | 9.7 ms | 3.46 ms | 2.80× | - | `Unflatten/twitter` | 4.52 ms | 2.11 ms | 2.14× | + | benchmark | 3.12.0 | 3.13.0 | speedup | Intel | + | --- | --: | --: | --: | --: | + | `Accept/canada` | 12.9 ms | 2.35 ms | 5.51× | 13× | + | `Accept/citm_catalog` | 6.53 ms | 923 µs | 7.07× | 8.45× | + | `Accept/floats` | 116 ms | 22.7 ms | 5.10× | 12.2× | + | `Accept/jeopardy` | 221 ms | 59.3 ms | 3.72× | 6.64× | + | `Accept/signed_ints` | 117 ms | 28.3 ms | 4.15× | 4.99× | + | `Accept/small_signed_ints` | 57.5 ms | 18 ms | 3.19× | 3.90× | + | `Accept/twitter` | 2.51 ms | 484 µs | 5.20× | 6.89× | + | `Accept/unsigned_ints` | 116 ms | 29.7 ms | 3.91× | 4.95× | + | `BinaryToCbor/1024` | 298 ns | 107 ns | 2.79× | 3.67× | + | `BinaryToCbor/128` | 249 ns | 117 ns | 2.13× | 2.27× | + | `BinaryToCbor/16384` | 952 ns | 414 ns | 2.30× | 3.46× | + | `BinaryToCbor/16` | 245 ns | 49.6 ns | 4.93× | 6.33× | + | `BinaryToCbor/2048` | 328 ns | 125 ns | 2.62× | 3.74× | + | `BinaryToCbor/256` | 265 ns | 90.9 ns | 2.91× | 3.33× | + | `BinaryToCbor/32768` | 1.54 µs | 803 ns | 1.92× | 2.11× | + | `BinaryToCbor/32` | 252 ns | 50.4 ns | 4.99× | 6.24× | + | `BinaryToCbor/4096` | 407 ns | 177 ns | 2.29× | 3.48× | + | `BinaryToCbor/512` | 290 ns | 102 ns | 2.84× | 3.02× | + | `BinaryToCbor/64` | 255 ns | 84.6 ns | 3.01× | 3.78× | + | `BinaryToCbor/8192` | 514 ns | 256 ns | 2.01× | 3.30× | + | `BinaryToCbor/8` | 248 ns | 49.4 ns | 5.01× | 6.18× | + | `Copy/canada` | 3.78 ms | 2.93 ms | 1.29× | 1.17× | + | `Copy/citm_catalog` | 1.7 ms | 1.51 ms | 1.13× | 1.12× | + | `Copy/twitter` | 840 µs | 767 µs | 1.09× | 1.14× | + | `CopyAssign/canada` | 3.86 ms | 2.94 ms | 1.31× | 1.19× | + | `CopyAssign/citm_catalog` | 1.77 ms | 1.59 ms | 1.11× | 1.12× | + | `CopyAssign/twitter` | 885 µs | 791 µs | 1.12× | 1.07× | + | `CopyOnly/canada` | 1.6 ms | 1.58 ms | 1.02× | 1.00× | + | `CopyOnly/citm_catalog` | 786 µs | 817 µs | 0.96× | 0.93× | + | `CopyOnly/twitter` | 424 µs | 421 µs | 1.01× | 1.02× | + | `CopyRing/canada` | 3.86 ms | 3 ms | 1.29× | 1.20× | + | `CopyRing/citm_catalog` | 1.84 ms | 1.61 ms | 1.15× | 1.20× | + | `CopyRing/twitter` | 952 µs | 818 µs | 1.16× | 1.15× | + | `DestroyOnly/canada` | 2.22 ms | 1.4 ms | 1.58× | 1.32× | + | `DestroyOnly/citm_catalog` | 926 µs | 711 µs | 1.30× | 1.20× | + | `DestroyOnly/twitter` | 416 µs | 336 µs | 1.24× | 1.15× | + | `Diff/canada` | 39.8 ms | 3.8 ms | 10.5× | 11.2× | + | `Diff/citm_catalog` | 7.19 ms | 1.12 ms | 6.40× | 7.78× | + | `Diff/twitter` | 5.11 ms | 661 µs | 7.73× | 8.79× | + | `Dump/canada / -` | 6.95 ms | 2.34 ms | 2.98× | 3.34× | + | `Dump/canada / 4` | 9.1 ms | 3.1 ms | 2.93× | 2.82× | + | `Dump/citm_catalog / -` | 1.42 ms | 296 µs | 4.81× | 3.93× | + | `Dump/citm_catalog / 4` | 1.99 ms | 423 µs | 4.70× | 4.09× | + | `Dump/floats / -` | 64.3 ms | 23.8 ms | 2.71× | 2.50× | + | `Dump/floats / 4` | 72.6 ms | 24.6 ms | 2.95× | 2.71× | + | `Dump/jeopardy / -` | 207 ms | 31.7 ms | 6.51× | 3.75× | + | `Dump/jeopardy / 4` | 228 ms | 35.4 ms | 6.45× | 2.61× | + | `Dump/signed_ints / -` | 24.1 ms | 10.7 ms | 2.24× | 1.44× | + | `Dump/signed_ints / 4` | 32.5 ms | 11.3 ms | 2.87× | 2.01× | + | `Dump/small_signed_ints / -` | 18.1 ms | 8.12 ms | 2.23× | 1.81× | + | `Dump/small_signed_ints / 4` | 25.5 ms | 8.81 ms | 2.90× | 2.21× | + | `Dump/twitter / -` | 1.44 ms | 214 µs | 6.70× | 5.75× | + | `Dump/twitter / 4` | 1.63 ms | 253 µs | 6.45× | 5.18× | + | `Dump/unsigned_ints / -` | 24 ms | 8.12 ms | 2.95× | 1.58× | + | `Dump/unsigned_ints / 4` | 32.3 ms | 8.59 ms | 3.76× | 2.30× | + | `Equal/canada` | 474 µs | 349 µs | 1.36× | 1.38× | + | `Equal/citm_catalog` | 280 µs | 263 µs | 1.06× | 0.95× | + | `Equal/twitter` | 146 µs | 131 µs | 1.11× | 1.02× | + | `Flatten/canada` | 29.4 ms | 11.1 ms | 2.65× | 2.68× | + | `Flatten/citm_catalog` | 6.72 ms | 3.07 ms | 2.19× | 2.45× | + | `Flatten/twitter` | 3.66 ms | 2.11 ms | 1.74× | 2.19× | + | `FlattenOrdered/citm_catalog` | 262 ms | 1.43 ms | 184× | 185× | + | `FlattenOrdered/twitter` | 51.3 ms | 890 µs | 57.6× | 46.1× | + | `FromBinaryBuffer/bjdata / canada` | 8.82 ms | 4.17 ms | 2.12× | 2.02× | + | `FromBinaryBuffer/bjdata / twitter` | 3.32 ms | 976 µs | 3.40× | 2.87× | + | `FromBinaryBuffer/bjdata_optimized / canada` | 9.24 ms | 2.48 ms | 3.73× | 3.51× | + | `FromBinaryBuffer/bjdata_optimized / twitter` | 3.31 ms | 986 µs | 3.35× | 2.86× | + | `FromBinaryBuffer/bson / canada` | 10 ms | 4.32 ms | 2.33× | 2.20× | + | `FromBinaryBuffer/bson / citm_catalog` | 4.08 ms | 1.61 ms | 2.54× | 2.59× | + | `FromBinaryBuffer/bson / twitter` | 3.26 ms | 937 µs | 3.48× | 3.08× | + | `FromBinaryBuffer/cbor / canada` | 8.9 ms | 2.12 ms | 4.21× | 3.86× | + | `FromBinaryBuffer/cbor / citm_catalog` | 3.94 ms | 1.45 ms | 2.71× | 2.81× | + | `FromBinaryBuffer/cbor / floats` | 30.5 ms | 5.48 ms | 5.56× | 3.64× | + | `FromBinaryBuffer/cbor / jeopardy` | 373 ms | 115 ms | 3.25× | 3.43× | + | `FromBinaryBuffer/cbor / signed_ints` | 36.7 ms | 9.89 ms | 3.71× | 2.37× | + | `FromBinaryBuffer/cbor / twitter` | 3.23 ms | 953 µs | 3.39× | 2.83× | + | `FromBinaryBuffer/msgpack / canada` | 8.86 ms | 2.12 ms | 4.17× | 3.92× | + | `FromBinaryBuffer/msgpack / citm_catalog` | 3.85 ms | 1.45 ms | 2.65× | 2.94× | + | `FromBinaryBuffer/msgpack / jeopardy` | 373 ms | 111 ms | 3.36× | 3.51× | + | `FromBinaryBuffer/msgpack / twitter` | 3.24 ms | 955 µs | 3.39× | 3.02× | + | `FromBinaryBuffer/ubjson / canada` | 8.84 ms | 4.2 ms | 2.10× | 2.13× | + | `FromBinaryBuffer/ubjson / citm_catalog` | 4.07 ms | 1.79 ms | 2.28× | 2.44× | + | `FromBinaryBuffer/ubjson / jeopardy` | 379 ms | 117 ms | 3.24× | 3.40× | + | `FromBinaryBuffer/ubjson / twitter` | 3.3 ms | 981 µs | 3.36× | 2.90× | + | `FromBinaryBuffer/ubjson_optimized / canada` | 8.89 ms | 2.43 ms | 3.66× | 3.67× | + | `FromBinaryBuffer/ubjson_optimized / twitter` | 3.3 ms | 975 µs | 3.38× | 2.88× | + | `FromBinaryFile/bjdata / twitter` | 10.9 ms | 1.95 ms | 5.61× | 5.89× | + | `FromBinaryFile/bson / twitter` | 10.7 ms | 1.85 ms | 5.80× | 6.21× | + | `FromBinaryFile/cbor / canada` | 14.9 ms | 4.49 ms | 3.32× | 3.68× | + | `FromBinaryFile/cbor / twitter` | 10.4 ms | 1.57 ms | 6.59× | 6.46× | + | `FromBinaryFile/ubjson / canada` | 14.3 ms | 6.43 ms | 2.23× | 2.50× | + | `FromBinaryFile/ubjson / twitter` | 10.9 ms | 1.97 ms | 5.54× | 5.90× | + | `FromBinaryShape/containers / bjdata` | 14.7 ms | 7.23 ms | 2.03× | 2.05× | + | `FromBinaryShape/containers / bson` | 17.6 ms | 7.89 ms | 2.23× | 2.20× | + | `FromBinaryShape/containers / cbor` | 14.6 ms | 4.16 ms | 3.52× | 3.49× | + | `FromBinaryShape/containers / msgpack` | 14.6 ms | 3.89 ms | 3.75× | 3.52× | + | `FromBinaryShape/containers / ubjson_optimized` | 15.5 ms | 4.56 ms | 3.40× | 3.34× | + | `FromBinaryShape/containers / ubjson` | 15 ms | 7.24 ms | 2.07× | 2.03× | + | `FromBinaryShape/nested / bjdata` | 96.8 µs | 38.3 µs | 2.53× | 2.50× | + | `FromBinaryShape/nested / bson` | 101 µs | 42.6 µs | 2.38× | 2.42× | + | `FromBinaryShape/nested / cbor` | 94.9 µs | 35.8 µs | 2.65× | 2.57× | + | `FromBinaryShape/nested / msgpack` | 92.6 µs | 35.1 µs | 2.64× | 2.60× | + | `FromBinaryShape/nested / ubjson` | 96.1 µs | 38.3 µs | 2.51× | 2.50× | + | `FromBinaryShape/scalars / bjdata` | 25.3 ms | 11.6 ms | 2.18× | 2.22× | + | `FromBinaryShape/scalars / cbor` | 26.2 ms | 5.89 ms | 4.45× | 3.56× | + | `FromBinaryShape/scalars / msgpack` | 25.1 ms | 5.65 ms | 4.44× | 3.69× | + | `FromBinaryShape/scalars / ubjson` | 25.3 ms | 11.6 ms | 2.18× | 2.03× | + | `FromCborChunkedString/10000 chunks` | 91.8 µs | 82.9 µs | 1.11× | 1.09× | + | `FromMsgpack/canada` | 14.9 ms | 4.56 ms | 3.26× | 3.63× | + | `FromMsgpack/citm_catalog` | 9.36 ms | 2.26 ms | 4.14× | 4.60× | + | `FromMsgpack/floats` | 61.3 ms | 28.7 ms | 2.14× | 2.89× | + | `FromMsgpack/jeopardy` | 1,170 ms | 190 ms | 6.14× | 6.80× | + | `FromMsgpack/signed_ints` | 63.9 ms | 32.9 ms | 1.94× | 2.44× | + | `FromMsgpack/small_signed_ints` | 64.5 ms | 34.4 ms | 1.87× | 2.33× | + | `FromMsgpack/twitter` | 10.3 ms | 1.49 ms | 6.92× | 6.76× | + | `FromMsgpack/unsigned_ints` | 57.8 ms | 28.3 ms | 2.04× | 2.77× | + | `GetArray>` | 2.27 µs | 654 ns | 3.48× | 5.38× | + | `GetArray>` | 8.29 µs | 1.18 µs | 7.05× | 4.75× | + | `GetArray>` | 60 µs | 42.5 µs | 1.41× | 1.30× | + | `GetArray>` | 6.79 µs | 682 ns | 9.95× | 4.10× | + | `GetMap/citm_catalog` | 3.6 ms | 2.49 ms | 1.45× | 1.48× | + | `GetVectorDouble/floats` | 6.84 ms | 656 µs | 10.4× | 2.98× | + | `GetVectorInt/signed_ints` | 8.22 ms | 3.46 ms | 2.37× | 2.02× | + | `Iterate/canada` | 897 µs | 328 µs | 2.73× | 2.02× | + | `Iterate/citm_catalog` | 305 µs | 171 µs | 1.78× | 1.53× | + | `Iterate/twitter` | 90 µs | 62 µs | 1.45× | 1.20× | + | `JsonPointerAt/citm_catalog` | 1.9 ms | 1.18 ms | 1.61× | 1.47× | + | `JsonPointerAt/twitter` | 818 µs | 612 µs | 1.34× | 1.14× | + | `JsonPointerContains/citm_catalog` | 2.82 ms | 1.27 ms | 2.22× | 2.51× | + | `JsonPointerContains/twitter` | 1.34 ms | 629 µs | 2.12× | 2.16× | + | `JsonPointerParse/citm_catalog` | 5.81 ms | 2.25 ms | 2.59× | 3.74× | + | `JsonPointerParse/twitter` | 2.48 ms | 1.02 ms | 2.43× | 3.18× | + | `JsonPointerToString/citm_catalog` | 6.79 ms | 1.94 ms | 3.50× | 4.61× | + | `JsonPointerToString/twitter` | 2.23 ms | 834 µs | 2.67× | 2.66× | + | `ParseFILE/canada` | 54.2 ms | 14.7 ms | 3.69× | 5.46× | + | `ParseFILE/citm_catalog` | 36 ms | 7.58 ms | 4.74× | 5.73× | + | `ParseFILE/twitter` | 14.1 ms | 3.45 ms | 4.08× | 4.24× | + | `ParseFile/canada` | 18.3 ms | 6.47 ms | 2.83× | 4.67× | + | `ParseFile/citm_catalog` | 8.13 ms | 2.52 ms | 3.22× | 2.98× | + | `ParseFile/floats` | 131 ms | 48.1 ms | 2.73× | 5.68× | + | `ParseFile/jeopardy` | 338 ms | 162 ms | 2.09× | 2.23× | + | `ParseFile/signed_ints` | 129 ms | 46.2 ms | 2.78× | 3.41× | + | `ParseFile/small_signed_ints` | 64.7 ms | 33.4 ms | 1.94× | 2.57× | + | `ParseFile/twitter` | 3.43 ms | 1.37 ms | 2.49× | 2.33× | + | `ParseFile/unsigned_ints` | 124 ms | 47.4 ms | 2.61× | 3.52× | + | `ParseIndented/canada / 4` | 35 ms | 5.37 ms | 6.51× | 8.02× | + | `ParseIndented/citm_catalog / 4` | 7.52 ms | 1.81 ms | 4.15× | 3.49× | + | `ParseIndented/jeopardy / 4` | 345 ms | 133 ms | 2.59× | 2.46× | + | `ParseIndented/twitter / 4` | 3.72 ms | 1.13 ms | 3.30× | 2.60× | + | `ParseStreamValues/ndjson` | 7.16 ms | 3.77 ms | 1.90× | 2.06× | + | `ParseStreamValues/numbers` | 1.93 ms | 383 µs | 5.03× | 6.06× | + | `ParseString/canada` | 15.5 ms | 4.63 ms | 3.35× | 6.13× | + | `ParseString/citm_catalog` | 7.56 ms | 1.78 ms | 4.25× | 3.46× | + | `ParseString/floats` | 122 ms | 28.3 ms | 4.30× | 8.68× | + | `ParseString/jeopardy` | 317 ms | 131 ms | 2.42× | 2.32× | + | `ParseString/signed_ints` | 123 ms | 32 ms | 3.84× | 4.29× | + | `ParseString/small_signed_ints` | 62.7 ms | 25 ms | 2.51× | 3.38× | + | `ParseString/twitter` | 3.3 ms | 1.05 ms | 3.14× | 2.60× | + | `ParseString/unsigned_ints` | 121 ms | 32.9 ms | 3.68× | 4.23× | + | `ParseStringOrdered/canada` | 15.4 ms | 4.53 ms | 3.40× | 6.21× | + | `ParseStringOrdered/citm_catalog` | 11.5 ms | 1.68 ms | 6.85× | 6.59× | + | `ParseStringOrdered/jeopardy` | 374 ms | 113 ms | 3.29× | 3.38× | + | `ParseStringOrdered/twitter` | 4.6 ms | 949 µs | 4.85× | 4.93× | + | `Patch/canada` | 10.4 ms | 3.48 ms | 2.98× | 2.46× | + | `Patch/citm_catalog` | 2.75 ms | 1.74 ms | 1.58× | 1.38× | + | `Patch/twitter` | 1.58 ms | 889 µs | 1.78× | 1.45× | + | `SaxParse/canada` | 13.1 ms | 3.27 ms | 4.01× | 8.84× | + | `SaxParse/citm_catalog` | 6.55 ms | 967 µs | 6.77× | 6.85× | + | `SaxParse/twitter` | 2.53 ms | 483 µs | 5.24× | 5.91× | + | `ToCbor/canada` | 1.41 ms | 557 µs | 2.54× | 2.27× | + | `ToCbor/citm_catalog` | 1.05 ms | 259 µs | 4.04× | 5.60× | + | `ToCbor/floats` | 9.05 ms | 1.9 ms | 4.76× | 1.94× | + | `ToCbor/jeopardy` | 73.9 ms | 22.1 ms | 3.35× | 2.87× | + | `ToCbor/signed_ints` | 11.5 ms | 2.83 ms | 4.08× | 1.83× | + | `ToCbor/small_signed_ints` | 10.4 ms | 2.48 ms | 4.19× | 2.78× | + | `ToCbor/twitter` | 659 µs | 143 µs | 4.59× | 6.67× | + | `ToCbor/unsigned_ints` | 8.18 ms | 2.82 ms | 2.90× | 1.48× | + | `ToJsonStrings/copy` | 6.12 ms | 5.65 ms | 1.08× | 1.05× | + | `ToJsonStrings/move` | 6.13 ms | 3.13 ms | 1.96× | 1.78× | + | `Unflatten/canada` | 42.5 ms | 11.1 ms | 3.83× | 4.32× | + | `Unflatten/citm_catalog` | 10.2 ms | 3.62 ms | 2.81× | 3.32× | + | `Unflatten/twitter` | 4.75 ms | 2.21 ms | 2.15× | 2.42× | ### C. The timeline @@ -1760,7 +1786,7 @@ one binary with six code layouts: they were equal within 0.2 %. | `dump()` `twitter.json` | 6 | [#5285][5285] | a write buffer and bulk copies of strings | −70 % | | | 2 | [#5738][5738] | own float parser, string scan, `\u` table | −19 % | | | 2 | [#5878][5878] | short strings checked with a table | −6 % | -| | 2 | [#5883][5883] | strings of 16 to 32 bytes as two overlapping vectors | −34 % | +| | 2 | [#5883][5883] | strings of 16–32 bytes as two overlapping vectors | −34 % | | `dump()` `canada.json` | 6 | [#5285][5285] | a write buffer and bulk copies of strings | −8 % | | | 3 | [#5634][5634] | Żmij instead of Grisu2 | −65 % | | `from_cbor()` `twitter.json` | 1 | [#5233][5233] | binary strings read in bulk | −32 % | @@ -1777,15 +1803,15 @@ one binary with six code layouts: they were equal within 0.2 %. | operation | 3.12.0 | 3.13.0 | speedup | cause | PR | | --- | --: | --: | --: | --- | --- | -| `diff()` of an array of 64,000 numbers against an empty array | 4,140 ms | 10.5 ms | 396× | each `remove` was inserted at the front of the patch | [#5461][5461] | -| `diff()` of an array of 20,000 objects against every second one of them | 119 ms | 3.99 ms | 30× | the same | [#5461][5461] | -| `parse()` with a callback that rejects half of 32,000 objects | 1,361 ms | 12.1 ms | 113× | each rejected value was searched for from the start of its parent | [#5457][5457] | -| `<` on two equal values nested 24 levels deep (C++11 to C++17) | 64.0 ms | 0.002 ms | exponential | `std::vector`'s `<` asks `a < b` and `b < a`, and both recurse | [#5390][5390] | -| `<` on `citm_catalog.json` and a copy, 10× (C++11 to C++17) | 278 ms | 3.86 ms | 72× | the same | [#5390][5390] | -| `flatten()` of `citm_catalog.json` as `ordered_json` | 251 ms | 1.39 ms | 181× | every new key was looked up linearly | [#5834][5834] | -| `to_bson()` of a value nested 200 levels deep, 100× | 19.9 ms | 0.349 ms | 57× | each document's size was computed by walking everything below it again | [#5553][5553], [#5979][5979] | -| 100,000 × `push_back()` on an `ordered_json` with [`JSON_DIAGNOSTICS`](../../api/macros/json_diagnostics.md) | 1,532 ms | 5.04 ms | 304× | every insert re-pointed the parent pointers of all elements | [#5832][5832] | -| 10,000 × `at(i)` on an `ordered_json` array with `JSON_DIAGNOSTICS` | 43.6 ms | 0.081 ms | 539× | the same | [#5832][5832] | +| `diff()` of an array of 64,000 numbers against an empty array | 4,237 ms | 10.8 ms | 394× | each `remove` was inserted at the front of the patch | [#5461][5461] | +| `diff()` of an array of 20,000 objects against every second one of them | 122 ms | 4.13 ms | 29× | the same | [#5461][5461] | +| `parse()` with a callback that rejects half of 32,000 objects | 1,398 ms | 12.1 ms | 116× | each rejected value was searched for from the start of its parent | [#5457][5457] | +| `<` on two equal values nested 24 levels deep (C++11 to C++17) | 64.4 ms | 0.002 ms | exponential | `std::vector`'s `<` asks `a < b` and `b < a`, and both recurse | [#5390][5390] | +| `<` on `citm_catalog.json` and a copy, 10× (C++11 to C++17) | 284 ms | 3.94 ms | 72× | the same | [#5390][5390] | +| `flatten()` of `citm_catalog.json` as `ordered_json` | 271 ms | 1.45 ms | 187× | every new key was looked up linearly | [#5834][5834] | +| `to_bson()` of a value nested 200 levels deep, 100× | 20.3 ms | 0.352 ms | 58× | each document's size was computed by walking everything below it again | [#5553][5553], [#5979][5979] | +| 100,000 × `push_back()` on an `ordered_json` with [`JSON_DIAGNOSTICS`](../../api/macros/json_diagnostics.md) | 1,589 ms | 5.32 ms | 299× | every insert re-pointed the parent pointers of all elements | [#5832][5832] | +| 10,000 × `at(i)` on an `ordered_json` array with `JSON_DIAGNOSTICS` | 45.9 ms | 0.088 ms | 522× | the same | [#5832][5832] |

Operations that were quadratic or worse in 3.12.0, timed with both versions (C++17, `-O3`, median of 3 interleaved runs).

@@ -1800,8 +1826,9 @@ libraries: [yyjson](https://github.com/ibireme/yyjson) 0.13.0, [simdjson](https: 1.92, and in Rust [sonic-rs](https://github.com/cloudwego/sonic-rs) 0.5.10, [simd-json](https://github.com/simd-lite/simd-json) 0.19.0 and [serde_json](https://github.com/serde-rs/json) 1.0.154. C++23 with -`-O3`; on the Mac Apple clang 21 (the compiler of the current Xcode), on x86-64 GCC 16.2, GCC 13 (Ubuntu 24.04's -default) and Clang 23 with `-march=haswell`, pinned to one core; Rust 1.99 with `-C target-cpu=haswell` on x86-64. Every +`-O3`; on the Mac Apple clang 21 (the compiler of the current Xcode), on x86-64 GCC 16.2, GCC 13.4 and Clang 23 +with `-march=haswell` on Ubuntu 26.04, pinned to one core; Rust 1.99 with `-C target-cpu=haswell` on x86-64. The Rust times on the Mac are from +October 29; the Rust programs haven't changed since. Every variant runs in every round, in a different order each round (a shuffle with a fixed seed), each timed call after an untimed one; the time is the best of 2 × 30 rounds (2 × 6 for `jeopardy.json`). Boost.JSON uses a monotonic resource and precise number parsing, RapidJSON `kParseFullPrecisionFlag`, serde_json `float_roundtrip`: every number a library converts has to be exact. @@ -1818,7 +1845,8 @@ checked with `std::str::from_utf8` first; both are shown both ways. simdjson's O `validate_trailing_whitespace` (its strict variants also set `escape_control_characters`, without which it writes control characters unescaped). -**Conformance.** Every *validate* way ran the 318 files of [JSONTestSuite](https://github.com/nst/JSONTestSuite). No +**Conformance.** Every *validate* way ran the 318 files of [JSONTestSuite](https://github.com/nst/JSONTestSuite), on the +Mac with the headers of November 3 and on x86-64 with those of October 30 (the Mac's results didn't change). No way rejected a file that must be accepted. Of those that must be rejected, a few got through: `123` followed by a NUL byte in nlohmann/json and RapidJSON (nlohmann/json treats NUL as the end of the input; [`JSON_STRICT_NUL_HANDLING`](../../api/macros/json_strict_nul_handling.md) changes that for `json` and `json_document`), an incomplete UTF-8 @@ -1828,17 +1856,16 @@ value in Glaze's generic reader without `validate_trailing_whitespace`. sonic-rs kernel never ran, and yyjson and simdjson are compiled as separate files without link-time optimization, while the header-only libraries inline into the benchmark. -**Choices.** A library's time is its fastest fully validating way per file; "(U …)" and "(P …)" give a faster -way that checks less. A cell of the figures is the geometric mean of a library's four times, divided by the smallest +**Choices.** A library's time is its fastest fully validating way per file; "(U …)", "(P …)" and "(N …)" give a +faster way that checks or does less. A cell of the figures is the geometric mean of a library's four times, divided by the smallest such mean in its column. Variants that keep a parser or document across calls are measured but not chosen; with every library reused, the first place in each column stays the same. Variants that leave numbers unconverted while reading are chosen where they pass the checks (yyjson's and RapidJSON's raw numbers, Boost.JSON's -`number_precision::none`). Variants that write each number by copying its text instead of formatting it are not -(`json_document` with `number_format::source`, yyjson's and RapidJSON's raw numbers); they matter most for -`canada.json` (`json_document`'s *write*: 399 µs instead of 1,618 µs on the Mac) and make `json_document`'s write -4 to 10 % faster on `twitter.json` and `citm_catalog.json` on some platforms. Glaze's `generic` with `double` +`number_precision::none`). Variants that write each number by copying its text instead of formatting it +(`json_document` with `number_format::source`, yyjson's and RapidJSON's raw numbers) count as doing less, "N": their +output keeps the source's spelling of each number. They matter most for `canada.json`. Glaze's `generic` with `double` numbers fails the checks wherever it has to write the 64-bit ids of `twitter.json`. The struct variants of -nlohmann/json, Glaze, simdjson and serde read into the same types; Boost.JSON's `parse_into` has no type that skips a +nlohmann/json, Glaze, simdjson, and serde read into the same types; Boost.JSON's `parse_into` has no type that skips a value, so it holds a little more.
@@ -1851,7 +1878,7 @@ value, so it holds a little more. --8<-- "images/perf_blog_usecases_x86-gcc13.svg"
-

The use cases on the x86-64 server with GCC 13, the default compiler of Ubuntu 24.04. Less is better; hover over or tap a cell for the times and the way.

+

The use cases on the x86-64 server with GCC 13.4. Less is better; hover over or tap a cell for the times and the way.

??? info "Times in µs on the Apple M1 Max" @@ -1859,96 +1886,96 @@ value, so it holds a little more. | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | accept | 170 | 313 | 881 | 20,764 | 0.9 | - | yyjson | insitu (copy), read | 181 | 474 | 1,484 | 30,583 | 0.9 | - | simdjson | DOM | 202 | 444 | 1,883 | 28,317 | 1.0 | + | **nlohmann/json `json_document`** | accept | 169 | 313 | 868 | 20,764 | 0.9 | + | yyjson | insitu (copy), read, read (raw numbers) | 178 | 475 | 1,496 | 30,679 | 0.9 | + | simdjson | DOM | 205 | 459 | 1,890 | 28,911 | 1.1 | | sonic-rs (Rust) | Value | 326 | 681 | 1,939 | 31,450 | 1.4 | - | Glaze | validate_json | 328 | 864 | 1,304 | 45,000 | 1.4 | + | Glaze | validate_json | 330 | 854 | 1,302 | 46,181 | 1.4 | | simd-json (Rust) | tape (copy) | 289 | 698 | 2,278 | 38,874 | 1.7 | - | sonic-cpp | Document [U] | – (U 380) | – (U 981) | – (U 2,577) | – (U 40,694) | – (U 1.6) | + | sonic-cpp | Document [U] | – (U 381) | – (U 994) | – (U 2,579) | – (U 41,429) | – (U 1.6) | | serde_json (Rust) | IgnoredAny [U], from_utf8 + IgnoredAny | 452 (U 354) | 1,103 (U 1,047) | 1,556 (U 1,451) | 46,517 (U 44,984) | 2.0 (U 1.7) | - | Boost.JSON | SAX, SAX (numbers: none) | 529 | 992 | 1,466 | 53,794 | 2.3 | - | nlohmann/json `json` | accept | 451 | 854 | 2,395 | 56,129 | 2.4 | - | RapidJSON | SAX, insitu (copy), insitu (copy) (no encoding check) [U] | 1,310 (U 694) | 1,570 (U 1,144) | 6,748 | 139,647 (U 63,372) | 6.1 (U 2.6) | + | Boost.JSON | SAX, SAX (numbers: none) | 536 | 995 | 1,467 | 54,696 | 2.4 | + | nlohmann/json `json` | accept | 462 | 905 | 2,340 | 54,684 | 2.5 | + | RapidJSON | SAX, insitu (copy), insitu (copy) (no encoding check) [U] | 1,311 (U 700) | 1,585 (U 1,178) | 6,862 | 141,752 (U 63,673) | 6.2 (U 2.7) | **sum** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | parse | 226 | 482 | 1,818 | 28,732 | 1.2 | - | yyjson | insitu (copy), read | 229 | 570 | 1,867 | 37,323 | 1.1 | - | simdjson | DOM, On-Demand | 239 | 563 | 2,372 | 34,486 | 1.3 | + | **nlohmann/json `json_document`** | parse | 227 | 482 | 1,790 | 29,450 | 1.2 | + | yyjson | insitu (copy), read | 229 | 576 | 1,941 | 37,855 | 1.2 | + | simdjson | DOM, On-Demand | 244 | 588 | 2,387 | 35,389 | 1.3 | | sonic-rs (Rust) | visitor | 364 | 778 | 2,703 | 41,361 | 1.7 | | simd-json (Rust) | visitor (copy) | 354 | 866 | 2,717 | 47,518 | 2.0 | - | sonic-cpp | Document [U] | – (U 427) | – (U 1,084) | – (U 2,955) | – (U 48,014) | – (U 1.9) | - | Boost.JSON | SAX | 529 | 1,006 | 3,028 | 53,687 | 2.3 | - | nlohmann/json `json` | sax | 462 | 931 | 3,065 | 62,740 | 2.5 | + | sonic-cpp | Document [U] | – (U 428) | – (U 1,088) | – (U 2,972) | – (U 48,845) | – (U 1.9) | + | Boost.JSON | SAX | 529 | 1,008 | 3,042 | 55,145 | 2.3 | + | nlohmann/json `json` | sax | 466 | 932 | 3,075 | 64,003 | 2.5 | | serde_json (Rust) | visitor | 652 | 1,242 | 4,772 | 66,568 | 2.5 | - | Glaze | generic (double) [P], generic (double, strict), lazy_json [P] | 976 | 2,058 | 6,228 | 99,307 | 4.8 (P 3.4) | - | RapidJSON | SAX, insitu (copy), insitu (copy) (no encoding check) [U] | 1,330 (U 743) | 1,638 (U 1,246) | 6,895 | 146,234 (U 70,310) | 6.2 (U 2.9) | + | Glaze | generic (double) [P], generic (double, strict), lazy_json [P] | 985 | 2,057 | 6,272 | 100,545 | 4.9 (P 3.5) | + | RapidJSON | SAX, insitu (copy), insitu (copy) (no encoding check) [U] | 1,331 (U 748) | 1,655 (U 1,276) | 6,938 | 149,509 (U 71,697) | 6.2 (U 2.9) | **select** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | parse | 180 | 363 | 959 | 24,367 | 1.0 | - | yyjson | insitu (copy), read (raw numbers) | 188 | 475 | 1,488 | 32,022 | 1.1 | - | simdjson | DOM, On-Demand (key selectors) [P], On-Demand [P], On-Demand structs [P] | 196 (P 125) | 441 (P 346) | 1,883 (P 564) | 30,127 (P 19,234) | 1.1 (P 0.7) | - | Glaze | structs (validate_skipped), structs [P] | 310 (P 238) | 846 (P 252) | 1,304 (P 310) | 46,082 (P 36,025) | 1.4 (P 1.1) | + | **nlohmann/json `json_document`** | parse | 186 | 363 | 928 | 25,032 | 1.0 | + | yyjson | insitu (copy), read, read (raw numbers) | 191 | 476 | 1,490 | 33,078 | 1.1 | + | simdjson | DOM, On-Demand (key selectors) [P], On-Demand [P], On-Demand structs [P] | 202 (P 128) | 454 (P 353) | 1,886 (P 566) | 30,892 (P 19,832) | 1.2 (P 0.8) | + | Glaze | structs (validate_skipped), structs [P] | 313 (P 239) | 849 (P 258) | 1,302 (P 310) | 47,315 (P 37,143) | 1.4 (P 1.2) | | sonic-rs (Rust) | Value | 333 | 691 | 1,936 | 40,660 | 1.7 | - | sonic-cpp | Document [U] | – (U 384) | – (U 990) | – (U 2,576) | – (U 45,060) | – (U 1.7) | + | sonic-cpp | Document [U] | – (U 385) | – (U 991) | – (U 2,585) | – (U 46,396) | – (U 1.7) | | simd-json (Rust) | structs (copy) | 364 | 914 | 2,657 | 57,697 | 2.1 | | serde_json (Rust) | from_utf8 + structs, structs [U] | 480 (U 410) | 1,125 (U 1,084) | 1,560 (U 1,455) | 62,378 | 2.3 (U 1.9) | - | Boost.JSON | parse, parse_into structs | 622 | 1,204 | 3,621 | 66,725 | 2.7 | - | RapidJSON | insitu (copy), insitu (copy) (no encoding check) [U] | 1,314 (U 698) | 1,566 (U 1,141) | 6,754 | 142,108 (U 66,120) | 6.4 (U 2.6) | - | nlohmann/json `json` | parse, structs (from_json) | 1,358 | 2,414 | 5,876 | 176,914 | 7.5 | + | Boost.JSON | parse, parse_into structs | 620 | 1,205 | 3,634 | 67,861 | 2.7 | + | RapidJSON | insitu (copy), insitu (copy) (no encoding check) [U] | 1,316 (U 702) | 1,569 (U 1,169) | 6,800 | 145,958 (U 68,045) | 6.5 (U 2.7) | + | nlohmann/json `json` | parse, structs (from_json) | 1,360 | 2,407 | 6,041 | 180,705 | 7.7 | **edit** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | editable | 284 | 560 | 2,762 | 57,380 | 1.9 | - | yyjson | insitu (copy) + mut copy, mut copy | 446 | 924 | 3,685 | 83,706 | 2.5 | - | sonic-cpp | Document [U] | – (U 476) | – (U 1,218) | – (U 5,620) | – (U 61,631) | – (U 2.5) | + | **nlohmann/json `json_document`** | editable, editable (source numbers) [N] | 283 | 563 | 2,741 (N 1,448) | 58,470 | 1.9 | + | yyjson | insitu (copy) + mut copy, mut copy | 441 | 904 | 3,700 | 85,478 | 2.5 | + | sonic-cpp | Document [U] | – (U 490) | – (U 1,229) | – (U 5,653) | – (U 63,914) | – (U 2.6) | | sonic-rs (Rust) | Value | 634 | 1,257 | 4,396 | 140,936 | 3.8 | | simd-json (Rust) | borrowed (copy) | 948 | 2,102 | 7,654 | 110,693 | 5.4 | - | Boost.JSON | parse | 1,364 | 1,989 | 6,492 | 154,518 | 6.5 | - | nlohmann/json `json` | ordered_json, parse | 1,281 | 2,335 | 8,140 | 170,559 | 7.1 | - | Glaze | generic (strict), generic [P] | 1,529 | 3,234 | 10,939 | 178,986 | 8.2 | - | RapidJSON | Document, insitu (copy), insitu (copy) (no encoding check) [U] | 1,916 (U 1,352) | 2,397 (U 1,969) | 13,720 | 220,366 (U 144,422) | 10.2 (U 6.4) | + | Boost.JSON | parse | 1,367 | 2,000 | 6,558 | 159,053 | 6.6 | + | nlohmann/json `json` | ordered_json, parse | 1,266 | 2,329 | 8,305 | 199,819 | 7.1 | + | Glaze | generic (strict), generic [P] | 1,529 | 3,231 | 10,938 | 180,098 | 8.4 | + | RapidJSON | Document, insitu (copy), insitu (copy) (no encoding check) [U] | 1,924 (U 1,354) | 2,404 (U 2,001) | 13,830 | 226,139 (U 148,686) | 10.4 (U 6.6) | | serde_json (Rust) | Value | 2,009 | 3,316 | 9,666 | 251,931 | 9.6 | **minify** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | parse + dump | 258 | 496 | 2,577 | 37,294 | 1.5 | - | yyjson | insitu (copy) + write, read + write | 291 | 635 | 3,209 | 49,919 | 1.6 | - | sonic-cpp | Document + Serialize [U] | – (U 490) | – (U 1,212) | – (U 5,620) | – (U 59,715) | – (U 2.5) | + | **nlohmann/json `json_document`** | parse + dump, parse + dump (source numbers) [N] | 261 | 493 | 2,550 (N 1,328) | 37,888 | 1.5 | + | yyjson | insitu (copy) + write, read (raw numbers) + write [N], read + write | 298 | 641 | 3,219 (N 2,527) | 51,099 | 1.6 | | sonic-rs (Rust) | Value | 535 | 1,134 | 4,377 | 64,832 | 3.0 | - | simdjson | DOM + to_string, minify [P] | 566 (P 61.3) | 906 (P 168) | 5,026 (P 228) | 81,426 (P 5,653) | 3.5 (P 0.3) | + | sonic-cpp | Document + Serialize [U] | – (U 505) | – (U 1,224) | – (U 5,661) | – (U 61,985) | – (U 2.5) | + | simdjson | DOM + to_string, minify [P] | 574 (P 61.5) | 928 (P 168) | 5,038 (P 227) | 82,978 (P 5,755) | 3.6 (P 0.3) | | simd-json (Rust) | borrowed (copy) | 952 | 2,111 | 7,658 | 108,130 | 5.5 | - | Boost.JSON | parse + serialize | 1,378 | 1,979 | 6,494 | 151,389 | 6.6 | - | RapidJSON | Document + Writer, Document + Writer (no encoding check) [U], SAX to Writer, SAX to Writer (no encoding check) [U] | 1,500 (U 1,300) | 1,807 (U 1,705) | 14,222 | 176,922 (U 164,205) | 7.9 (U 7.3) | - | nlohmann/json `json` | parse + dump | 1,592 | 2,692 | 8,135 | 195,657 | 8.6 | - | Glaze | generic (strict), minify_json [P] | 1,500 (P 280) | 3,192 (P 726) | 10,949 (P 1,705) | 168,670 (P 39,266) | 7.9 (P 1.3) | + | Boost.JSON | parse + serialize | 1,384 | 1,990 | 6,554 | 155,141 | 6.8 | + | RapidJSON | Document + Writer, SAX to Writer, SAX to Writer (no encoding check) [U], SAX to Writer (raw numbers) (no encoding check) [U N], SAX to Writer (raw numbers) [N] | 1,512 (U 1,328) | 1,816 (U 1,714) | 14,281 (N 10,904) | 180,596 (U N 167,694) | 8.1 (U 7.5) | + | nlohmann/json `json` | parse + dump | 1,616 | 2,688 | 8,318 | 199,579 | 8.7 | + | Glaze | generic (strict), minify_json [P] | 1,517 (P 285) | 3,220 (P 796) | 10,920 (P 1,705) | 168,662 (P 40,374) | 8.0 (P 1.3) | | serde_json (Rust) | Value | 2,004 | 3,290 | 9,792 | 227,369 | 9.5 | **write** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | dump | 75.6 | 136 | 1,618 | 14,609 | 0.5 | - | yyjson | write | 101 | 164 | 1,715 | 19,621 | 0.7 | - | sonic-cpp | Serialize | 104 | 229 | 3,040 | 18,906 | 0.8 | - | nlohmann/json `json` | dump | 214 | 285 | 2,234 | 30,902 | 1.2 | - | Glaze | generic | 210 | 468 | 1,694 | 33,394 | 1.3 | + | **nlohmann/json `json_document`** | dump, dump (source numbers) [N] | 72.9 | 133 | 1,622 (N 400) | 14,735 | 0.5 | + | yyjson | write | 103 | 165 | 1,719 | 19,993 | 0.7 | + | sonic-cpp | Serialize | 113 | 236 | 3,046 | 19,953 | 0.9 | + | nlohmann/json `json` | dump | 216 | 286 | 2,250 | 31,183 | 1.2 | + | Glaze | generic, generic (strict) | 213 | 470 | 1,705 | 34,047 | 1.3 | | sonic-rs (Rust) | Value | 212 | 446 | 2,419 | 33,366 | 1.5 | | serde_json (Rust) | Value | 322 | 490 | 2,286 | 49,967 | 2.0 | | simd-json (Rust) | borrowed | 355 | 478 | 2,728 | 47,412 | 1.8 | - | simdjson | to_string | 342 | 451 | 3,159 | 52,849 | 2.4 | - | Boost.JSON | serialize | 497 | 501 | 2,874 | 62,488 | 2.8 | - | RapidJSON | Writer | 592 | 820 | 6,864 | 79,510 | 3.8 | + | simdjson | to_string | 342 | 448 | 3,196 | 53,776 | 2.5 | + | Boost.JSON | serialize | 499 | 504 | 2,891 | 63,231 | 2.9 | + | RapidJSON | Writer | 598 | 822 | 6,889 | 81,406 | 3.9 | ??? info "Times in µs on x86-64 with GCC 16.2" @@ -1956,193 +1983,193 @@ value, so it holds a little more. | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | accept | 256 | 504 | 880 | 35,446 | 1.3 | - | sonic-rs (Rust) | IgnoredAny | 482 | 969 | 2,489 | 55,486 | 1.8 | - | Boost.JSON | SAX, SAX (numbers: none) | 688 | 920 | 1,643 | 61,295 | 3.1 | - | simdjson | DOM | 302 | 680 | 3,167 | 117,836 | 1.9 | - | yyjson | insitu (copy), read, read (raw numbers) | 397 | 939 | 2,138 | 133,549 | 1.7 | - | sonic-cpp | Document [U] | – (U 401) | – (U 929) | – (U 3,258) | – (U 98,231) | – (U 1.9) | - | serde_json (Rust) | IgnoredAny [U], from_utf8 + IgnoredAny | 622 (U 480) | 1,440 (U 1,371) | 2,621 (U 2,538) | 65,602 (U 60,154) | 2.5 (U 1.9) | - | Glaze | validate_json | 718 | 1,972 | 2,550 | 80,290 | 2.8 | - | nlohmann/json `json` | accept | 691 | 1,471 | 4,540 | 76,340 | 3.4 | - | simd-json (Rust) | tape (copy) | 563 | 1,403 | 4,630 | 212,467 | 2.9 | - | RapidJSON | SAX (no encoding check) [U], SAX (raw numbers), insitu (copy), insitu (copy) (no encoding check) [U] | 1,254 (U 1,132) | 1,862 (U 1,587) | 10,322 | 164,951 (U 152,267) | 5.5 (U 3.9) | + | **nlohmann/json `json_document`** | accept | 254 | 510 | 862 | 34,543 | 1.2 | + | sonic-rs (Rust) | IgnoredAny | 501 | 970 | 2,249 | 54,369 | 1.8 | + | Boost.JSON | SAX, SAX (numbers: none) | 687 | 912 | 1,637 | 59,426 | 2.9 | + | yyjson | insitu (copy), read (raw numbers) | 389 | 946 | 2,133 | 127,616 | 1.6 | + | simdjson | DOM | 298 | 690 | 3,166 | 116,296 | 1.7 | + | sonic-cpp | Document [U] | – (U 403) | – (U 931) | – (U 3,170) | – (U 96,915) | – (U 1.7) | + | serde_json (Rust) | IgnoredAny [U], from_utf8 + IgnoredAny | 624 (U 484) | 1,440 (U 1,370) | 2,406 (U 2,314) | 64,720 (U 58,247) | 2.4 (U 1.9) | + | Glaze | validate_json | 714 | 1,974 | 2,521 | 76,716 | 2.5 | + | nlohmann/json `json` | accept | 667 | 1,426 | 4,398 | 71,489 | 3.1 | + | simd-json (Rust) | tape (copy) | 567 | 1,430 | 4,359 | 207,551 | 2.9 | + | RapidJSON | SAX (no encoding check) [U], SAX (raw numbers), insitu (copy), insitu (copy) (no encoding check) [U] | 1,250 (U 1,089) | 1,893 (U 1,590) | 10,133 | 157,360 (U 145,703) | 5.2 (U 3.5) | **sum** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | simdjson | On-Demand | 349 | 846 | 3,443 | 98,772 | 2.1 | - | **nlohmann/json `json_document`** | parse | 387 | 996 | 3,670 | 93,686 | 2.0 | - | sonic-rs (Rust) | visitor | 503 | 1,123 | 4,418 | 59,993 | 2.8 | - | sonic-cpp | Document [U] | – (U 471) | – (U 1,209) | – (U 3,945) | – (U 113,162) | – (U 2.2) | - | yyjson | insitu (copy), read | 452 | 1,162 | 4,138 | 142,713 | 1.9 | - | Boost.JSON | SAX | 689 | 1,000 | 5,784 | 62,713 | 3.0 | - | nlohmann/json `json` | sax | 807 | 1,802 | 5,884 | 100,220 | 4.3 | - | simd-json (Rust) | visitor (copy) | 668 | 1,688 | 5,134 | 224,411 | 4.0 | - | serde_json (Rust) | visitor | 1,311 | 2,316 | 7,241 | 130,249 | 5.1 | - | RapidJSON | SAX (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 1,299 (U 1,141) | 2,179 (U 1,796) | 11,198 | 172,104 (U 162,975) | 5.7 (U 4.1) | - | Glaze | generic (double) [P], generic (double, strict), lazy_json [P] | 2,397 | 4,330 | 11,094 | 304,997 (P 256,411) | 10.1 (P 6.4) | + | simdjson | On-Demand | 345 | 802 | 3,465 | 92,425 | 1.9 | + | **nlohmann/json `json_document`** | parse | 388 | 967 | 3,634 | 91,873 | 2.0 | + | sonic-rs (Rust) | visitor | 501 | 1,123 | 4,397 | 59,583 | 2.5 | + | sonic-cpp | Document [U] | – (U 460) | – (U 1,126) | – (U 3,948) | – (U 105,174) | – (U 2.0) | + | yyjson | insitu (copy), read | 450 | 1,100 | 4,131 | 136,960 | 1.9 | + | Boost.JSON | SAX | 698 | 961 | 5,821 | 60,418 | 3.0 | + | nlohmann/json `json` | sax | 814 | 1,638 | 5,673 | 95,614 | 4.0 | + | simd-json (Rust) | visitor (copy) | 681 | 1,650 | 5,083 | 210,185 | 3.5 | + | serde_json (Rust) | visitor | 1,311 | 2,288 | 7,127 | 129,497 | 4.6 | + | RapidJSON | SAX, SAX (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 1,300 (U 1,141) | 2,039 (U 1,680) | 11,309 | 170,218 (U 155,049) | 5.3 (U 3.9) | + | Glaze | generic (double) [P], generic (double, strict), lazy_json [P] | 2,334 | 4,099 | 11,762 (P 10,370) | 243,497 (P 233,200) | 8.7 (P 6.3) | **select** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | parse | 333 | 812 | 1,336 | 92,556 | 1.7 | - | yyjson | insitu (copy), read, read (raw numbers) | 406 | 1,012 | 2,177 | 145,779 | 1.8 | - | sonic-rs (Rust) | structs | 538 | 1,028 | 2,283 | 91,950 | 2.0 | - | simdjson | DOM, On-Demand (key selectors) [P], On-Demand [P] | 314 (P 183) | 697 (P 516) | 3,281 (P 701) | 128,804 (P 50,654) | 2.0 (P 1.2) | - | sonic-cpp | Document [U] | – (U 409) | – (U 1,005) | – (U 3,180) | – (U 111,279) | – (U 1.8) | - | Glaze | structs (validate_skipped), structs [P] | 603 (P 344) | 2,097 (P 422) | 2,586 (P 430) | 90,324 (P 70,824) | 2.1 (P 1.5) | - | serde_json (Rust) | from_utf8 + structs, structs [U] | 722 | 1,559 | 2,585 (U 2,448) | 114,701 | 3.0 | - | Boost.JSON | parse_into structs | 874 | 1,330 | 6,790 | 100,853 | 3.9 | - | simd-json (Rust) | structs (copy) | 740 | 1,802 | 4,997 | 258,566 | 3.7 | - | RapidJSON | insitu (copy), insitu (copy) (no encoding check) [U] | 1,261 (U 1,101) | 2,027 (U 1,963) | 10,840 | 166,338 | 5.6 (U 4.1) | - | nlohmann/json `json` | structs (from_json) | 3,583 | 5,868 | 11,608 | 646,498 | 14.7 | + | **nlohmann/json `json_document`** | parse, structs (from_json) | 328 | 773 | 1,306 | 91,598 | 1.7 | + | yyjson | insitu (copy), read, read (raw numbers) | 400 | 950 | 2,136 | 138,356 | 1.7 | + | sonic-rs (Rust) | structs | 504 | 1,033 | 2,328 | 90,486 | 2.0 | + | simdjson | DOM, On-Demand (key selectors) [P], On-Demand [P] | 311 (P 178) | 698 (P 495) | 3,263 (P 674) | 127,285 (P 49,613) | 1.9 (P 1.1) | + | sonic-cpp | Document [U] | – (U 408) | – (U 933) | – (U 3,178) | – (U 113,267) | – (U 1.8) | + | Glaze | structs (validate_skipped), structs [P] | 604 (P 344) | 1,976 (P 401) | 2,534 (P 418) | 87,637 (P 70,801) | 2.1 (P 1.5) | + | serde_json (Rust) | from_utf8 + structs, structs [U] | 701 | 1,532 | 2,529 (U 2,402) | 107,316 | 3.0 | + | Boost.JSON | parse, parse_into structs | 886 | 1,268 | 6,606 | 94,730 | 3.7 | + | simd-json (Rust) | structs (copy) | 679 | 1,731 | 5,144 | 239,164 | 3.5 | + | RapidJSON | insitu (copy), insitu (copy) (no encoding check) [U] | 1,261 (U 1,096) | 1,893 (U 1,834) | 10,263 | 165,979 (U 159,427) | 5.4 (U 3.8) | + | nlohmann/json `json` | parse, structs (from_json) | 3,454 | 5,203 | 11,070 | 426,942 | 17.8 | **edit** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | editable | 538 | 1,146 | 5,464 | 175,454 | 3.2 | - | sonic-cpp | Document [U] | – (U 623) | – (U 1,522) | – (U 8,678) | – (U 193,208) | – (U 3.4) | - | yyjson | insitu (copy) + mut copy, mut copy | 793 | 1,742 | 7,566 | 296,291 | 3.7 | - | sonic-rs (Rust) | Value | 1,201 | 2,416 | 7,958 | 421,718 | 6.9 | - | Boost.JSON | parse | 1,779 | 2,536 | 12,676 | 324,644 | 8.8 | - | RapidJSON | Document (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 1,965 (U 1,877) | 2,915 (U 2,803) | 19,784 | 317,671 (U 297,090) | 9.2 (U 7.7) | - | simd-json (Rust) | borrowed (copy), owned (copy) | 1,924 | 4,575 | 15,746 | 435,817 | 9.6 | - | nlohmann/json `json` | ordered_json, parse | 3,103 | 5,437 | 15,614 | 910,653 | 14.5 | - | Glaze | generic (strict), generic [P] | 3,577 | 6,466 | 22,051 | 761,903 | 16.5 (P 16.0) | - | serde_json (Rust) | Value | 4,036 | 7,181 | 17,371 | 843,034 | 16.9 | + | **nlohmann/json `json_document`** | editable, editable (source numbers) [N] | 538 | 1,112 | 5,519 (N 2,133) | 195,482 | 3.0 | + | sonic-cpp | Document [U] | – (U 619) | – (U 1,434) | – (U 8,257) | – (U 183,468) | – (U 3.4) | + | yyjson | insitu (copy) + mut copy, mut copy | 787 | 1,645 | 7,403 | 311,249 | 3.6 | + | sonic-rs (Rust) | Value | 1,197 | 2,389 | 7,744 | 390,952 | 6.9 | + | Boost.JSON | parse | 1,768 | 2,511 | 12,298 | 339,121 | 8.5 | + | RapidJSON | insitu (copy), insitu (copy) (no encoding check) [U] | 1,951 (U 1,793) | 2,858 | 19,274 | 288,710 | 9.1 (U 7.7) | + | simd-json (Rust) | borrowed (copy), owned (copy) | 1,862 | 4,194 | 14,896 | 391,369 | 9.0 | + | nlohmann/json `json` | ordered_json, parse | 2,806 | 4,972 | 14,917 | 635,353 | 13.7 | + | Glaze | generic (strict), generic [P] | 3,364 | 6,118 | 20,572 | 626,529 | 15.0 | + | serde_json (Rust) | Value | 4,042 | 6,586 | 16,631 | 632,766 | 17.6 | **minify** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | parse + dump | 486 | 1,104 | 5,300 | 157,399 | 2.5 | - | yyjson | insitu (copy) + write, read + write | 622 | 1,324 | 6,687 | 215,236 | 2.9 | - | sonic-cpp | Document + Serialize [U] | – (U 628) | – (U 1,538) | – (U 8,644) | – (U 182,074) | – (U 3.3) | - | simdjson | DOM + to_string, minify [P] | 797 (P 105) | 1,389 (P 264) | 8,834 (P 371) | 306,425 (P 49,313) | 4.8 (P 0.5) | - | sonic-rs (Rust) | Value | 1,003 | 2,174 | 7,753 | 217,354 | 5.5 | - | Boost.JSON | parse + serialize | 1,767 | 2,687 | 12,514 | 311,858 | 8.6 | - | simd-json (Rust) | borrowed (copy) | 1,878 | 4,655 | 15,955 | 419,412 | 9.5 | - | RapidJSON | Document + Writer, SAX to Writer, SAX to Writer (no encoding check) [U] | 2,529 (U 1,795) | 3,097 (U 2,690) | 21,347 | 379,477 (U 281,208) | 14.0 (U 9.6) | - | Glaze | generic (strict), minify_json [P] | 3,511 (P 417) | 6,660 (P 1,436) | 22,202 (P 2,656) | 500,412 (P 100,316) | 15.4 (P 1.9) | - | serde_json (Rust) | Value | 4,220 | 6,876 | 17,276 | 628,192 | 16.7 | - | nlohmann/json `json` | parse + dump | 4,219 | 6,864 | 15,620 | 724,748 | 16.4 | + | **nlohmann/json `json_document`** | parse + dump, parse + dump (source numbers) [N] | 481 (N 466) | 1,034 | 5,163 (N 2,153) | 151,260 | 2.5 (N 2.4) | + | yyjson | insitu (copy) + write, read (raw numbers) + write [N], read + write | 616 | 1,273 (N 1,224) | 6,621 (N 2,874) | 203,508 | 2.9 | + | sonic-cpp | Document + Serialize [U] | – (U 635) | – (U 1,427) | – (U 8,228) | – (U 175,214) | – (U 3.3) | + | simdjson | DOM + to_string, minify [P] | 788 (P 93.7) | 1,302 (P 279) | 8,426 (P 313) | 301,627 (P 46,983) | 4.7 (P 0.5) | + | sonic-rs (Rust) | Value | 1,000 | 2,097 | 7,795 | 215,280 | 5.4 | + | Boost.JSON | parse + serialize | 1,768 | 2,494 | 12,141 | 330,129 | 8.7 | + | simd-json (Rust) | borrowed (copy) | 1,889 | 4,196 | 15,716 | 414,377 | 9.2 | + | RapidJSON | Document + Writer, SAX to Writer, SAX to Writer (no encoding check) [U], SAX to Writer (raw numbers) (no encoding check) [U N] | 2,431 (U 1,730) | 2,815 (U 2,395) | 20,693 (U N 14,118) | 375,304 (U 274,873) | 13.5 (U 9.5) | + | Glaze | generic (strict), minify_json [P] | 3,268 (P 418) | 6,057 (P 1,292) | 20,639 (P 2,650) | 457,013 (P 93,423) | 13.9 (P 1.9) | + | nlohmann/json `json` | parse + dump | 3,861 | 5,772 | 14,812 | 546,637 | 19.4 | + | serde_json (Rust) | Value | 4,012 | 6,583 | 17,306 | 509,702 | 16.5 | **write** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | dump | 158 | 255 | 3,957 | 69,975 | 1.0 | - | yyjson | write | 215 | 319 | 3,367 | 66,593 | 1.3 | - | sonic-cpp | Serialize | 254 | 510 | 5,356 | 72,110 | 1.6 | - | nlohmann/json `json` | dump | 427 | 613 | 4,150 | 113,965 | 2.0 | - | Glaze | generic, generic (strict) | 380 | 714 | 4,135 | 133,036 | 2.2 | - | sonic-rs (Rust) | Value | 445 | 931 | 4,048 | 104,487 | 2.8 | - | Boost.JSON | serialize | 452 | 825 | 5,580 | 126,955 | 2.7 | - | simdjson | to_string | 461 | 590 | 5,868 | 176,988 | 3.3 | - | simd-json (Rust) | borrowed | 597 | 809 | 4,817 | 114,245 | 3.1 | - | serde_json (Rust) | Value | 560 | 848 | 3,964 | 129,473 | 3.2 | - | RapidJSON | Writer | 686 | 980 | 9,132 | 132,234 | 4.1 | + | **nlohmann/json `json_document`** | dump, dump (source numbers) [N] | 155 (N 139) | 251 (N 232) | 3,844 (N 835) | 70,827 | 0.9 (N 0.8) | + | yyjson | write | 187 | 333 | 3,343 | 68,342 | 1.3 | + | sonic-cpp | Serialize | 250 | 512 | 5,098 | 69,815 | 1.6 | + | nlohmann/json `json` | dump | 424 | 656 | 3,870 | 117,712 | 1.8 | + | Glaze | generic | 380 | 733 | 4,017 | 133,545 | 2.0 | + | sonic-rs (Rust) | Value | 434 | 927 | 3,987 | 109,176 | 2.8 | + | Boost.JSON | serialize | 455 | 837 | 5,472 | 144,557 | 2.3 | + | simdjson | to_string | 463 | 586 | 5,626 | 185,384 | 2.8 | + | simd-json (Rust) | borrowed | 582 | 800 | 5,147 | 122,623 | 2.8 | + | serde_json (Rust) | Value | 550 | 887 | 4,005 | 134,163 | 3.3 | + | RapidJSON | Writer | 637 | 983 | 8,996 | 130,099 | 3.8 | -??? info "Times in µs on x86-64 with GCC 13" +??? info "Times in µs on x86-64 with GCC 13.4" **validate** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | accept | 268 | 577 | 968 | 36,996 | 1.3 | - | sonic-rs (Rust) | IgnoredAny | 482 | 969 | 2,489 | 55,486 | 1.8 | - | Boost.JSON | SAX, SAX (numbers: none) | 716 | 949 | 1,638 | 63,909 | 3.4 | - | yyjson | insitu (copy), read, read (raw numbers) | 394 | 990 | 2,224 | 137,955 | 1.7 | - | Glaze | validate_json | 595 | 1,445 | 1,870 | 77,940 | 2.3 | - | simdjson | DOM | 314 | 755 | 3,203 | 123,091 | 1.9 | - | sonic-cpp | Document [U] | – (U 408) | – (U 1,044) | – (U 3,641) | – (U 99,805) | – (U 1.8) | - | serde_json (Rust) | IgnoredAny [U], from_utf8 + IgnoredAny | 622 (U 480) | 1,440 (U 1,371) | 2,621 (U 2,538) | 65,602 (U 60,154) | 2.5 (U 1.9) | - | nlohmann/json `json` | accept | 659 | 1,360 | 4,533 | 76,432 | 3.4 | - | simd-json (Rust) | tape (copy) | 563 | 1,403 | 4,630 | 212,467 | 2.9 | - | RapidJSON | SAX, SAX (no encoding check) [U], SAX (raw numbers), SAX (raw numbers) (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 1,606 (U 1,133) | 2,315 (U 1,678) | 10,370 | 223,678 (U 162,310) | 7.9 (U 4.2) | + | **nlohmann/json `json_document`** | accept | 269 | 576 | 984 | 34,383 | 1.2 | + | sonic-rs (Rust) | IgnoredAny | 501 | 970 | 2,249 | 54,369 | 1.8 | + | simdjson | DOM | 311 | 750 | 3,111 | 114,707 | 1.8 | + | Boost.JSON | SAX, SAX (numbers: none) | 723 | 933 | 1,674 | 61,382 | 3.2 | + | yyjson | insitu (copy), read (raw numbers) | 392 | 991 | 2,209 | 125,376 | 1.7 | + | Glaze | validate_json | 592 | 1,417 | 1,868 | 72,510 | 2.3 | + | sonic-cpp | Document [U] | – (U 416) | – (U 1,034) | – (U 3,563) | – (U 95,396) | – (U 1.6) | + | serde_json (Rust) | IgnoredAny [U], from_utf8 + IgnoredAny | 624 (U 484) | 1,440 (U 1,370) | 2,406 (U 2,314) | 64,720 (U 58,247) | 2.4 (U 1.9) | + | nlohmann/json `json` | accept | 698 | 1,299 | 4,370 | 72,856 | 3.1 | + | simd-json (Rust) | tape (copy) | 567 | 1,430 | 4,359 | 207,551 | 2.9 | + | RapidJSON | SAX (no encoding check) [U], SAX (raw numbers), insitu (copy), insitu (copy) (no encoding check) [U] | 1,694 (U 1,126) | 2,222 (U 1,695) | 10,357 | 207,460 (U 153,062) | 7.0 (U 3.6) | **sum** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | simdjson | On-Demand | 360 | 869 | 3,514 | 97,315 | 2.1 | - | **nlohmann/json `json_document`** | parse | 411 | 1,034 | 3,808 | 97,029 | 2.2 | - | sonic-rs (Rust) | visitor | 503 | 1,123 | 4,418 | 59,993 | 2.8 | - | sonic-cpp | Document [U] | – (U 489) | – (U 1,320) | – (U 4,448) | – (U 108,214) | – (U 2.2) | - | yyjson | insitu (copy), read | 448 | 1,161 | 6,230 | 137,830 | 2.1 | - | Boost.JSON | SAX | 794 | 1,131 | 5,696 | 69,348 | 3.5 | - | nlohmann/json `json` | sax | 822 | 1,849 | 6,124 | 106,310 | 4.2 | - | simd-json (Rust) | visitor (copy) | 668 | 1,688 | 5,134 | 224,411 | 4.0 | - | serde_json (Rust) | visitor | 1,311 | 2,316 | 7,241 | 130,249 | 5.1 | - | RapidJSON | SAX, SAX (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 1,768 (U 1,283) | 2,476 (U 1,910) | 12,444 | 223,612 (U 160,781) | 7.9 (U 4.4) | - | Glaze | generic (double) [P], generic (double, strict), lazy_json [P] | 2,416 | 4,521 | 12,148 | 312,263 (P 241,145) | 10.5 (P 6.6) | + | simdjson | On-Demand | 356 | 811 | 3,330 | 89,536 | 2.0 | + | **nlohmann/json `json_document`** | parse | 391 | 919 | 3,687 | 83,751 | 2.0 | + | sonic-rs (Rust) | visitor | 501 | 1,123 | 4,397 | 59,583 | 2.5 | + | sonic-cpp | Document [U] | – (U 462) | – (U 1,211) | – (U 4,178) | – (U 102,429) | – (U 1.9) | + | yyjson | insitu (copy), read | 445 | 1,153 | 5,982 | 132,844 | 2.0 | + | Boost.JSON | SAX | 736 | 1,018 | 5,847 | 62,361 | 3.3 | + | nlohmann/json `json` | sax | 792 | 1,545 | 5,697 | 95,144 | 4.1 | + | simd-json (Rust) | visitor (copy) | 681 | 1,650 | 5,083 | 210,185 | 3.5 | + | serde_json (Rust) | visitor | 1,311 | 2,288 | 7,127 | 129,497 | 4.6 | + | RapidJSON | SAX, SAX (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 1,647 (U 1,169) | 2,326 (U 1,739) | 10,949 | 212,747 (U 156,639) | 7.7 (U 4.0) | + | Glaze | generic (double) [P], generic (double, strict), lazy_json [P] | 2,350 | 4,048 | 10,485 | 233,680 (P 220,377) | 8.9 (P 6.1) | **select** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | parse, structs (from_json) | 347 | 826 | 1,403 | 92,440 | 1.8 | - | sonic-rs (Rust) | structs | 538 | 1,028 | 2,283 | 91,950 | 2.0 | - | yyjson | insitu (copy), read, read (raw numbers) | 398 | 1,054 | 2,306 | 146,260 | 1.8 | - | Glaze | structs (validate_skipped), structs [P] | 525 (P 338) | 1,534 (P 417) | 1,926 (P 446) | 98,399 (P 72,947) | 2.0 (P 1.4) | - | simdjson | DOM, On-Demand (key selectors) [P], On-Demand [P] | 324 (P 186) | 781 (P 530) | 3,418 (P 733) | 132,025 (P 49,766) | 2.2 (P 1.2) | - | sonic-cpp | Document [U] | – (U 414) | – (U 1,100) | – (U 3,705) | – (U 108,534) | – (U 1.8) | - | serde_json (Rust) | from_utf8 + structs, structs [U] | 722 | 1,559 | 2,585 (U 2,448) | 114,701 | 3.0 | - | simd-json (Rust) | structs (copy) | 740 | 1,802 | 4,997 | 258,566 | 3.7 | - | Boost.JSON | parse, parse_into structs | 905 | 1,325 | 7,511 | 99,987 | 4.3 | - | RapidJSON | Document, Document (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 1,614 (U 1,135) | 2,467 (U 2,120) | 11,973 | 231,174 (U 176,105) | 7.9 (U 3.9) | - | nlohmann/json `json` | parse, structs (from_json) | 3,260 | 5,881 | 12,046 | 630,235 | 13.8 | + | **nlohmann/json `json_document`** | parse | 335 | 740 | 1,358 | 94,846 | 1.6 | + | yyjson | insitu (copy), read, read (raw numbers) | 399 | 996 | 2,221 | 142,096 | 1.8 | + | sonic-rs (Rust) | structs | 504 | 1,033 | 2,328 | 90,486 | 2.0 | + | simdjson | DOM, On-Demand (key selectors) [P], On-Demand [P] | 320 (P 184) | 755 (P 508) | 3,149 (P 701) | 129,932 (P 51,763) | 2.0 (P 1.2) | + | Glaze | structs (validate_skipped), structs [P] | 526 (P 341) | 1,453 (P 405) | 1,902 (P 432) | 87,166 (P 66,832) | 2.0 (P 1.5) | + | sonic-cpp | Document [U] | – (U 415) | – (U 1,040) | – (U 3,708) | – (U 111,786) | – (U 1.7) | + | serde_json (Rust) | from_utf8 + structs, structs [U] | 701 | 1,532 | 2,529 (U 2,402) | 107,316 | 3.0 | + | simd-json (Rust) | structs (copy) | 679 | 1,731 | 5,144 | 239,164 | 3.5 | + | Boost.JSON | parse_into structs | 889 | 1,383 | 6,906 | 102,896 | 4.1 | + | RapidJSON | Document (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 1,601 (U 1,117) | 2,216 (U 1,920) | 11,491 | 221,481 (U 166,715) | 7.5 (U 3.9) | + | nlohmann/json `json` | parse, structs (from_json) | 3,323 | 5,055 | 12,002 | 432,006 | 17.4 | **edit** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | editable | 559 | 1,123 | 5,741 | 180,574 | 3.6 | - | sonic-cpp | Document [U] | – (U 654) | – (U 1,617) | – (U 8,704) | – (U 191,868) | – (U 3.6) | - | yyjson | insitu (copy) + mut copy, mut copy | 811 | 1,726 | 9,875 | 296,846 | 3.9 | - | sonic-rs (Rust) | Value | 1,201 | 2,416 | 7,958 | 421,718 | 6.9 | - | Boost.JSON | parse | 2,028 | 2,875 | 13,782 | 342,712 | 10.0 | - | simd-json (Rust) | borrowed (copy), owned (copy) | 1,924 | 4,575 | 15,746 | 435,817 | 9.6 | - | RapidJSON | Document, Document (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 2,508 (U 1,956) | 3,342 (U 3,004) | 21,057 | 372,662 (U 316,448) | 12.3 (U 8.4) | - | nlohmann/json `json` | ordered_json, parse | 3,191 | 5,392 | 16,314 | 915,203 | 15.7 | - | Glaze | generic (strict), generic [P] | 3,707 | 6,528 | 23,959 | 788,989 | 17.7 | - | serde_json (Rust) | Value | 4,036 | 7,181 | 17,371 | 843,034 | 16.9 | + | **nlohmann/json `json_document`** | editable, editable (source numbers) [N] | 534 | 1,091 | 5,634 (N 2,606) | 192,274 | 3.1 | + | sonic-cpp | Document [U] | – (U 635) | – (U 1,558) | – (U 8,793) | – (U 186,661) | – (U 3.4) | + | yyjson | insitu (copy) + mut copy, mut copy | 806 | 1,712 | 9,794 | 314,081 | 3.8 | + | sonic-rs (Rust) | Value | 1,197 | 2,389 | 7,744 | 390,952 | 6.9 | + | Boost.JSON | parse | 1,921 | 2,957 | 13,679 | 357,636 | 9.2 | + | simd-json (Rust) | borrowed (copy), owned (copy) | 1,862 | 4,194 | 14,896 | 391,369 | 9.0 | + | RapidJSON | Document (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 2,334 (U 1,892) | 3,188 (U 2,898) | 20,424 | 354,478 (U 297,773) | 11.8 (U 7.7) | + | nlohmann/json `json` | ordered_json | 2,840 | 4,985 | 15,317 | 649,500 | 14.3 | + | serde_json (Rust) | Value | 4,042 | 6,586 | 16,631 | 632,766 | 17.6 | + | Glaze | generic (strict), generic [P] | 3,600 | 6,812 | 22,771 | 676,289 | 15.9 | **minify** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | parse + dump | 504 | 1,127 | 5,555 | 158,589 | 2.6 | - | yyjson | insitu (copy) + write, read + write | 647 | 1,396 | 9,552 | 204,215 | 3.0 | - | sonic-cpp | Document + Serialize [U] | – (U 648) | – (U 1,654) | – (U 9,043) | – (U 176,994) | – (U 3.3) | - | simdjson | DOM + to_string, minify [P] | 797 (P 127) | 1,468 (P 343) | 8,866 (P 502) | 306,970 (P 47,256) | 5.0 (P 0.6) | - | sonic-rs (Rust) | Value | 1,003 | 2,174 | 7,753 | 217,354 | 5.5 | - | Boost.JSON | parse + serialize | 1,948 | 3,011 | 14,314 | 318,313 | 9.5 | - | simd-json (Rust) | borrowed (copy) | 1,878 | 4,655 | 15,955 | 419,412 | 9.5 | - | RapidJSON | Document + Writer, SAX to Writer, SAX to Writer (no encoding check) [U] | 2,812 (U 1,897) | 3,360 (U 2,725) | 21,929 | 425,370 (U 291,382) | 15.8 (U 11.1) | - | Glaze | generic (strict), minify_json [P] | 3,637 (P 425) | 6,974 (P 1,210) | 24,962 (P 2,654) | 528,359 (P 98,485) | 15.8 (P 2.0) | - | nlohmann/json `json` | parse + dump | 3,842 | 6,640 | 16,883 | 753,123 | 16.0 | - | serde_json (Rust) | Value | 4,220 | 6,876 | 17,276 | 628,192 | 16.7 | + | **nlohmann/json `json_document`** | parse + dump, parse + dump (source numbers) [N] | 485 | 1,004 | 5,260 (N 2,236) | 142,985 | 2.5 | + | yyjson | insitu (copy) + write, read (raw numbers) + write [N], read + write | 633 | 1,327 (N 1,268) | 8,944 (N 2,942) | 194,228 | 3.0 | + | sonic-cpp | Document + Serialize [U] | – (U 648) | – (U 1,551) | – (U 8,646) | – (U 162,814) | – (U 3.4) | + | simdjson | DOM + to_string, minify [P] | 795 (P 123) | 1,396 (P 336) | 8,342 (P 423) | 283,280 (P 44,890) | 4.7 (P 0.6) | + | sonic-rs (Rust) | Value | 1,000 | 2,097 | 7,795 | 215,280 | 5.4 | + | Boost.JSON | parse + serialize | 1,933 | 2,927 | 13,580 | 333,217 | 9.4 | + | simd-json (Rust) | borrowed (copy) | 1,889 | 4,196 | 15,716 | 414,377 | 9.2 | + | RapidJSON | Document + Writer, SAX to Writer, SAX to Writer (no encoding check) [U], SAX to Writer (raw numbers) (no encoding check) [U N] | 2,716 (U 1,837) | 3,082 (U 2,508) | 20,610 (U N 14,998) | 386,778 (U N 277,974) | 15.2 (U 10.2) | + | Glaze | generic (strict), minify_json [P] | 3,324 (P 419) | 6,164 (P 1,112) | 22,576 (P 2,095) | 476,579 (P 96,282) | 14.6 (P 1.9) | + | nlohmann/json `json` | parse + dump | 3,753 | 5,669 | 15,647 | 527,354 | 19.3 | + | serde_json (Rust) | Value | 4,012 | 6,583 | 17,306 | 509,702 | 16.5 | **write** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | dump | 152 | 272 | 3,839 | 72,604 | 1.1 | - | yyjson | write | 188 | 327 | 3,535 | 74,169 | 1.4 | - | sonic-cpp | Serialize | 279 | 538 | 5,132 | 78,073 | 1.7 | - | Glaze | generic | 340 | 663 | 3,669 | 133,954 | 2.1 | - | nlohmann/json `json` | dump | 435 | 622 | 4,021 | 124,517 | 2.3 | - | sonic-rs (Rust) | Value | 445 | 931 | 4,048 | 104,487 | 2.8 | - | simdjson | to_string | 461 | 622 | 5,222 | 189,639 | 3.2 | - | serde_json (Rust) | Value | 560 | 848 | 3,964 | 129,473 | 3.2 | - | simd-json (Rust) | borrowed | 597 | 809 | 4,817 | 114,245 | 3.1 | - | Boost.JSON | serialize | 480 | 1,026 | 5,843 | 132,662 | 2.7 | - | RapidJSON | Writer | 694 | 1,018 | 8,831 | 148,079 | 4.4 | + | **nlohmann/json `json_document`** | dump, dump (source numbers) [N] | 151 | 270 (N 255) | 3,827 (N 870) | 66,099 | 0.9 (N 0.8) | + | yyjson | write | 205 | 334 | 3,525 | 71,877 | 1.3 | + | sonic-cpp | Serialize | 258 | 536 | 5,070 | 71,191 | 1.7 | + | Glaze | generic, generic (strict) | 332 | 655 | 3,676 | 128,044 | 1.8 | + | nlohmann/json `json` | dump | 437 | 631 | 4,027 | 119,028 | 2.0 | + | sonic-rs (Rust) | Value | 434 | 927 | 3,987 | 109,176 | 2.8 | + | simdjson | to_string | 457 | 618 | 4,906 | 175,750 | 2.8 | + | simd-json (Rust) | borrowed | 582 | 800 | 5,147 | 122,623 | 2.8 | + | Boost.JSON | serialize | 464 | 999 | 6,202 | 142,516 | 2.5 | + | serde_json (Rust) | Value | 550 | 887 | 4,005 | 134,163 | 3.3 | + | RapidJSON | Writer | 669 | 1,025 | 9,078 | 140,116 | 4.0 | ??? info "Times in µs on x86-64 with Clang 23" @@ -2150,96 +2177,96 @@ value, so it holds a little more. | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | accept | 254 | 544 | 1,110 | 37,852 | 1.2 | - | sonic-rs (Rust) | IgnoredAny | 482 | 969 | 2,489 | 55,486 | 1.8 | - | Boost.JSON | SAX, SAX (numbers: none) | 576 | 913 | 1,678 | 57,742 | 2.4 | - | yyjson | insitu (copy), read, read (raw numbers) | 380 | 982 | 2,325 | 127,605 | 1.7 | - | simdjson | DOM | 308 | 726 | 3,190 | 123,266 | 1.9 | - | Glaze | validate_json | 593 | 1,272 | 1,778 | 79,561 | 2.6 | - | sonic-cpp | Document [U] | – (U 452) | – (U 1,077) | – (U 3,054) | – (U 103,704) | – (U 2.1) | - | serde_json (Rust) | IgnoredAny [U], from_utf8 + IgnoredAny | 622 (U 480) | 1,440 (U 1,371) | 2,621 (U 2,538) | 65,602 (U 60,154) | 2.5 (U 1.9) | - | nlohmann/json `json` | accept | 675 | 1,314 | 4,278 | 76,082 | 3.7 | - | simd-json (Rust) | tape (copy) | 563 | 1,403 | 4,630 | 212,467 | 2.9 | - | RapidJSON | SAX, SAX (no encoding check) [U], SAX (raw numbers), SAX (raw numbers) (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 1,912 (U 1,212) | 2,285 (U 1,774) | 10,385 | 254,120 (U 168,144) | 9.2 (U 4.6) | + | **nlohmann/json `json_document`** | accept | 254 | 517 | 995 | 34,154 | 1.2 | + | sonic-rs (Rust) | IgnoredAny | 501 | 970 | 2,249 | 54,369 | 1.8 | + | Boost.JSON | SAX, SAX (numbers: none) | 569 | 909 | 1,683 | 54,986 | 2.3 | + | simdjson | DOM | 306 | 722 | 3,203 | 118,182 | 1.7 | + | yyjson | insitu (copy), read, read (raw numbers) | 380 | 897 | 2,573 | 125,497 | 1.6 | + | Glaze | validate_json | 582 | 1,229 | 2,011 | 72,734 | 2.5 | + | sonic-cpp | Document [U] | – (U 445) | – (U 1,000) | – (U 3,042) | – (U 100,684) | – (U 1.8) | + | serde_json (Rust) | IgnoredAny [U], from_utf8 + IgnoredAny | 624 (U 484) | 1,440 (U 1,370) | 2,406 (U 2,314) | 64,720 (U 58,247) | 2.4 (U 1.9) | + | nlohmann/json `json` | accept | 654 | 1,283 | 4,043 | 70,284 | 3.3 | + | simd-json (Rust) | tape (copy) | 567 | 1,430 | 4,359 | 207,551 | 2.9 | + | RapidJSON | SAX, SAX (no encoding check) [U], SAX (raw numbers), insitu (copy), insitu (copy) (no encoding check) [U] | 1,808 (U 1,171) | 2,105 (U 1,664) | 10,540 | 247,331 (U 158,423) | 8.1 (U 4.1) | **sum** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | parse | 375 | 898 | 3,822 | 94,039 | 1.9 | - | yyjson | insitu (copy), read | 435 | 1,086 | 3,458 | 141,006 | 1.9 | - | sonic-rs (Rust) | visitor | 503 | 1,123 | 4,418 | 59,993 | 2.8 | - | simdjson | DOM, On-Demand | 395 | 1,028 | 4,221 | 121,944 | 2.4 | - | Boost.JSON | SAX | 582 | 939 | 6,061 | 60,122 | 2.5 | - | sonic-cpp | Document [U] | – (U 503) | – (U 1,181) | – (U 3,913) | – (U 116,464) | – (U 2.4) | - | nlohmann/json `json` | sax | 745 | 1,619 | 5,470 | 100,260 | 4.4 | - | simd-json (Rust) | visitor (copy) | 668 | 1,688 | 5,134 | 224,411 | 4.0 | - | serde_json (Rust) | visitor | 1,311 | 2,316 | 7,241 | 130,249 | 5.1 | - | RapidJSON | SAX, SAX (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 1,869 (U 1,231) | 2,305 (U 1,954) | 12,617 | 269,631 (U 185,360) | 9.0 (U 4.8) | - | Glaze | generic (double, strict), lazy_json [P] | 2,522 | 4,278 | 12,460 | 334,494 (P 221,802) | 11.1 (P 6.2) | + | **nlohmann/json `json_document`** | parse | 372 | 948 | 3,720 | 86,351 | 1.9 | + | sonic-rs (Rust) | visitor | 501 | 1,123 | 4,397 | 59,583 | 2.5 | + | yyjson | insitu (copy), read | 435 | 1,054 | 3,456 | 131,400 | 1.9 | + | simdjson | DOM, On-Demand | 398 | 981 | 4,131 | 116,924 | 2.3 | + | sonic-cpp | Document [U] | – (U 508) | – (U 1,171) | – (U 3,661) | – (U 110,607) | – (U 2.2) | + | Boost.JSON | SAX | 580 | 924 | 5,915 | 60,351 | 2.3 | + | nlohmann/json `json` | sax | 720 | 1,382 | 5,162 | 87,316 | 3.9 | + | simd-json (Rust) | visitor (copy) | 681 | 1,650 | 5,083 | 210,185 | 3.5 | + | serde_json (Rust) | visitor | 1,311 | 2,288 | 7,127 | 129,497 | 4.6 | + | RapidJSON | SAX, SAX (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 1,865 (U 1,232) | 2,173 (U 1,757) | 11,995 | 258,526 (U 166,047) | 8.5 (U 4.4) | + | Glaze | generic (double) [P], generic (double, strict), lazy_json [P] | 2,392 | 4,048 | 11,814 | 264,675 (P 198,418) | 8.9 (P 5.7) | **select** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | parse, structs (from_json) | 320 | 779 | 1,446 | 97,121 | 1.6 | - | yyjson | insitu (copy), read, read (raw numbers) | 392 | 934 | 2,385 | 142,562 | 1.7 | - | sonic-rs (Rust) | structs | 538 | 1,028 | 2,283 | 91,950 | 2.0 | - | simdjson | DOM, On-Demand (key selectors) [P], On-Demand [P], On-Demand structs [P] | 318 (P 183) | 798 (P 500) | 3,369 (P 705) | 135,711 (P 54,241) | 1.9 (P 1.3) | - | Glaze | structs (validate_skipped), structs [P] | 552 (P 344) | 1,462 (P 442) | 1,833 (P 464) | 96,315 (P 74,134) | 2.2 (P 1.7) | - | sonic-cpp | Document [U] | – (U 458) | – (U 1,038) | – (U 3,127) | – (U 119,384) | – (U 2.1) | - | serde_json (Rust) | from_utf8 + structs, structs [U] | 722 | 1,559 | 2,585 (U 2,448) | 114,701 | 3.0 | - | Boost.JSON | parse, parse_into structs | 788 | 1,479 | 7,216 | 103,495 | 3.3 | - | simd-json (Rust) | structs (copy) | 740 | 1,802 | 4,997 | 258,566 | 3.7 | - | RapidJSON | Document (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 1,815 (U 1,184) | 2,519 (U 2,076) | 12,154 | 263,951 (U 195,046) | 8.4 (U 4.6) | - | nlohmann/json `json` | parse, structs (from_json) | 3,764 | 5,991 | 12,787 | 673,472 | 17.9 | + | **nlohmann/json `json_document`** | parse, structs (from_json) | 314 | 778 | 1,387 | 87,988 | 1.6 | + | yyjson | insitu (copy), read, read (raw numbers) | 389 | 900 | 2,627 | 134,301 | 1.7 | + | simdjson | DOM, On-Demand (key selectors) [P], On-Demand [P] | 316 (P 182) | 736 (P 495) | 3,272 (P 698) | 121,563 (P 47,588) | 1.9 (P 1.1) | + | sonic-rs (Rust) | structs | 504 | 1,033 | 2,328 | 90,486 | 2.0 | + | Glaze | structs (validate_skipped), structs [P] | 542 (P 337) | 1,370 (P 418) | 1,870 (P 446) | 82,551 (P 67,047) | 2.2 (P 1.6) | + | sonic-cpp | Document [U] | – (U 456) | – (U 1,013) | – (U 3,104) | – (U 113,400) | – (U 1.9) | + | serde_json (Rust) | from_utf8 + structs, structs [U] | 701 | 1,532 | 2,529 (U 2,402) | 107,316 | 3.0 | + | Boost.JSON | parse, parse_into structs | 767 | 1,389 | 7,310 | 95,891 | 3.2 | + | simd-json (Rust) | structs (copy) | 679 | 1,731 | 5,144 | 239,164 | 3.5 | + | RapidJSON | insitu (copy), insitu (copy) (no encoding check) [U] | 1,813 (U 1,181) | 2,306 (U 1,932) | 11,750 | 253,907 (U 182,669) | 8.3 (U 4.1) | + | nlohmann/json `json` | parse, structs (from_json) | 3,521 | 5,192 | 11,196 | 453,587 | 20.0 | **edit** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | editable | 525 | 1,169 | 6,142 | 188,750 | 3.0 | - | sonic-cpp | Document [U] | – (U 656) | – (U 1,542) | – (U 8,630) | – (U 185,270) | – (U 3.5) | - | yyjson | insitu (copy) + mut copy, mut copy | 813 | 1,845 | 7,648 | 301,256 | 4.0 | - | sonic-rs (Rust) | Value | 1,201 | 2,416 | 7,958 | 421,718 | 6.9 | - | Boost.JSON | parse | 1,733 | 2,761 | 14,208 | 330,404 | 9.0 | - | simd-json (Rust) | borrowed (copy), owned (copy) | 1,924 | 4,575 | 15,746 | 435,817 | 9.6 | - | RapidJSON | Document (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 2,481 (U 1,877) | 3,414 (U 3,057) | 23,990 | 401,007 (U 315,136) | 12.0 (U 8.4) | - | nlohmann/json `json` | ordered_json | 2,952 | 5,505 | 17,698 | 857,064 | 15.1 | - | serde_json (Rust) | Value | 4,036 | 7,181 | 17,371 | 843,034 | 16.9 | - | Glaze | generic (strict), generic [P] | 4,375 | 8,829 (P 8,524) | 33,432 | 863,139 | 21.5 | + | **nlohmann/json `json_document`** | editable, editable (source numbers) [N] | 524 | 1,143 | 5,462 (N 2,443) | 202,684 | 2.9 | + | sonic-cpp | Document [U] | – (U 634) | – (U 1,458) | – (U 7,852) | – (U 183,532) | – (U 3.3) | + | yyjson | insitu (copy) + mut copy, mut copy | 869 | 1,674 | 7,099 | 309,767 | 3.9 | + | sonic-rs (Rust) | Value | 1,197 | 2,389 | 7,744 | 390,952 | 6.9 | + | Boost.JSON | parse | 1,723 | 2,574 | 12,679 | 358,088 | 8.4 | + | simd-json (Rust) | borrowed (copy), owned (copy) | 1,862 | 4,194 | 14,896 | 391,369 | 9.0 | + | RapidJSON | Document (no encoding check) [U], insitu (copy), insitu (copy) (no encoding check) [U] | 2,470 (U 1,839) | 3,194 (U 2,862) | 21,016 | 380,503 (U 311,506) | 12.1 (U 7.8) | + | nlohmann/json `json` | ordered_json, parse | 2,784 | 4,911 | 15,563 | 659,023 | 13.1 | + | serde_json (Rust) | Value | 4,042 | 6,586 | 16,631 | 632,766 | 17.6 | + | Glaze | generic (strict), generic [P] | 3,866 | 7,305 | 27,388 | 744,826 | 18.5 | **minify** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | parse + dump | 471 | 1,018 | 5,144 | 154,046 | 2.5 | - | yyjson | insitu (copy) + write, read + write | 629 | 1,281 | 6,146 | 211,812 | 3.1 | - | sonic-cpp | Document + Serialize [U] | – (U 662) | – (U 1,523) | – (U 8,111) | – (U 170,679) | – (U 3.3) | - | simdjson | DOM + to_string, minify [P] | 841 (P 104) | 1,430 (P 256) | 8,343 (P 375) | 299,968 (P 46,051) | 4.9 (P 0.5) | - | sonic-rs (Rust) | Value | 1,003 | 2,174 | 7,753 | 217,354 | 5.5 | - | Boost.JSON | parse + serialize | 1,745 | 2,654 | 12,599 | 324,994 | 8.8 | - | simd-json (Rust) | borrowed (copy) | 1,878 | 4,655 | 15,955 | 419,412 | 9.5 | - | RapidJSON | Document + Writer, Document + Writer (no encoding check) [U], SAX to Writer, SAX to Writer (no encoding check) [U] | 2,467 (U 1,790) | 2,972 (U 2,577) | 22,419 | 383,355 (U 293,834) | 13.8 (U 9.8) | - | serde_json (Rust) | Value | 4,220 | 6,876 | 17,276 | 628,192 | 16.7 | - | nlohmann/json `json` | parse + dump | 4,076 | 6,340 | 16,899 | 744,614 | 18.1 | - | Glaze | generic (strict), minify_json [P] | 4,282 (P 419) | 8,704 (P 1,024) | 29,995 (P 2,463) | 604,082 (P 93,661) | 20.6 (P 2.0) | + | **nlohmann/json `json_document`** | parse + dump, parse + dump (source numbers) [N] | 474 | 1,050 | 5,333 (N 2,402) | 156,634 (N 147,779) | 2.4 | + | yyjson | insitu (copy) + write, read (raw numbers) + write [N], read + write | 631 | 1,262 | 6,304 (N 3,614) | 196,789 | 3.1 | + | sonic-cpp | Document + Serialize [U] | – (U 646) | – (U 1,482) | – (U 8,135) | – (U 167,844) | – (U 3.2) | + | simdjson | DOM + to_string, minify [P] | 842 (P 98.8) | 1,430 (P 269) | 8,105 (P 332) | 297,946 (P 44,830) | 4.9 (P 0.5) | + | sonic-rs (Rust) | Value | 1,000 | 2,097 | 7,795 | 215,280 | 5.4 | + | Boost.JSON | parse + serialize | 1,753 | 2,591 | 13,210 | 339,360 | 8.5 | + | simd-json (Rust) | borrowed (copy) | 1,889 | 4,196 | 15,716 | 414,377 | 9.2 | + | RapidJSON | Document + Writer, SAX to Writer, SAX to Writer (no encoding check) [U], SAX to Writer (raw numbers) (no encoding check) [U N] | 2,416 (U 1,751) | 2,870 (U 2,380) | 22,073 (U N 14,655) | 354,208 (U N 261,920) | 13.2 (U 9.5) | + | serde_json (Rust) | Value | 4,012 | 6,583 | 17,306 | 509,702 | 16.5 | + | nlohmann/json `json` | parse + dump | 3,990 | 5,719 | 16,153 | 536,911 | 20.8 | + | Glaze | generic (strict), minify_json [P] | 3,834 (P 422) | 7,269 (P 1,058) | 27,454 (P 2,150) | 521,119 (P 88,952) | 17.3 (P 2.0) | **write** | library | variant | `twitter.json` | `citm_catalog.json` | `canada.json` | `jeopardy.json` | one status (2.5 KB) | | --- | --- | --: | --: | --: | --: | --: | - | **nlohmann/json `json_document`** | dump | 153 | 273 | 4,019 | 71,355 | 0.9 | - | yyjson | write | 217 | 376 | 3,618 | 77,694 | 1.3 | - | sonic-cpp | Serialize | 229 | 501 | 5,302 | 72,121 | 1.2 | - | nlohmann/json `json` | dump | 439 | 623 | 4,836 | 124,328 | 1.9 | - | Glaze | generic, generic (strict) | 383 | 741 | 4,522 | 139,142 | 2.1 | - | sonic-rs (Rust) | Value | 445 | 931 | 4,048 | 104,487 | 2.8 | - | Boost.JSON | serialize | 485 | 892 | 6,128 | 134,196 | 2.6 | - | simd-json (Rust) | borrowed | 597 | 809 | 4,817 | 114,245 | 3.1 | - | serde_json (Rust) | Value | 560 | 848 | 3,964 | 129,473 | 3.2 | - | simdjson | to_string | 496 | 679 | 5,335 | 187,340 | 3.2 | - | RapidJSON | Writer | 647 | 970 | 10,796 | 133,581 | 3.6 | + | **nlohmann/json `json_document`** | dump, dump (source numbers) [N] | 159 (N 152) | 277 | 3,798 (N 986) | 67,700 | 0.9 | + | yyjson | write | 216 | 359 | 3,514 | 73,410 | 1.4 | + | sonic-cpp | Serialize | 219 | 473 | 4,853 | 67,189 | 1.3 | + | nlohmann/json `json` | dump | 441 | 606 | 4,485 | 113,462 | 1.9 | + | Glaze | generic, generic (strict) | 400 | 722 | 4,229 | 134,914 | 2.1 | + | sonic-rs (Rust) | Value | 434 | 927 | 3,987 | 109,176 | 2.8 | + | Boost.JSON | serialize | 487 | 900 | 5,691 | 142,547 | 2.5 | + | simdjson | to_string | 503 | 672 | 5,039 | 173,990 | 2.9 | + | simd-json (Rust) | borrowed | 582 | 800 | 5,147 | 122,623 | 2.8 | + | serde_json (Rust) | Value | 550 | 887 | 4,005 | 134,163 | 3.3 | + | RapidJSON | Writer | 627 | 952 | 9,851 | 126,032 | 3.8 | ### F. Behavior changes @@ -2251,7 +2278,7 @@ Visible changes that came with the speed: number of digits but the closer ones. They all read back as the same `double`, and none of one million short decimals changes. In `canada.json`, 69 of the 111,126 numbers come out differently. - **Error positions** ([#5283][5283]). The column reported after a number at the end of a line is now correct; the - fast paths otherwise report the same byte, line and column as the byte path, checked on 481,000 documents. + fast paths otherwise report the same byte, line, and column as the byte path, checked on 481,000 documents. - **SAX float text** ([#5852][5852]). The built-in handlers behind `parse()` and `accept()` get an empty string as the text of a float token. A user-written SAX handler still gets the token's text. - **`FILE*` locking** ([#5828][5828]). The lock is taken once and held for the whole parse instead of once per byte. @@ -2272,36 +2299,39 @@ removed because 3.12.0 has no BON8. | suite | 3 rounds × 4 repetitions per version, random interleaving, each round of a version started only when the load average was below 4 and repeated when it rose above 5 while running; of 3.12.0 and 3.13.0, the round that was 4.2 % and 1.8 % slower overall than the other two was dropped; the median of the remaining 8 | | noise | the coefficient of variation was 3 % or less for 172 of the 182 rows with 3.12.0 and 174 with 3.13.0; the largest was 7.3 %, not counting one 3.12.0 run of a 1.5 µs benchmark that a disturbance made 1.4× as slow | | inputs | the files of [Appendix A](#a-test-files), and number-heavy files | +| Intel check | the suite again on a MacBook Pro (15-inch, 2016) with an Intel Core i7-6920HQ (Skylake, 4 cores), macOS 12.0.1, Apple clang 13, the same flags with C++11; started below a load of 3, repeated above 4; the first round of each version dropped (3.12.0's was 4.7 % slower than the others); the coefficient of variation was 3 % or less for 120 rows with 3.12.0 and 161 of 234 with 3.13.0, so single rows are less reliable than on the M1 Max; geometric mean 3.07×, and two rows below 1×: copying `citm_catalog.json` without destroying the copy (0.93×) and `==` of it and a copy (0.95×), both in each round |

Setup of the Google Benchmark comparison of 3.12.0 and 3.13.0.

**The other measurements.** The timeline is [`tests/benchmarks/history`](https://github.com/nlohmann/json/tree/develop/tests/benchmarks/history): one program, -compiled against `single_include` of 3.12.0, of each of the 315 commits on `develop` up to October 27 that changed `json.hpp` or -`json_view.hpp` since, and of 3.13.0 (C++17, `-O3`, no LTO), 4 rounds in random order, median of the rounds. The +compiled against `single_include` of 3.12.0, of each of the 351 commits on `develop` up to November 3 that changed `json.hpp` or +`json_view.hpp` since, and of 3.13.0 (C++17, `-O3`, no LTO), 4 rounds in random order, median of the rounds. Two +commits that don't compile on their own are left out. The commits up to October 27 were run on October 27, the +later ones and 3.13.0 on November 3, together with twelve of the earlier commits as a check: per workload, their +median moved by 1.5 % or less. The algorithmic fixes come from small extra programs (C++17, `-O3`, median of 3 interleaved runs). The comparison with other libraries is described in [Appendix E](#e-comparison-with-other-libraries). **Compile times.** The two programs of [The price](#the-price), each compiled as one translation unit with `-std=c++20` (modules need it) and `-O0` or `-O2`, with Apple clang 21 and Homebrew GCC 16.2 on the M1 Max. The time is -the CPU time (user plus system) of the compiler process, the median of 9 rounds in which all 40 compilations ran in a -random order. The machine had other work running (load average 5 to 12), which CPU time is less sensitive to than wall -time; the slowest of the 9 runs was within 18 % of the fastest for every program, and within 30 % for building the -precompiled header with GCC. Every variant was also linked +the CPU time (user plus system) of the compiler process, the median of 5 rounds in which all 40 compilations ran in a +random order. The slowest of the 5 runs was within 13 % of the fastest for every program and every build of the +precompiled header or the module. Every variant was also linked and run once, with the same output from all of them. | build | program | 3.12.0 | 3.13.0 | 3.13.0, PCH | 3.13.0, module | | --- | --- | --: | --: | --: | --: | -| Apple clang `-O0` | `count_numbers` | 959 | 1,155 | 679 | 804 | -| | `server_config` | 1,108 | 1,445 | 763 | 1,057 | -| Apple clang `-O2` | `count_numbers` | 1,269 | 1,868 | 1,364 | 1,513 | -| | `server_config` | 1,577 | 2,354 | 1,749 | 2,141 | -| GCC 16 `-O0` | `count_numbers` | 1,444 | 2,346 | 1,579 | 1,662 | -| | `server_config` | 1,985 | 2,782 | 2,113 | 2,181 | -| GCC 16 `-O2` | `count_numbers` | 2,327 | 3,453 | 2,972 | 2,895 | -| | `server_config` | 2,889 | 4,389 | 3,942 | 3,826 | +| Apple clang `-O0` | `count_numbers` | 955 | 1,320 | 689 | 918 | +| | `server_config` | 1,113 | 1,496 | 863 | 1,136 | +| Apple clang `-O2` | `count_numbers` | 1,393 | 2,081 | 1,458 | 1,685 | +| | `server_config` | 1,754 | 2,546 | 1,925 | 2,169 | +| GCC 16 `-O0` | `count_numbers` | 1,569 | 2,548 | 1,725 | 1,700 | +| | `server_config` | 2,025 | 2,985 | 2,302 | 2,326 | +| GCC 16 `-O2` | `count_numbers` | 2,336 | 3,702 | 2,987 | 2,913 | +| | `server_config` | 3,122 | 4,714 | 4,006 | 4,055 | -

Compile time in milliseconds of the two programs in [The price](#the-price) (CPU time of the compiler, median of 9 runs). Building the precompiled header took 876 and 931 ms with Apple clang (`-O0`, `-O2`) and 2,302 and 2,323 ms with GCC; building the module took 1,406 and 1,541 ms or 2,420 and 2,392 ms.

+

Compile time in milliseconds of the two programs in [The price](#the-price) (CPU time of the compiler, median of 5 runs). Building the precompiled header took 973 and 987 ms with Apple clang (`-O0`, `-O2`) and 2,565 and 2,589 ms with GCC; building the module took 1,617 and 1,602 ms or 2,499 and 2,465 ms.

??? example "The programs and the build commands" @@ -2425,8 +2455,8 @@ and run once, with the same output from all of them.

The commands for one program at `-O2`; the module variants are linked with `json_mod.o`.

-**What we did not measure.** The suite, the timeline and the algorithmic fixes ran on one Apple silicon laptop with -Clang. The comparison with other libraries also ran on an x86-64 server with GCC 16.2, GCC 13 and Clang 23, and +**What we did not measure.** The timeline and the algorithmic fixes ran on one Apple silicon laptop with Clang, the +suite also on an Intel laptop with Clang. The comparison with other libraries also ran on an x86-64 server with GCC 16.2, GCC 13, and Clang 23, and on the Mac with GCC 16.2 and Clang 23 as a check. That server is a virtual machine with 8 cores that present themselves as Haswell; its timings show the penalty of the microcode fix for Intel's JCC erratum, which Haswell doesn't have, so the real CPU is probably a later one. It shares its cores with other work, so its differences of a @@ -2438,7 +2468,7 @@ measure binary size or memory use. ### H. Pull requests by theme - 1 **Specialize for each input:** contiguous input [#5283][5283]; streams and `FILE*` [#5828][5828], [#5884][5884]; binary strings in bulk [#5233][5233]; sized sentinels [#5268][5268]. -- 2 **Work on words, not bytes:** word-at-a-time strings, UTF-8 runs and digits [#5283][5283], [#5738][5738], +- 2 **Work on words, not bytes:** word-at-a-time strings, UTF-8 runs, and digits [#5283][5283], [#5738][5738], [#5851][5851]; indentation [#5810][5810]; `dump()` runs [#5285][5285]; SSE2 and NEON [#5853][5853], [#5628][5628]; `json_document` with `ensure_ascii` [#5879][5879]; short strings [#5878][5878], [#5883][5883]; escape table [#5822][5822]; loop shape [#5490][5490]; fraction digits [#5971][5971]; BSON keys [#5968][5968]; @@ -2538,11 +2568,11 @@ These are the checks behind the themes: - **Error positions** (theme 1). The contiguous fast paths defer to the byte path on anything malformed. On 481,000 documents, 298,333 of them with errors, the contiguous and the byte path reported the same exception, message, byte, line and column, except for the one deliberate correction listed in [Appendix F](#f-behavior-changes). -- **Stream windows** (theme 1). A test `streambuf` hands out get areas of 1 to 4,096 bytes, so that every token +- **Stream windows** (theme 1). A test `streambuf` hands out get areas of 1–4,096 bytes, so that every token crosses a window edge at every offset, and the result is compared with a `streambuf` without a get area, which takes the old path. - **Differential fuzzing of the input kinds.** Every fuzz input is also parsed from an `std::istringstream`, from - `std::list` iterators (the byte path) and from a `FILE*`, and the value, the exception id, the message and the byte + `std::list` iterators (the byte path) and from a `FILE*`, and the value, the exception id, the message, and the byte offset must be identical ([#5827][5827]). - **Guard pages.** The input is copied so that its last byte is the last readable byte of a page, and the next page is unmapped. AddressSanitizer misses an over-read into the slack of the same heap allocation, and fuzzers rarely end diff --git a/docs/mkdocs/docs/images/perf_blog_cliffs.svg b/docs/mkdocs/docs/images/perf_blog_cliffs.svg index 606e91c37..422b818fa 100644 --- a/docs/mkdocs/docs/images/perf_blog_cliffs.svg +++ b/docs/mkdocs/docs/images/perf_blog_cliffs.svg @@ -1,6 +1,6 @@ Operations that grew quadratically or worse: time with 3.12.0 and 3.13.0, log scale -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. +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. 1 µs @@ -22,48 +22,48 @@ 3.12.0 3.13.0 diff() 64k numbers vs [] - -diff() 64k numbers vs [], 3.12.0: 4140 ms -diff() 64k numbers vs [], 3.13.0: 10.5 ms -394× + +diff() 64k numbers vs [], 3.12.0: 4237 ms +diff() 64k numbers vs [], 3.13.0: 10.8 ms +392× diff() 20k objects vs half - -diff() 20k objects vs half, 3.12.0: 119 ms -diff() 20k objects vs half, 3.13.0: 3.99 ms -30× + +diff() 20k objects vs half, 3.12.0: 122 ms +diff() 20k objects vs half, 3.13.0: 4.13 ms +30× parse() callback, 32k objects - -parse() callback, 32k objects, 3.12.0: 1361 ms + +parse() callback, 32k objects, 3.12.0: 1398 ms parse() callback, 32k objects, 3.13.0: 12.1 ms -112× +116× operator< nested 24 deep - -operator< nested 24 deep, 3.12.0: 64 ms + +operator< nested 24 deep, 3.12.0: 64.4 ms operator< nested 24 deep, 3.13.0: 0.002 ms -32000× +32200× operator< citm, 10x - -operator< citm, 10x, 3.12.0: 278 ms -operator< citm, 10x, 3.13.0: 3.86 ms -72× + +operator< citm, 10x, 3.12.0: 284 ms +operator< citm, 10x, 3.13.0: 3.94 ms +72× flatten() citm, ordered_json - -flatten() citm, ordered_json, 3.12.0: 251 ms -flatten() citm, ordered_json, 3.13.0: 1.39 ms -181× + +flatten() citm, ordered_json, 3.12.0: 271 ms +flatten() citm, ordered_json, 3.13.0: 1.45 ms +187× to_bson() 200 deep, 100x - -to_bson() 200 deep, 100x, 3.12.0: 19.9 ms -to_bson() 200 deep, 100x, 3.13.0: 0.349 ms -57× + +to_bson() 200 deep, 100x, 3.12.0: 20.3 ms +to_bson() 200 deep, 100x, 3.13.0: 0.352 ms +58× push_back() 100k, diagnostics - -push_back() 100k, diagnostics, 3.12.0: 1532 ms -push_back() 100k, diagnostics, 3.13.0: 5.04 ms -304× + +push_back() 100k, diagnostics, 3.12.0: 1589 ms +push_back() 100k, diagnostics, 3.13.0: 5.32 ms +299× at(i) 10k, diagnostics - -at(i) 10k, diagnostics, 3.12.0: 43.6 ms -at(i) 10k, diagnostics, 3.13.0: 0.081 ms -538× + +at(i) 10k, diagnostics, 3.12.0: 45.9 ms +at(i) 10k, diagnostics, 3.13.0: 0.088 ms +522× diff --git a/docs/mkdocs/docs/images/perf_blog_distribution.svg b/docs/mkdocs/docs/images/perf_blog_distribution.svg index ecb0e4fd7..4760bfd85 100644 --- a/docs/mkdocs/docs/images/perf_blog_distribution.svg +++ b/docs/mkdocs/docs/images/perf_blog_distribution.svg @@ -1,6 +1,6 @@ Speedup of 3.13.0 over 3.12.0 for all 182 benchmarks of the suite -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. +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. 0 @@ -9,17 +9,17 @@ 40 60 -below 1×: 2 -2 +below 1×: 1 +1 below 1× -1 to 1.5×: 21 -21 +1 to 1.5×: 22 +22 1 to 1.5× -1.5 to 2×: 14 -14 +1.5 to 2×: 12 +12 1.5 to 2× -2 to 3×: 58 -58 +2 to 3×: 60 +60 2 to 3× 3 to 5×: 58 58 diff --git a/docs/mkdocs/docs/images/perf_blog_heldout.svg b/docs/mkdocs/docs/images/perf_blog_heldout.svg index 5f6e85e49..30f262ce3 100644 --- a/docs/mkdocs/docs/images/perf_blog_heldout.svg +++ b/docs/mkdocs/docs/images/perf_blog_heldout.svg @@ -1,6 +1,6 @@ Validating 19 files 3.13.0 was not tuned on: json_document's time relative to the fastest other library per file -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). +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). 0.4× @@ -22,80 +22,80 @@ x86-64, G​CC 16.2 next on x86-64 mesh -mesh, Apple M1 Max: 0.66× the time of Glaze -mesh, x86-64, G​CC 16.2: 0.42× the time of serde_json (Rust) +mesh, Apple M1 Max: 0.67× the time of Glaze +mesh, x86-64, G​CC 16.2: 0.44× the time of serde_json (Rust) serde_json (Rust) -semanticscholar-corpus -semanticscholar-corpus, Apple M1 Max: 0.78× the time of sonic-rs (Rust) -semanticscholar-corpus, x86-64, G​CC 16.2: 0.61× the time of sonic-rs (Rust) -sonic-rs (Rust) -gsoc-2018 -gsoc-2018, Apple M1 Max: 0.61× the time of sonic-rs (Rust) -gsoc-2018, x86-64, G​CC 16.2: 0.67× the time of Boost.J​SON -Boost.J​SON -marine_ik -marine_ik, Apple M1 Max: 0.59× the time of Glaze -marine_ik, x86-64, G​CC 16.2: 0.69× the time of Boost.J​SON +marine_ik +marine_ik, Apple M1 Max: 0.59× the time of Glaze +marine_ik, x86-64, G​CC 16.2: 0.62× the time of Boost.J​SON +Boost.J​SON +semanticscholar-corpus +semanticscholar-corpus, Apple M1 Max: 0.79× the time of sonic-rs (Rust) +semanticscholar-corpus, x86-64, G​CC 16.2: 0.65× the time of sonic-rs (Rust) +sonic-rs (Rust) +gsoc-2018 +gsoc-2018, Apple M1 Max: 0.61× the time of sonic-rs (Rust) +gsoc-2018, x86-64, G​CC 16.2: 0.65× the time of Boost.J​SON Boost.J​SON twitter_api_compact_response twitter_api_compact_response, Apple M1 Max: 0.91× the time of yyjson -twitter_api_compact_response, x86-64, G​CC 16.2: 0.72× the time of simdjson +twitter_api_compact_response, x86-64, G​CC 16.2: 0.70× the time of simdjson simdjson -github_events -github_events, Apple M1 Max: 0.81× the time of simdjson -github_events, x86-64, G​CC 16.2: 0.74× the time of simdjson +twitterescaped +twitterescaped, Apple M1 Max: 0.94× the time of yyjson +twitterescaped, x86-64, G​CC 16.2: 0.77× the time of simdjson simdjson -twitterescaped -twitterescaped, Apple M1 Max: 0.94× the time of yyjson -twitterescaped, x86-64, G​CC 16.2: 0.75× the time of simdjson +github_events +github_events, Apple M1 Max: 0.82× the time of simdjson +github_events, x86-64, G​CC 16.2: 0.77× the time of simdjson simdjson numbers -numbers, Apple M1 Max: 0.62× the time of Glaze -numbers, x86-64, G​CC 16.2: 0.77× the time of Boost.J​SON +numbers, Apple M1 Max: 0.69× the time of Boost.J​SON +numbers, x86-64, G​CC 16.2: 0.77× the time of Boost.J​SON Boost.J​SON -update-center -update-center, Apple M1 Max: 0.89× the time of simdjson -update-center, x86-64, G​CC 16.2: 0.79× the time of simdjson +twitter_api_response +twitter_api_response, Apple M1 Max: 0.95× the time of yyjson +twitter_api_response, x86-64, G​CC 16.2: 0.81× the time of simdjson simdjson -twitter_api_response -twitter_api_response, Apple M1 Max: 0.93× the time of simdjson -twitter_api_response, x86-64, G​CC 16.2: 0.81× the time of simdjson -simdjson +google_maps_api_compact_response +google_maps_api_compact_response, Apple M1 Max: 0.84× the time of yyjson +google_maps_api_compact_response, x86-64, G​CC 16.2: 0.81× the time of yyjson +yyjson twitter_timeline -twitter_timeline, Apple M1 Max: 0.97× the time of yyjson -twitter_timeline, x86-64, G​CC 16.2: 0.83× the time of yyjson +twitter_timeline, Apple M1 Max: 0.97× the time of yyjson +twitter_timeline, x86-64, G​CC 16.2: 0.82× the time of yyjson yyjson -instruments -instruments, Apple M1 Max: 0.91× the time of yyjson -instruments, x86-64, G​CC 16.2: 0.86× the time of simdjson +update-center +update-center, Apple M1 Max: 0.89× the time of sonic-rs (Rust) +update-center, x86-64, G​CC 16.2: 0.83× the time of simdjson simdjson -google_maps_api_compact_response -google_maps_api_compact_response, Apple M1 Max: 0.84× the time of yyjson -google_maps_api_compact_response, x86-64, G​CC 16.2: 0.87× the time of yyjson -yyjson -apache_builds -apache_builds, Apple M1 Max: 1.11× the time of simdjson -apache_builds, x86-64, G​CC 16.2: 0.88× the time of simdjson +random +random, Apple M1 Max: 0.82× the time of simdjson +random, x86-64, G​CC 16.2: 0.88× the time of simdjson +simdjson +instruments +instruments, Apple M1 Max: 0.94× the time of yyjson +instruments, x86-64, G​CC 16.2: 0.90× the time of simdjson simdjson -random -random, Apple M1 Max: 0.84× the time of simdjson -random, x86-64, G​CC 16.2: 0.89× the time of simdjson +apache_builds +apache_builds, Apple M1 Max: 1.11× the time of simdjson +apache_builds, x86-64, G​CC 16.2: 0.90× the time of simdjson simdjson repeat repeat, Apple M1 Max: 0.65× the time of simdjson -repeat, x86-64, G​CC 16.2: 0.90× the time of simdjson +repeat, x86-64, G​CC 16.2: 0.91× the time of simdjson simdjson mesh.pretty -mesh.pretty, Apple M1 Max: 0.85× the time of Glaze -mesh.pretty, x86-64, G​CC 16.2: 0.93× the time of Boost.J​SON +mesh.pretty, Apple M1 Max: 0.85× the time of Glaze +mesh.pretty, x86-64, G​CC 16.2: 0.92× the time of Boost.J​SON Boost.J​SON -google_maps_api_response -google_maps_api_response, Apple M1 Max: 0.91× the time of simdjson -google_maps_api_response, x86-64, G​CC 16.2: 0.95× the time of simdjson +tree-pretty +tree-pretty, Apple M1 Max: 0.95× the time of simdjson +tree-pretty, x86-64, G​CC 16.2: 0.94× the time of simdjson simdjson -tree-pretty -tree-pretty, Apple M1 Max: 0.95× the time of simdjson -tree-pretty, x86-64, G​CC 16.2: 0.96× the time of simdjson +google_maps_api_response +google_maps_api_response, Apple M1 Max: 0.91× the time of yyjson +google_maps_api_response, x86-64, G​CC 16.2: 0.99× the time of simdjson simdjson as fast as the next diff --git a/docs/mkdocs/docs/images/perf_blog_overview.svg b/docs/mkdocs/docs/images/perf_blog_overview.svg index 1bcfe93c4..a53442e70 100644 --- a/docs/mkdocs/docs/images/perf_blog_overview.svg +++ b/docs/mkdocs/docs/images/perf_blog_overview.svg @@ -1,6 +1,6 @@ Speedup of 3.13.0 over 3.12.0 per workload, Apple M1 Max, Apple clang -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. +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. Parsing Writing Reading C​BOR @@ -28,59 +28,59 @@ 11× twitter.json -twitter.json: 3.0× -3.0× +twitter.json: 3.1× +3.1× citm_catalog.json -citm_catalog.json: 4.1× -4.1× +citm_catalog.json: 4.2× +4.2× canada.json -canada.json: 3.4× -3.4× +canada.json: 3.4× +3.4× canada.json, indented -canada.json, indented: 6.6× -6.6× +canada.json, indented: 6.5× +6.5× citm, ordered_json -citm, ordered_json: 6.7× -6.7× +citm, ordered_json: 6.8× +6.8× twitter, std::ifstream -twitter, std::ifstream: 2.4× -2.4× +twitter, std::ifstream: 2.5× +2.5× citm, FILE* -citm, FILE*: 4.7× -4.7× +citm, FILE*: 4.7× +4.7× citm, accept() -citm, accept(): 7.0× -7.0× +citm, accept(): 7.1× +7.1× dump() twitter -dump() twitter: 6.7× -6.7× +dump() twitter: 6.7× +6.7× dump() canada -dump() canada: 2.9× -2.9× +dump() canada: 3.0× +3.0× dump(4) citm -dump(4) citm: 4.6× -4.6× +dump(4) citm: 4.7× +4.7× to_cbor() twitter -to_cbor() twitter: 4.5× -4.5× +to_cbor() twitter: 4.6× +4.6× twitter, memory -twitter, memory: 3.2× -3.2× +twitter, memory: 3.4× +3.4× twitter, FILE* -twitter, FILE*: 6.4× -6.4× +twitter, FILE*: 6.6× +6.6× diff() canada -diff() canada: 10× -10× +diff() canada: 10× +10× iterate canada -iterate canada: 2.7× -2.7× +iterate canada: 2.7× +2.7× copy + destroy citm -copy + destroy citm: 1.11× -1.11× +copy + destroy citm: 1.13× +1.13× == citm -== citm: 1.04× -1.04× +== citm: 1.06× +1.06× speedup over 3.12.0 (3.12.0 = 1×), more is better diff --git a/docs/mkdocs/docs/images/perf_blog_price.svg b/docs/mkdocs/docs/images/perf_blog_price.svg index 20f507c86..0c3025a54 100644 --- a/docs/mkdocs/docs/images/perf_blog_price.svg +++ b/docs/mkdocs/docs/images/perf_blog_price.svg @@ -1,6 +1,6 @@ Compile time of two programs with 3.13.0, alone, with a precompiled header and as a module, compared with 3.12.0 -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 %. +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 %. 3.13.0 @@ -15,19 +15,19 @@ count_numbers -count_numbers, Apple clang 21, -O0 (debug), 3.13.0: 1,155 ms against 959 ms with 3.12.0 (+20 %) -+20 % -count_numbers, Apple clang 21, -O0 (debug), 3.13.0, precompiled header: 679 ms against 959 ms with 3.12.0 (−29 %) -−29 % -count_numbers, Apple clang 21, -O0 (debug), 3.13.0, module: 804 ms against 959 ms with 3.12.0 (−16 %) -−16 % +count_numbers, Apple clang 21, -O0 (debug), 3.13.0: 1,320 ms against 955 ms with 3.12.0 (+38 %) ++38 % +count_numbers, Apple clang 21, -O0 (debug), 3.13.0, precompiled header: 688 ms against 955 ms with 3.12.0 (−28 %) +−28 % +count_numbers, Apple clang 21, -O0 (debug), 3.13.0, module: 918 ms against 955 ms with 3.12.0 (−4 %) +−4 % server_config -server_config, Apple clang 21, -O0 (debug), 3.13.0: 1,445 ms against 1,108 ms with 3.12.0 (+30 %) -+30 % -server_config, Apple clang 21, -O0 (debug), 3.13.0, precompiled header: 763 ms against 1,108 ms with 3.12.0 (−31 %) -−31 % -server_config, Apple clang 21, -O0 (debug), 3.13.0, module: 1,057 ms against 1,108 ms with 3.12.0 (−5 %) -−5 % +server_config, Apple clang 21, -O0 (debug), 3.13.0: 1,496 ms against 1,113 ms with 3.12.0 (+34 %) ++34 % +server_config, Apple clang 21, -O0 (debug), 3.13.0, precompiled header: 863 ms against 1,113 ms with 3.12.0 (−23 %) +−23 % +server_config, Apple clang 21, -O0 (debug), 3.13.0, module: 1,136 ms against 1,113 ms with 3.12.0 (+2 %) ++2 % Apple clang 21, -O2 @@ -35,19 +35,19 @@ count_numbers -count_numbers, Apple clang 21, -O2, 3.13.0: 1,868 ms against 1,269 ms with 3.12.0 (+47 %) -+47 % -count_numbers, Apple clang 21, -O2, 3.13.0, precompiled header: 1,364 ms against 1,269 ms with 3.12.0 (+8 %) -+8 % -count_numbers, Apple clang 21, -O2, 3.13.0, module: 1,513 ms against 1,269 ms with 3.12.0 (+19 %) -+19 % +count_numbers, Apple clang 21, -O2, 3.13.0: 2,081 ms against 1,393 ms with 3.12.0 (+49 %) ++49 % +count_numbers, Apple clang 21, -O2, 3.13.0, precompiled header: 1,458 ms against 1,393 ms with 3.12.0 (+5 %) ++5 % +count_numbers, Apple clang 21, -O2, 3.13.0, module: 1,685 ms against 1,393 ms with 3.12.0 (+21 %) ++21 % server_config -server_config, Apple clang 21, -O2, 3.13.0: 2,354 ms against 1,577 ms with 3.12.0 (+49 %) -+49 % -server_config, Apple clang 21, -O2, 3.13.0, precompiled header: 1,749 ms against 1,577 ms with 3.12.0 (+11 %) -+11 % -server_config, Apple clang 21, -O2, 3.13.0, module: 2,141 ms against 1,577 ms with 3.12.0 (+36 %) -+36 % +server_config, Apple clang 21, -O2, 3.13.0: 2,546 ms against 1,754 ms with 3.12.0 (+45 %) ++45 % +server_config, Apple clang 21, -O2, 3.13.0, precompiled header: 1,925 ms against 1,754 ms with 3.12.0 (+10 %) ++10 % +server_config, Apple clang 21, -O2, 3.13.0, module: 2,169 ms against 1,754 ms with 3.12.0 (+24 %) ++24 % G​CC 16, -O0 (debug) @@ -55,19 +55,19 @@ count_numbers -count_numbers, G​CC 16, -O0 (debug), 3.13.0: 2,346 ms against 1,444 ms with 3.12.0 (+63 %) -+63 % -count_numbers, G​CC 16, -O0 (debug), 3.13.0, precompiled header: 1,579 ms against 1,444 ms with 3.12.0 (+9 %) -+9 % -count_numbers, G​CC 16, -O0 (debug), 3.13.0, module: 1,662 ms against 1,444 ms with 3.12.0 (+15 %) -+15 % +count_numbers, G​CC 16, -O0 (debug), 3.13.0: 2,548 ms against 1,569 ms with 3.12.0 (+62 %) ++62 % +count_numbers, G​CC 16, -O0 (debug), 3.13.0, precompiled header: 1,725 ms against 1,569 ms with 3.12.0 (+10 %) ++10 % +count_numbers, G​CC 16, -O0 (debug), 3.13.0, module: 1,700 ms against 1,569 ms with 3.12.0 (+8 %) ++8 % server_config -server_config, G​CC 16, -O0 (debug), 3.13.0: 2,782 ms against 1,985 ms with 3.12.0 (+40 %) -+40 % -server_config, G​CC 16, -O0 (debug), 3.13.0, precompiled header: 2,113 ms against 1,985 ms with 3.12.0 (+6 %) -+6 % -server_config, G​CC 16, -O0 (debug), 3.13.0, module: 2,181 ms against 1,985 ms with 3.12.0 (+10 %) -+10 % +server_config, G​CC 16, -O0 (debug), 3.13.0: 2,985 ms against 2,025 ms with 3.12.0 (+47 %) ++47 % +server_config, G​CC 16, -O0 (debug), 3.13.0, precompiled header: 2,302 ms against 2,025 ms with 3.12.0 (+14 %) ++14 % +server_config, G​CC 16, -O0 (debug), 3.13.0, module: 2,326 ms against 2,025 ms with 3.12.0 (+15 %) ++15 % G​CC 16, -O2 @@ -75,19 +75,19 @@ count_numbers -count_numbers, G​CC 16, -O2, 3.13.0: 3,453 ms against 2,327 ms with 3.12.0 (+48 %) -+48 % -count_numbers, G​CC 16, -O2, 3.13.0, precompiled header: 2,972 ms against 2,327 ms with 3.12.0 (+28 %) +count_numbers, G​CC 16, -O2, 3.13.0: 3,702 ms against 2,336 ms with 3.12.0 (+58 %) ++58 % +count_numbers, G​CC 16, -O2, 3.13.0, precompiled header: 2,987 ms against 2,336 ms with 3.12.0 (+28 %) +28 % -count_numbers, G​CC 16, -O2, 3.13.0, module: 2,895 ms against 2,327 ms with 3.12.0 (+24 %) -+24 % +count_numbers, G​CC 16, -O2, 3.13.0, module: 2,913 ms against 2,336 ms with 3.12.0 (+25 %) ++25 % server_config -server_config, G​CC 16, -O2, 3.13.0: 4,389 ms against 2,889 ms with 3.12.0 (+52 %) -+52 % -server_config, G​CC 16, -O2, 3.13.0, precompiled header: 3,942 ms against 2,889 ms with 3.12.0 (+36 %) -+36 % -server_config, G​CC 16, -O2, 3.13.0, module: 3,826 ms against 2,889 ms with 3.12.0 (+32 %) -+32 % +server_config, G​CC 16, -O2, 3.13.0: 4,714 ms against 3,122 ms with 3.12.0 (+51 %) ++51 % +server_config, G​CC 16, -O2, 3.13.0, precompiled header: 4,006 ms against 3,122 ms with 3.12.0 (+28 %) ++28 % +server_config, G​CC 16, -O2, 3.13.0, module: 4,055 ms against 3,122 ms with 3.12.0 (+30 %) ++30 % −40 % −20 % diff --git a/docs/mkdocs/docs/images/perf_blog_timeline_accept_twitter.svg b/docs/mkdocs/docs/images/perf_blog_timeline_accept_twitter.svg index ea1c9953c..49c77004d 100644 --- a/docs/mkdocs/docs/images/perf_blog_timeline_accept_twitter.svg +++ b/docs/mkdocs/docs/images/perf_blog_timeline_accept_twitter.svg @@ -1,6 +1,6 @@ accept() twitter.json: speedup over 3.12.0 by commit -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. +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. accept() twitter.json 1× @@ -12,34 +12,34 @@ 8× 3.12.0 - -Sep 2026 - -Oct - -#5234: 1.22× - - -4 -#5283: 2.6× - - -1 -#5592: 2.9× - - -4 -#5809: 3.7× -#5810: 4.0× - - -4 - -2 -#5853: 4.9× - - -2 + +Sep 2026 + +Oct + +#5234: 1.22× + + +4 +#5283: 2.6× + + +1 +#5592: 2.9× + + +4 +#5809: 3.7× +#5810: 4.0× + + +4 + +2 +#5853: 4.9× + + +2 speedup over 3.12.0 (log scale), more is better diff --git a/docs/mkdocs/docs/images/perf_blog_timeline_dump_canada.svg b/docs/mkdocs/docs/images/perf_blog_timeline_dump_canada.svg index 8ff911e57..91fc0e9b0 100644 --- a/docs/mkdocs/docs/images/perf_blog_timeline_dump_canada.svg +++ b/docs/mkdocs/docs/images/perf_blog_timeline_dump_canada.svg @@ -1,6 +1,6 @@ dump() canada.json: speedup over 3.12.0 by commit -dump() canada.json: speedup over 3.12.0 at each of 317 commits, ending at 3.3x. Labeled steps, by theme: 6, 3. +dump() canada.json: speedup over 3.12.0 at each of 353 commits, ending at 3.3x. Labeled steps, by theme: 6, 3. dump() canada.json 1× @@ -12,19 +12,19 @@ 8× 3.12.0 - -Sep 2026 - -Oct - -#5285: 1.09× - - -6 -#5634: 3.1× - - -3 + +Sep 2026 + +Oct + +#5285: 1.09× + + +6 +#5634: 3.1× + + +3 speedup over 3.12.0 (log scale), more is better diff --git a/docs/mkdocs/docs/images/perf_blog_timeline_dump_twitter.svg b/docs/mkdocs/docs/images/perf_blog_timeline_dump_twitter.svg index 72e98818c..81ad49dae 100644 --- a/docs/mkdocs/docs/images/perf_blog_timeline_dump_twitter.svg +++ b/docs/mkdocs/docs/images/perf_blog_timeline_dump_twitter.svg @@ -1,6 +1,6 @@ dump() twitter.json: speedup over 3.12.0 by commit -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. +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. dump() twitter.json 1× @@ -14,27 +14,24 @@ 16× 3.12.0 - -Sep 2026 - -Oct - -#5285: 3.3× - - -6 -#5738: 3.8× - - -2 -#5878: 4.5× - - -2 -#5883: 6.8× - - -2 + +Sep 2026 + +Oct + +#5285: 3.3× + + +6 +#5738: 3.8× + + +2 +#5878: 4.5× +#5883: 6.8× + + +2 speedup over 3.12.0 (log scale), more is better diff --git a/docs/mkdocs/docs/images/perf_blog_timeline_from_cbor_twitter.svg b/docs/mkdocs/docs/images/perf_blog_timeline_from_cbor_twitter.svg index 424ae1351..278255d93 100644 --- a/docs/mkdocs/docs/images/perf_blog_timeline_from_cbor_twitter.svg +++ b/docs/mkdocs/docs/images/perf_blog_timeline_from_cbor_twitter.svg @@ -1,6 +1,6 @@ from_cbor() twitter: speedup over 3.12.0 by commit -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. +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. from_cbor() twitter 1× @@ -10,27 +10,27 @@ 4× 3.12.0 - -Sep 2026 - -Oct - -#5233: 1.47× - - -1 -#5501: 2.2× - - -4 -#5185: 1.76× - - -U -#5746: 2.3× - - -U + +Sep 2026 + +Oct + +#5233: 1.47× + + +1 +#5501: 2.2× + + +4 +#5185: 1.76× + + +U +#5746: 2.3× + + +U speedup over 3.12.0 (log scale), more is better diff --git a/docs/mkdocs/docs/images/perf_blog_timeline_parse_canada.svg b/docs/mkdocs/docs/images/perf_blog_timeline_parse_canada.svg index f6fb2d168..b325a346d 100644 --- a/docs/mkdocs/docs/images/perf_blog_timeline_parse_canada.svg +++ b/docs/mkdocs/docs/images/perf_blog_timeline_parse_canada.svg @@ -1,6 +1,6 @@ parse() canada.json: speedup over 3.12.0 by commit -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. +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. parse() canada.json 1× @@ -10,35 +10,35 @@ 4× 3.12.0 - -Sep 2026 - -Oct - -#5234: 1.11× - - -4 -#5283: 1.47× - - -1 -#5617: 1.48× - - -3 -#5738: 1.95× - - -3 -#5851: 2.2× - - -3 -#5882: 2.8× - - -4 + +Sep 2026 + +Oct + +#5234: 1.11× + + +4 +#5283: 1.47× + + +1 +#5617: 1.48× + + +3 +#5738: 1.95× + + +3 +#5851: 2.2× + + +3 +#5882: 2.8× + + +4 speedup over 3.12.0 (log scale), more is better diff --git a/docs/mkdocs/docs/images/perf_blog_timeline_parse_citm.svg b/docs/mkdocs/docs/images/perf_blog_timeline_parse_citm.svg index 80557bd9c..d4eec81df 100644 --- a/docs/mkdocs/docs/images/perf_blog_timeline_parse_citm.svg +++ b/docs/mkdocs/docs/images/perf_blog_timeline_parse_citm.svg @@ -1,6 +1,6 @@ parse() citm_catalog.json: speedup over 3.12.0 by commit -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. +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. parse() citm_catalog.json 1× @@ -12,34 +12,34 @@ 8× 3.12.0 - -Sep 2026 - -Oct - -#5234: 1.55× - - -4 -#5283: 1.95× - - -1 -#5592: 2.2× - - -4 -#5809: 2.4× -#5810: 2.8× - - -4 - -2 -#5882: 3.3× - - -4 + +Sep 2026 + +Oct + +#5234: 1.55× + + +4 +#5283: 1.95× + + +1 +#5592: 2.2× + + +4 +#5809: 2.4× +#5810: 2.8× + + +4 + +2 +#5882: 3.3× + + +4 speedup over 3.12.0 (log scale), more is better diff --git a/docs/mkdocs/docs/images/perf_blog_timeline_parse_twitter_ifstream.svg b/docs/mkdocs/docs/images/perf_blog_timeline_parse_twitter_ifstream.svg index 46c1e0804..4abcdc305 100644 --- a/docs/mkdocs/docs/images/perf_blog_timeline_parse_twitter_ifstream.svg +++ b/docs/mkdocs/docs/images/perf_blog_timeline_parse_twitter_ifstream.svg @@ -1,6 +1,6 @@ parse() twitter.json, std::ifstream: speedup over 3.12.0 by commit -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. +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. parse() twitter.json, std::ifstream 1× @@ -10,19 +10,19 @@ 4× 3.12.0 - -Sep 2026 - -Oct - -#5828: 1.97× - - -1 -#5884: 2.2× - - -1 + +Sep 2026 + +Oct + +#5828: 1.97× + + +1 +#5884: 2.2× + + +1 speedup over 3.12.0 (log scale), more is better diff --git a/docs/mkdocs/docs/images/perf_blog_timeline_to_cbor_twitter.svg b/docs/mkdocs/docs/images/perf_blog_timeline_to_cbor_twitter.svg index 08083d620..ce9e9a202 100644 --- a/docs/mkdocs/docs/images/perf_blog_timeline_to_cbor_twitter.svg +++ b/docs/mkdocs/docs/images/perf_blog_timeline_to_cbor_twitter.svg @@ -1,6 +1,6 @@ to_cbor() twitter: speedup over 3.12.0 by commit -to_cbor() twitter: speedup over 3.12.0 at each of 317 commits, ending at 5.0x. Labeled steps, by theme: 4, 6, 6. +to_cbor() twitter: speedup over 3.12.0 at each of 353 commits, ending at 5.0x. Labeled steps, by theme: 4, 6, 6. to_cbor() twitter 1× @@ -12,23 +12,23 @@ 8× 3.12.0 - -Sep 2026 - -Oct - -#5328: 2.2× - - -4 -#5824: 3.5× - - -6 -#5885: 5.1× - - -6 + +Sep 2026 + +Oct + +#5328: 2.2× + + +4 +#5824: 3.5× + + +6 +#5885: 5.1× + + +6 speedup over 3.12.0 (log scale), more is better diff --git a/docs/mkdocs/docs/images/perf_blog_usecases_mac.svg b/docs/mkdocs/docs/images/perf_blog_usecases_mac.svg index 6c0db5446..58b8753ac 100644 --- a/docs/mkdocs/docs/images/perf_blog_usecases_mac.svg +++ b/docs/mkdocs/docs/images/perf_blog_usecases_mac.svg @@ -1,6 +1,6 @@ Use cases: time of each library relative to the fastest, Apple M1 Max -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. +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. validate sum select @@ -8,102 +8,122 @@ minify write nlohmann/json json_document - + 1.00 - + 1.00 - + 1.00 - - -1.00 + + +1.00 - - -1.00 + + +0.85 +N - - -1.00 + + +1.00 + + + +0.85 +N + + + +1.00 + + + +0.70 +N yyjson - + -1.41 +1.42 - + -1.12 +1.14 - + -1.29 +1.30 - + -1.50 +1.49 - - -1.25 + + +1.26 - + + +1.19 +N + + -1.23 +1.26 simdjson - - -1.49 + + +1.52 - + -1.18 +1.20 - + -1.34 +1.36 - + -0.74 +0.75 P n/a - + -2.03 +2.06 - + 0.18 P - + -3.21 +3.27 sonic-rs (Rust) - + -1.93 +1.94 - + -1.54 +1.53 - + -1.85 +1.84 @@ -113,234 +133,234 @@ 1.93 - + -2.37 +2.39 sonic-cpp - + -2.52 +2.55 U - + -1.84 +1.85 U - + -2.32 +2.33 U - + -1.68 +1.71 U - + -2.01 +2.04 U - + -1.54 +1.63 simd-json (Rust) - + -2.07 +2.08 1.62 - + -2.40 +2.39 - + -2.86 +2.85 - + -3.41 +3.40 - + -3.08 +3.12 Glaze - + -2.03 +2.05 - + -3.84 +3.86 - + -1.79 +1.80 - + -0.81 +0.82 P - + -4.43 +4.42 - + -5.18 +5.19 - + -1.03 +1.06 P - + -2.19 +2.24 Boost.J​SON - + -2.55 +2.59 - + -1.97 +1.98 - + -3.30 +3.29 - + -3.22 +3.25 - + -3.84 +3.87 - + -3.68 +3.75 -nlohmann/json json - - -2.70 +serde_json (Rust) + + +2.48 - - -1.95 + + +2.24 +U - - -6.87 + + +2.58 - - -3.58 + + +2.41 - - -4.85 + + +2.25 +U - - -2.04 + + +5.02 -serde_json (Rust) - - -2.47 + + +5.86 - - -2.23 -U + + +2.97 - - -2.59 +nlohmann/json json + + +2.74 - - -2.42 + + +1.96 - - -2.27 -U + + +6.91 - - -5.04 + + +3.72 - - -5.88 + + +4.91 - - -2.93 + + +2.08 RapidJSON - + -6.68 +6.78 - + -4.32 +4.40 U - + -4.43 +4.46 - + -2.98 +3.01 U - + -5.99 +6.01 - + -3.90 +3.95 U - + -4.85 +4.88 - + -3.80 +3.84 U - + -4.85 +4.89 - + -4.53 -U +4.28 +U N - + -5.74 +5.87 time relative to the fastest fully validating library, less is better diff --git a/docs/mkdocs/docs/images/perf_blog_usecases_x86-clang.svg b/docs/mkdocs/docs/images/perf_blog_usecases_x86-clang.svg index e08a0769a..cd935e522 100644 --- a/docs/mkdocs/docs/images/perf_blog_usecases_x86-clang.svg +++ b/docs/mkdocs/docs/images/perf_blog_usecases_x86-clang.svg @@ -1,6 +1,6 @@ Use cases: time of each library relative to the fastest, x86-64 with Clang 23 -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. +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. validate sum select @@ -8,124 +8,144 @@ minify write nlohmann/json json_document - + 1.00 - + 1.00 - + 1.00 - - -1.00 + + +1.00 - - -1.00 + + +0.82 +N - - -1.00 + + +1.00 + + + +0.80 +N + + + +1.00 + + + +0.70 +N yyjson - + -2.09 +2.23 - + -1.17 +1.16 - + -1.37 +1.43 - + 1.48 - - -1.29 + + +1.24 - + + +1.08 +N + + -1.18 +1.15 sonic-cpp - + -2.27 +2.35 U - + -1.22 +1.21 U - + -1.50 +1.53 U - + -1.23 +1.19 U - + -1.38 +1.33 U - + -1.38 +1.31 sonic-rs (Rust) - + -1.83 +1.91 - + -1.06 +1.07 - + -1.35 +1.38 - + -1.92 +1.90 - + -1.76 +1.71 - + -1.96 +1.98 simdjson - + -1.97 +2.08 - + -1.15 +1.14 - + -1.35 +1.33 - + 0.56 P @@ -134,213 +154,213 @@ n/a - + -1.68 +1.63 - + -0.19 +0.18 P - + -2.30 +2.26 Boost.J​SON - + -1.72 +1.81 - + -1.13 +1.14 - + -2.23 +2.24 - + -2.37 +2.35 - + -2.66 +2.64 - + -2.33 +2.37 simd-json (Rust) - + -3.40 +3.58 - + -1.81 +1.80 - + -2.65 +2.64 - + -3.04 +2.88 - + -3.52 +3.34 - + -2.17 +2.26 serde_json (Rust) - + -2.27 +2.37 - + -2.04 +2.12 U - + -2.21 +2.22 - + -1.76 +1.77 - + -4.94 +4.53 - - -5.37 + + +4.86 - + -2.12 +2.19 Glaze - + -2.07 +2.20 - + -4.39 +4.04 - + -3.96 +3.75 P - + -1.42 +1.40 - + -0.62 +0.61 P - + -6.29 +5.43 - + -6.49 +5.56 - + -0.71 +0.67 P - + -1.97 +1.95 nlohmann/json json - + -2.66 +2.71 - - -1.53 + + +1.41 - + -8.63 +7.47 - + -4.31 +3.81 - - -5.41 + + +4.67 - + -1.92 +1.86 RapidJSON - + -6.67 +6.87 - + -5.04 +5.20 U - + -3.32 +3.25 - - -2.61 + + +2.48 U - + 4.52 - + -3.59 +3.58 U - + -3.27 +3.12 - + -2.79 +2.69 U - + -3.59 +3.38 - - -2.99 -U + + +2.49 +U N - + -2.95 +2.84 time relative to the fastest fully validating library, less is better diff --git a/docs/mkdocs/docs/images/perf_blog_usecases_x86-gcc.svg b/docs/mkdocs/docs/images/perf_blog_usecases_x86-gcc.svg index 7fc4b0600..85e6aad30 100644 --- a/docs/mkdocs/docs/images/perf_blog_usecases_x86-gcc.svg +++ b/docs/mkdocs/docs/images/perf_blog_usecases_x86-gcc.svg @@ -1,6 +1,6 @@ Use cases: time of each library relative to the fastest, x86-64 with G​CC 16.2 -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. +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. validate sum select @@ -8,99 +8,119 @@ minify write nlohmann/json json_document - + 1.00 - + -1.07 +1.09 - + 1.00 - - -1.00 + + +1.00 - - -1.00 + + +0.79 +N - - -1.00 + + +1.00 + + + +0.79 +N + + + +1.00 + + + +0.65 +N yyjson - + -2.27 +2.26 - + 1.33 - + -1.41 +1.39 - - -1.51 + + +1.47 - - -1.28 + + +1.28 - + + +1.03 +N + + 1.08 sonic-cpp - + -2.33 +2.34 U - + -1.26 +1.25 U - + -1.44 +1.46 U - + -1.28 +1.20 U - + -1.36 +1.35 U - + -1.46 +1.44 simdjson - + -2.09 +2.11 - + 1.00 - + -1.29 +1.31 - + 0.56 P @@ -109,238 +129,238 @@ n/a - + 1.61 - + 0.18 P - + -2.25 +2.27 sonic-rs (Rust) - + -2.00 +1.98 - + -1.11 +1.14 - + -1.36 +1.38 - + -2.01 +1.91 - + -1.69 +1.74 - + -1.99 +2.02 Boost.J​SON - + 1.99 - + -1.26 +1.28 - + -2.21 +2.19 - + -2.37 +2.31 - + -2.54 +2.60 - + -2.21 +2.31 simd-json (Rust) - + -3.73 +3.71 - + -1.90 +1.92 - + -2.68 +2.63 - + -3.18 +2.90 - + -3.38 +3.40 - + -2.21 +2.29 serde_json (Rust) - + -2.49 +2.45 - + -2.24 +2.19 U - + -2.31 +2.36 - + -1.78 +1.76 - - -5.18 + + +4.56 - - -5.15 + + +4.95 - + -2.16 +2.23 Glaze - + -2.91 +2.90 - + -4.32 +4.19 - + -4.14 +4.01 P - + 1.72 - + -0.60 +0.61 P - - -5.06 + + +4.50 - + -4.91 +4.68 - + 0.77 P - + -1.91 +1.94 -RapidJSON - - -5.61 +nlohmann/json json + + +2.97 - - -5.15 -U + + +1.69 - - -2.71 + + +7.27 - - -2.47 -U + + +3.78 - - -3.43 + + +4.64 - - -3.26 -U + + +1.86 - - -2.79 +RapidJSON + + +5.59 - - -2.67 -U + + +5.06 +U - - -3.45 + + +2.75 - - -2.83 -U + + +2.46 +U - - -2.92 + + +3.40 -nlohmann/json json - - -3.06 + + +3.23 +U - - -1.71 + + +2.63 - - -8.29 + + +2.55 +U - - -4.49 + + +3.42 - - -5.20 + + +2.54 +U N - - -1.83 + + +2.88 time relative to the fastest fully validating library, less is better diff --git a/docs/mkdocs/docs/images/perf_blog_usecases_x86-gcc13.svg b/docs/mkdocs/docs/images/perf_blog_usecases_x86-gcc13.svg index 7895d25c7..aee77437e 100644 --- a/docs/mkdocs/docs/images/perf_blog_usecases_x86-gcc13.svg +++ b/docs/mkdocs/docs/images/perf_blog_usecases_x86-gcc13.svg @@ -1,6 +1,6 @@ Use cases: time of each library relative to the fastest, x86-64 with G​CC 13 -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. +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. validate sum select @@ -8,339 +8,354 @@ minify write nlohmann/json json_document - + 1.00 - + -1.10 +1.06 - + 1.00 - - -1.00 + + +1.00 - - -1.00 + + +0.82 +N - - -1.00 + + +1.00 + + + +0.80 +N + + + +1.00 + + + +0.68 +N yyjson - + -2.16 +2.13 - + -1.43 +1.47 - + -1.40 +1.41 - + -1.58 +1.61 - - -1.37 + + +1.41 - + + +1.06 +N + + -1.09 +1.14 sonic-cpp - + 2.30 U - + -1.31 +1.29 U - - -1.49 + + +1.54 U - + -1.28 +1.27 U - + -1.36 +1.40 U - - -1.51 + + +1.48 simdjson - + -2.03 +1.99 - + 1.00 - + -1.32 +1.33 - + -0.56 +0.57 P n/a - + -1.59 +1.64 - + -0.21 +0.22 P - + -2.23 +2.20 sonic-rs (Rust) - + -1.85 +1.83 - + -1.09 +1.14 - + -1.33 +1.36 - + -1.97 +1.92 - + -1.65 +1.76 - + -1.98 +2.03 Boost.J​SON - + -1.89 +1.91 - + -1.35 +1.33 - + -2.22 +2.29 - + -2.55 +2.58 - + -2.70 +2.89 - - -2.40 + + +2.51 simd-json (Rust) - + 3.44 - + -1.87 +1.93 - + -2.61 +2.59 - + -3.10 +2.91 - + -3.29 +3.45 - + -2.19 +2.31 serde_json (Rust) - + -2.30 +2.27 - + -2.06 +2.03 U - + -2.28 +2.38 - + -1.73 +1.74 - - -5.05 + + +4.59 - + -5.01 +5.02 - + -2.14 +2.25 Glaze - + -2.18 +2.16 - - -4.44 + + +4.06 - - -4.13 -P - - + -1.42 +1.41 - + 0.59 P - - -5.15 + + +4.95 - - -5.09 + + +4.95 - + -0.72 +0.71 P - + -1.76 +1.78 nlohmann/json json - + -2.74 +2.72 - + -1.74 +1.67 - + -7.91 +7.23 - + -4.46 +3.87 - - -5.05 + + +4.68 - + -1.85 +1.89 RapidJSON - + -6.28 +6.26 - + 4.90 U - + -3.27 +3.19 - + -2.60 +2.51 U - + -4.15 +4.10 - + -3.42 +3.37 U - + -3.17 +3.04 - + -2.78 +2.70 U - + -3.64 +3.67 - + -2.85 -U +2.69 +U N - + -2.99 +3.03 time relative to the fastest fully validating library, less is better diff --git a/docs/mkdocs/scripts/figures/data/perf_heldout_validate.json b/docs/mkdocs/scripts/figures/data/perf_heldout_validate.json index d0def5982..98a9fd210 100644 --- a/docs/mkdocs/scripts/figures/data/perf_heldout_validate.json +++ b/docs/mkdocs/scripts/figures/data/perf_heldout_validate.json @@ -2,23 +2,23 @@ "mac": { "apache_builds": { "Boost.JSON": { - "us": 109.4, - "variant": "SAX" + "us": 110.0, + "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 84.2, + "us": 86.3, "variant": "validate_json" }, "RapidJSON": { - "us": 269.9, + "us": 272.1, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 107.1, + "us": 111.4, "variant": "accept" }, "nlohmann json_document": { - "us": 38.9, + "us": 38.8, "variant": "accept" }, "serde_json": { @@ -38,29 +38,29 @@ "variant": "Value" }, "yyjson": { - "us": 54.9, - "variant": "read (raw numbers)" + "us": 54.6, + "variant": "read" } }, "github_events": { "Boost.JSON": { - "us": 56.3, + "us": 57.1, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 34.0, + "us": 35.6, "variant": "validate_json" }, "RapidJSON": { - "us": 143.1, + "us": 145.6, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 41.6, + "us": 43.1, "variant": "accept" }, "nlohmann json_document": { - "us": 14.0, + "us": 14.4, "variant": "accept" }, "serde_json": { @@ -72,7 +72,7 @@ "variant": "tape (copy)" }, "simdjson": { - "us": 17.3, + "us": 17.6, "variant": "DOM" }, "sonic-rs": { @@ -80,25 +80,25 @@ "variant": "Value" }, "yyjson": { - "us": 18.8, + "us": 19.2, "variant": "insitu (copy)" } }, "google_maps_api_compact_response": { "Boost.JSON": { - "us": 11.6, - "variant": "SAX (numbers: none)" + "us": 11.8, + "variant": "SAX" }, "Glaze": { "us": 13.0, "variant": "validate_json" }, "RapidJSON": { - "us": 28.7, + "us": 28.5, "variant": "SAX" }, "nlohmann json": { - "us": 18.0, + "us": 19.2, "variant": "accept" }, "nlohmann json_document": { @@ -114,7 +114,7 @@ "variant": "tape (copy)" }, "simdjson": { - "us": 7.6, + "us": 7.8, "variant": "DOM" }, "sonic-rs": { @@ -128,19 +128,19 @@ }, "google_maps_api_response": { "Boost.JSON": { - "us": 19.2, + "us": 19.3, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 17.6, + "us": 17.7, "variant": "validate_json" }, "RapidJSON": { - "us": 38.8, + "us": 39.5, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 24.1, + "us": 25.2, "variant": "accept" }, "nlohmann json_document": { @@ -156,7 +156,7 @@ "variant": "tape (copy)" }, "simdjson": { - "us": 9.5, + "us": 9.6, "variant": "DOM" }, "sonic-rs": { @@ -164,29 +164,29 @@ "variant": "Value" }, "yyjson": { - "us": 9.6, - "variant": "insitu (copy)" + "us": 9.4, + "variant": "read" } }, "gsoc-2018": { "Boost.JSON": { - "us": 2776.5, - "variant": "SAX (numbers: none)" + "us": 2815.5, + "variant": "SAX" }, "Glaze": { - "us": 1020.2, + "us": 1058.4, "variant": "validate_json" }, "RapidJSON": { - "us": 7186.0, + "us": 7330.7, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 941.3, + "us": 952.0, "variant": "accept" }, "nlohmann json_document": { - "us": 459.9, + "us": 465.9, "variant": "accept" }, "serde_json": { @@ -198,7 +198,7 @@ "variant": "tape (copy)" }, "simdjson": { - "us": 833.4, + "us": 850.8, "variant": "DOM" }, "sonic-rs": { @@ -206,29 +206,29 @@ "variant": "Value" }, "yyjson": { - "us": 937.0, - "variant": "insitu (copy)" + "us": 947.8, + "variant": "read (raw numbers)" } }, "instruments": { "Boost.JSON": { - "us": 156.3, - "variant": "SAX (numbers: none)" + "us": 158.8, + "variant": "SAX" }, "Glaze": { - "us": 135.6, + "us": 136.0, "variant": "validate_json" }, "RapidJSON": { - "us": 371.2, + "us": 380.1, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 196.9, + "us": 213.5, "variant": "accept" }, "nlohmann json_document": { - "us": 71.5, + "us": 72.9, "variant": "accept" }, "serde_json": { @@ -240,7 +240,7 @@ "variant": "tape (copy)" }, "simdjson": { - "us": 79.8, + "us": 80.8, "variant": "DOM" }, "sonic-rs": { @@ -248,29 +248,29 @@ "variant": "Value" }, "yyjson": { - "us": 78.7, + "us": 77.9, "variant": "insitu (copy)" } }, "marine_ik": { "Boost.JSON": { - "us": 2519.8, + "us": 2542.9, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 2271.0, + "us": 2302.4, "variant": "validate_json" }, "RapidJSON": { - "us": 4989.5, + "us": 5053.7, "variant": "SAX" }, "nlohmann json": { - "us": 3891.5, + "us": 4220.2, "variant": "accept" }, "nlohmann json_document": { - "us": 1342.3, + "us": 1365.5, "variant": "accept" }, "serde_json": { @@ -282,7 +282,7 @@ "variant": "tape (copy)" }, "simdjson": { - "us": 2406.5, + "us": 2441.4, "variant": "DOM" }, "sonic-rs": { @@ -290,29 +290,29 @@ "variant": "Value" }, "yyjson": { - "us": 2318.6, + "us": 2363.6, "variant": "read" } }, "mesh": { "Boost.JSON": { - "us": 588.5, + "us": 579.5, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 509.1, + "us": 515.1, "variant": "validate_json" }, "RapidJSON": { - "us": 1537.6, + "us": 1570.7, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 932.0, + "us": 1067.4, "variant": "accept" }, "nlohmann json_document": { - "us": 337.8, + "us": 344.7, "variant": "accept" }, "serde_json": { @@ -324,7 +324,7 @@ "variant": "tape (copy)" }, "simdjson": { - "us": 622.7, + "us": 632.6, "variant": "DOM" }, "sonic-rs": { @@ -332,29 +332,29 @@ "variant": "Value" }, "yyjson": { - "us": 555.5, + "us": 557.5, "variant": "insitu (copy)" } }, "mesh.pretty": { "Boost.JSON": { - "us": 946.1, + "us": 937.3, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 823.0, + "us": 829.2, "variant": "validate_json" }, "RapidJSON": { - "us": 2492.1, + "us": 2508.6, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 1150.5, + "us": 1332.6, "variant": "accept" }, "nlohmann json_document": { - "us": 696.7, + "us": 705.2, "variant": "accept" }, "serde_json": { @@ -366,7 +366,7 @@ "variant": "tape (copy)" }, "simdjson": { - "us": 834.1, + "us": 847.1, "variant": "DOM" }, "sonic-rs": { @@ -374,29 +374,29 @@ "variant": "Value" }, "yyjson": { - "us": 936.0, + "us": 938.5, "variant": "read" } }, "numbers": { "Boost.JSON": { - "us": 88.2, + "us": 88.1, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 87.9, + "us": 88.1, "variant": "validate_json" }, "RapidJSON": { - "us": 320.8, + "us": 320.9, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 140.6, + "us": 149.7, "variant": "accept" }, "nlohmann json_document": { - "us": 54.4, + "us": 60.6, "variant": "accept" }, "serde_json": { @@ -416,29 +416,29 @@ "variant": "IgnoredAny" }, "yyjson": { - "us": 103.0, + "us": 103.1, "variant": "insitu (copy)" } }, "random": { "Boost.JSON": { - "us": 590.8, - "variant": "SAX" + "us": 591.7, + "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 437.1, + "us": 438.6, "variant": "validate_json" }, "RapidJSON": { - "us": 1207.8, + "us": 1214.8, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 692.6, + "us": 722.8, "variant": "accept" }, "nlohmann json_document": { - "us": 206.4, + "us": 207.1, "variant": "accept" }, "serde_json": { @@ -450,7 +450,7 @@ "variant": "tape (copy)" }, "simdjson": { - "us": 247.0, + "us": 252.8, "variant": "DOM" }, "sonic-rs": { @@ -458,8 +458,8 @@ "variant": "Value" }, "yyjson": { - "us": 313.2, - "variant": "read" + "us": 310.9, + "variant": "insitu (copy)" } }, "repeat": { @@ -468,15 +468,15 @@ "variant": "SAX" }, "Glaze": { - "us": 6.8, + "us": 6.9, "variant": "validate_json" }, "RapidJSON": { - "us": 14.8, + "us": 14.9, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 8.6, + "us": 8.9, "variant": "accept" }, "nlohmann json_document": { @@ -500,29 +500,29 @@ "variant": "Value" }, "yyjson": { - "us": 4.3, + "us": 4.4, "variant": "insitu (copy)" } }, "semanticscholar-corpus": { "Boost.JSON": { - "us": 8071.5, + "us": 8172.3, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 4546.5, + "us": 4606.6, "variant": "validate_json" }, "RapidJSON": { - "us": 20394.6, - "variant": "SAX" + "us": 20810.8, + "variant": "insitu (copy)" }, "nlohmann json": { - "us": 5275.5, + "us": 5293.8, "variant": "accept" }, "nlohmann json_document": { - "us": 2166.7, + "us": 2179.2, "variant": "accept" }, "serde_json": { @@ -534,7 +534,7 @@ "variant": "tape (copy)" }, "simdjson": { - "us": 3299.4, + "us": 3379.0, "variant": "DOM" }, "sonic-rs": { @@ -542,29 +542,29 @@ "variant": "Value" }, "yyjson": { - "us": 3552.3, + "us": 3544.1, "variant": "insitu (copy)" } }, "tree-pretty": { "Boost.JSON": { - "us": 24.1, + "us": 24.7, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 21.6, + "us": 22.0, "variant": "validate_json" }, "RapidJSON": { - "us": 55.2, + "us": 56.7, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 31.1, + "us": 32.6, "variant": "accept" }, "nlohmann json_document": { - "us": 10.5, + "us": 10.6, "variant": "accept" }, "serde_json": { @@ -576,7 +576,7 @@ "variant": "tape (copy)" }, "simdjson": { - "us": 11.0, + "us": 11.2, "variant": "DOM" }, "sonic-rs": { @@ -584,25 +584,25 @@ "variant": "Value" }, "yyjson": { - "us": 11.3, + "us": 11.2, "variant": "insitu (copy)" } }, "twitter_api_compact_response": { "Boost.JSON": { - "us": 9.0, + "us": 9.2, "variant": "SAX" }, "Glaze": { - "us": 5.5, + "us": 5.6, "variant": "validate_json" }, "RapidJSON": { - "us": 24.5, + "us": 25.1, "variant": "SAX" }, "nlohmann json": { - "us": 8.6, + "us": 8.7, "variant": "accept" }, "nlohmann json_document": { @@ -618,7 +618,7 @@ "variant": "tape (copy)" }, "simdjson": { - "us": 3.5, + "us": 3.6, "variant": "DOM" }, "sonic-rs": { @@ -632,19 +632,19 @@ }, "twitter_api_response": { "Boost.JSON": { - "us": 11.6, + "us": 11.9, "variant": "SAX" }, "Glaze": { - "us": 7.5, + "us": 7.7, "variant": "validate_json" }, "RapidJSON": { - "us": 31.0, + "us": 31.6, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 11.4, + "us": 11.6, "variant": "accept" }, "nlohmann json_document": { @@ -668,29 +668,29 @@ "variant": "Value" }, "yyjson": { - "us": 4.3, - "variant": "insitu (copy)" + "us": 4.2, + "variant": "read" } }, "twitter_timeline": { "Boost.JSON": { - "us": 39.4, + "us": 40.2, "variant": "SAX" }, "Glaze": { - "us": 29.2, + "us": 30.0, "variant": "validate_json" }, "RapidJSON": { - "us": 101.9, + "us": 104.7, "variant": "SAX" }, "nlohmann json": { - "us": 44.6, + "us": 45.5, "variant": "accept" }, "nlohmann json_document": { - "us": 14.9, + "us": 15.1, "variant": "accept" }, "serde_json": { @@ -702,7 +702,7 @@ "variant": "tape (copy)" }, "simdjson": { - "us": 17.4, + "us": 17.6, "variant": "DOM" }, "sonic-rs": { @@ -710,29 +710,29 @@ "variant": "Value" }, "yyjson": { - "us": 15.4, - "variant": "insitu (copy)" + "us": 15.6, + "variant": "read" } }, "twitterescaped": { "Boost.JSON": { - "us": 547.9, - "variant": "SAX" + "us": 556.0, + "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 465.6, + "us": 467.6, "variant": "validate_json" }, "RapidJSON": { - "us": 1187.8, + "us": 1194.8, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 656.7, + "us": 712.1, "variant": "accept" }, "nlohmann json_document": { - "us": 201.7, + "us": 204.8, "variant": "accept" }, "serde_json": { @@ -744,7 +744,7 @@ "variant": "tape (copy)" }, "simdjson": { - "us": 246.5, + "us": 254.9, "variant": "DOM" }, "sonic-rs": { @@ -752,29 +752,29 @@ "variant": "Value" }, "yyjson": { - "us": 215.3, + "us": 216.9, "variant": "insitu (copy)" } }, "update-center": { "Boost.JSON": { - "us": 539.4, + "us": 542.2, "variant": "SAX" }, "Glaze": { - "us": 414.1, + "us": 426.9, "variant": "validate_json" }, "RapidJSON": { - "us": 1317.4, - "variant": "SAX (raw numbers)" + "us": 1344.5, + "variant": "SAX" }, "nlohmann json": { - "us": 455.9, + "us": 461.1, "variant": "accept" }, "nlohmann json_document": { - "us": 195.0, + "us": 197.4, "variant": "accept" }, "serde_json": { @@ -786,7 +786,7 @@ "variant": "tape (copy)" }, "simdjson": { - "us": 218.6, + "us": 228.4, "variant": "DOM" }, "sonic-rs": { @@ -794,127 +794,127 @@ "variant": "Value" }, "yyjson": { - "us": 240.9, - "variant": "read (raw numbers)" + "us": 248.7, + "variant": "insitu (copy)" } } }, "x86-clang": { "apache_builds": { "Boost.JSON": { - "us": 103.7, - "variant": "SAX (numbers: none)" + "us": 103.5, + "variant": "SAX" }, "Glaze": { - "us": 143.6, + "us": 136.1, "variant": "validate_json" }, "RapidJSON": { - "us": 387.3, + "us": 352.3, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 121.7, + "us": 120.6, "variant": "accept" }, "nlohmann json_document": { - "us": 55.2, + "us": 55.6, "variant": "accept" }, "serde_json": { - "us": 109.5, + "us": 105.1, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 126.1, + "us": 135.6, "variant": "tape (copy)" }, "simdjson": { - "us": 66.1, + "us": 62.7, "variant": "DOM" }, "sonic-rs": { - "us": 90.7, + "us": 88.3, "variant": "Value" }, "yyjson": { - "us": 89.0, - "variant": "read" + "us": 85.4, + "variant": "insitu (copy)" } }, "github_events": { "Boost.JSON": { - "us": 39.0, - "variant": "SAX (numbers: none)" + "us": 38.8, + "variant": "SAX" }, "Glaze": { - "us": 61.5, + "us": 62.5, "variant": "validate_json" }, "RapidJSON": { - "us": 183.1, + "us": 185.8, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 57.0, + "us": 56.0, "variant": "accept" }, "nlohmann json_document": { - "us": 23.0, + "us": 22.7, "variant": "accept" }, "serde_json": { - "us": 51.0, + "us": 49.2, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 53.4, + "us": 55.1, "variant": "tape (copy)" }, "simdjson": { - "us": 29.4, + "us": 27.8, "variant": "DOM" }, "sonic-rs": { - "us": 41.1, + "us": 40.9, "variant": "Value" }, "yyjson": { - "us": 35.9, + "us": 34.3, "variant": "read" } }, "google_maps_api_compact_response": { "Boost.JSON": { - "us": 15.1, + "us": 14.6, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 19.8, + "us": 20.1, "variant": "validate_json" }, "RapidJSON": { - "us": 49.8, - "variant": "SAX (raw numbers)" + "us": 47.0, + "variant": "SAX" }, "nlohmann json": { - "us": 28.6, + "us": 26.3, "variant": "accept" }, "nlohmann json_document": { - "us": 9.7, + "us": 9.6, "variant": "accept" }, "serde_json": { - "us": 16.7, + "us": 16.8, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 23.7, + "us": 23.9, "variant": "tape (copy)" }, "simdjson": { - "us": 13.8, + "us": 12.7, "variant": "DOM" }, "sonic-rs": { @@ -928,115 +928,115 @@ }, "google_maps_api_response": { "Boost.JSON": { - "us": 28.0, - "variant": "SAX (numbers: none)" + "us": 26.7, + "variant": "SAX" }, "Glaze": { - "us": 28.3, + "us": 27.2, "variant": "validate_json" }, "RapidJSON": { - "us": 59.7, + "us": 55.4, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 36.6, + "us": 32.6, "variant": "accept" }, "nlohmann json_document": { - "us": 15.0, + "us": 13.9, "variant": "accept" }, "serde_json": { - "us": 26.4, + "us": 27.6, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 27.8, + "us": 30.6, "variant": "tape (copy)" }, "simdjson": { - "us": 15.7, + "us": 14.4, "variant": "DOM" }, "sonic-rs": { - "us": 23.3, + "us": 23.2, "variant": "Value" }, "yyjson": { - "us": 17.3, + "us": 17.1, "variant": "insitu (copy)" } }, "gsoc-2018": { "Boost.JSON": { - "us": 1028.4, - "variant": "SAX (numbers: none)" + "us": 1008.7, + "variant": "SAX" }, "Glaze": { - "us": 1986.9, + "us": 1991.3, "variant": "validate_json" }, "RapidJSON": { - "us": 8550.3, + "us": 8521.5, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 1301.7, + "us": 1259.2, "variant": "accept" }, "nlohmann json_document": { - "us": 718.0, + "us": 711.3, "variant": "accept" }, "serde_json": { - "us": 1464.0, + "us": 1498.2, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 2005.8, + "us": 2236.9, "variant": "tape (copy)" }, "simdjson": { - "us": 1207.8, + "us": 1183.3, "variant": "DOM" }, "sonic-rs": { - "us": 1114.9, + "us": 1134.0, "variant": "IgnoredAny" }, "yyjson": { - "us": 1851.8, - "variant": "read" + "us": 1850.1, + "variant": "insitu (copy)" } }, "instruments": { "Boost.JSON": { - "us": 217.5, - "variant": "SAX" + "us": 222.9, + "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 206.5, + "us": 201.6, "variant": "validate_json" }, "RapidJSON": { - "us": 554.2, - "variant": "SAX" + "us": 555.7, + "variant": "insitu (copy)" }, "nlohmann json": { - "us": 275.4, + "us": 288.7, "variant": "accept" }, "nlohmann json_document": { - "us": 112.5, + "us": 109.1, "variant": "accept" }, "serde_json": { - "us": 206.8, + "us": 212.4, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 256.9, + "us": 290.1, "variant": "tape (copy)" }, "simdjson": { @@ -1044,377 +1044,251 @@ "variant": "DOM" }, "sonic-rs": { - "us": 225.3, - "variant": "Value" + "us": 229.3, + "variant": "IgnoredAny" }, "yyjson": { - "us": 154.2, - "variant": "read" + "us": 154.9, + "variant": "insitu (copy)" } }, "marine_ik": { "Boost.JSON": { - "us": 2999.1, + "us": 2910.2, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 3402.6, + "us": 3158.7, "variant": "validate_json" }, "RapidJSON": { - "us": 7921.3, + "us": 7337.4, "variant": "SAX" }, "nlohmann json": { - "us": 7377.1, + "us": 6453.0, "variant": "accept" }, "nlohmann json_document": { - "us": 2208.2, + "us": 1999.2, "variant": "accept" }, "serde_json": { - "us": 4143.5, + "us": 4072.2, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 7077.0, + "us": 6669.1, "variant": "tape (copy)" }, "simdjson": { - "us": 4644.0, + "us": 4433.8, "variant": "DOM" }, "sonic-rs": { - "us": 4871.1, + "us": 4661.1, "variant": "IgnoredAny" }, "yyjson": { - "us": 4024.3, - "variant": "read" + "us": 4047.6, + "variant": "read (raw numbers)" } }, "mesh": { "Boost.JSON": { - "us": 990.3, + "us": 991.6, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 720.4, + "us": 729.0, "variant": "validate_json" }, "RapidJSON": { - "us": 2431.3, + "us": 2560.7, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 1792.4, + "us": 1719.8, "variant": "accept" }, "nlohmann json_document": { - "us": 486.1, + "us": 457.8, "variant": "accept" }, "serde_json": { - "us": 911.1, + "us": 910.5, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 1679.5, + "us": 1691.7, "variant": "tape (copy)" }, "simdjson": { - "us": 1172.3, + "us": 1207.8, "variant": "DOM" }, "sonic-rs": { - "us": 1211.3, + "us": 1221.0, "variant": "IgnoredAny" }, "yyjson": { - "us": 1053.4, - "variant": "insitu (copy)" + "us": 1037.0, + "variant": "read" } }, "mesh.pretty": { "Boost.JSON": { - "us": 1148.5, + "us": 1145.4, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 1137.4, + "us": 1141.5, "variant": "validate_json" }, "RapidJSON": { - "us": 3965.9, + "us": 3767.3, "variant": "SAX" }, "nlohmann json": { - "us": 2026.5, + "us": 1977.6, "variant": "accept" }, "nlohmann json_document": { - "us": 1091.5, + "us": 1070.6, "variant": "accept" }, "serde_json": { - "us": 1521.6, + "us": 1483.7, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 2309.7, + "us": 2119.0, "variant": "tape (copy)" }, "simdjson": { - "us": 1421.1, + "us": 1443.7, "variant": "DOM" }, "sonic-rs": { - "us": 1554.6, + "us": 1558.0, "variant": "IgnoredAny" }, "yyjson": { - "us": 1604.4, - "variant": "read" + "us": 1810.8, + "variant": "insitu (copy)" } }, "numbers": { "Boost.JSON": { - "us": 79.6, + "us": 74.9, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 115.5, + "us": 126.3, "variant": "validate_json" }, "RapidJSON": { - "us": 475.1, + "us": 496.4, "variant": "SAX" }, "nlohmann json": { - "us": 252.7, + "us": 242.5, "variant": "accept" }, "nlohmann json_document": { - "us": 71.5, + "us": 71.6, "variant": "accept" }, "serde_json": { - "us": 164.3, + "us": 163.8, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 271.6, + "us": 261.5, "variant": "tape (copy)" }, "simdjson": { - "us": 193.4, + "us": 197.0, "variant": "DOM" }, "sonic-rs": { - "us": 159.1, + "us": 161.8, "variant": "IgnoredAny" }, "yyjson": { - "us": 173.6, - "variant": "read (raw numbers)" + "us": 178.9, + "variant": "read" } }, "random": { "Boost.JSON": { - "us": 902.8, + "us": 891.3, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 676.3, + "us": 666.6, "variant": "validate_json" }, "RapidJSON": { - "us": 1836.8, + "us": 1771.0, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 928.4, + "us": 914.0, "variant": "accept" }, "nlohmann json_document": { - "us": 362.3, + "us": 352.5, "variant": "accept" }, "serde_json": { - "us": 792.9, + "us": 772.3, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 779.1, + "us": 840.2, "variant": "tape (copy)" }, "simdjson": { - "us": 409.0, + "us": 406.0, "variant": "DOM" }, "sonic-rs": { - "us": 506.2, + "us": 502.9, "variant": "Value" }, "yyjson": { - "us": 533.6, - "variant": "insitu (copy)" + "us": 527.2, + "variant": "read" } }, "repeat": { "Boost.JSON": { - "us": 14.5, - "variant": "SAX (numbers: none)" - }, - "Glaze": { - "us": 11.1, - "variant": "validate_json" - }, - "RapidJSON": { - "us": 22.1, - "variant": "SAX" - }, - "nlohmann json": { - "us": 11.2, - "variant": "accept" - }, - "nlohmann json_document": { - "us": 5.6, - "variant": "accept" - }, - "serde_json": { - "us": 12.8, - "variant": "from_utf8 + IgnoredAny" - }, - "simd-json": { - "us": 10.6, - "variant": "tape (copy)" - }, - "simdjson": { - "us": 6.3, - "variant": "DOM" - }, - "sonic-rs": { - "us": 7.7, - "variant": "Value" - }, - "yyjson": { - "us": 8.9, - "variant": "read" - } - }, - "semanticscholar-corpus": { - "Boost.JSON": { - "us": 5348.5, + "us": 13.4, "variant": "SAX" }, "Glaze": { - "us": 8101.2, + "us": 9.7, "variant": "validate_json" }, "RapidJSON": { - "us": 27666.0, - "variant": "insitu (copy)" - }, - "nlohmann json": { - "us": 7897.1, - "variant": "accept" - }, - "nlohmann json_document": { - "us": 3277.3, - "variant": "accept" - }, - "serde_json": { - "us": 6929.6, - "variant": "from_utf8 + IgnoredAny" - }, - "simd-json": { - "us": 11228.2, - "variant": "tape (copy)" - }, - "simdjson": { - "us": 7781.8, - "variant": "DOM" - }, - "sonic-rs": { - "us": 5179.9, - "variant": "IgnoredAny" - }, - "yyjson": { - "us": 6364.6, - "variant": "read" - } - }, - "tree-pretty": { - "Boost.JSON": { - "us": 34.3, - "variant": "SAX (numbers: none)" - }, - "Glaze": { - "us": 38.0, - "variant": "validate_json" - }, - "RapidJSON": { - "us": 75.1, - "variant": "SAX" - }, - "nlohmann json": { - "us": 46.1, - "variant": "accept" - }, - "nlohmann json_document": { - "us": 18.4, - "variant": "accept" - }, - "serde_json": { - "us": 38.0, - "variant": "from_utf8 + IgnoredAny" - }, - "simd-json": { - "us": 36.1, - "variant": "tape (copy)" - }, - "simdjson": { - "us": 18.6, - "variant": "DOM" - }, - "sonic-rs": { - "us": 29.7, - "variant": "Value" - }, - "yyjson": { "us": 20.1, - "variant": "read" - } - }, - "twitter_api_compact_response": { - "Boost.JSON": { - "us": 6.7, - "variant": "SAX (numbers: none)" - }, - "Glaze": { - "us": 10.0, - "variant": "validate_json" - }, - "RapidJSON": { - "us": 33.7, - "variant": "insitu (copy)" + "variant": "SAX" }, "nlohmann json": { - "us": 12.6, + "us": 10.2, "variant": "accept" }, "nlohmann json_document": { - "us": 4.1, + "us": 5.1, "variant": "accept" }, "serde_json": { - "us": 8.6, + "us": 12.6, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 12.1, + "us": 11.1, "variant": "tape (copy)" }, "simdjson": { @@ -1422,41 +1296,167 @@ "variant": "DOM" }, "sonic-rs": { - "us": 7.4, + "us": 7.6, + "variant": "Value" + }, + "yyjson": { + "us": 7.9, + "variant": "insitu (copy)" + } + }, + "semanticscholar-corpus": { + "Boost.JSON": { + "us": 5418.2, + "variant": "SAX" + }, + "Glaze": { + "us": 8110.4, + "variant": "validate_json" + }, + "RapidJSON": { + "us": 27039.1, + "variant": "insitu (copy)" + }, + "nlohmann json": { + "us": 7386.3, + "variant": "accept" + }, + "nlohmann json_document": { + "us": 3338.4, + "variant": "accept" + }, + "serde_json": { + "us": 6204.0, + "variant": "from_utf8 + IgnoredAny" + }, + "simd-json": { + "us": 9501.2, + "variant": "tape (copy)" + }, + "simdjson": { + "us": 7648.3, + "variant": "DOM" + }, + "sonic-rs": { + "us": 4777.5, "variant": "IgnoredAny" }, "yyjson": { - "us": 5.9, + "us": 6263.9, + "variant": "insitu (copy)" + } + }, + "tree-pretty": { + "Boost.JSON": { + "us": 34.6, + "variant": "SAX (numbers: none)" + }, + "Glaze": { + "us": 36.5, + "variant": "validate_json" + }, + "RapidJSON": { + "us": 75.8, + "variant": "SAX" + }, + "nlohmann json": { + "us": 46.1, + "variant": "accept" + }, + "nlohmann json_document": { + "us": 18.5, + "variant": "accept" + }, + "serde_json": { + "us": 37.3, + "variant": "from_utf8 + IgnoredAny" + }, + "simd-json": { + "us": 36.8, + "variant": "tape (copy)" + }, + "simdjson": { + "us": 18.8, + "variant": "DOM" + }, + "sonic-rs": { + "us": 29.1, + "variant": "Value" + }, + "yyjson": { + "us": 20.3, + "variant": "insitu (copy)" + } + }, + "twitter_api_compact_response": { + "Boost.JSON": { + "us": 6.6, + "variant": "SAX (numbers: none)" + }, + "Glaze": { + "us": 10.1, + "variant": "validate_json" + }, + "RapidJSON": { + "us": 32.6, + "variant": "insitu (copy)" + }, + "nlohmann json": { + "us": 12.1, + "variant": "accept" + }, + "nlohmann json_document": { + "us": 4.1, + "variant": "accept" + }, + "serde_json": { + "us": 7.8, + "variant": "from_utf8 + IgnoredAny" + }, + "simd-json": { + "us": 11.1, + "variant": "tape (copy)" + }, + "simdjson": { + "us": 5.8, + "variant": "DOM" + }, + "sonic-rs": { + "us": 6.7, + "variant": "IgnoredAny" + }, + "yyjson": { + "us": 5.8, "variant": "insitu (copy)" } }, "twitter_api_response": { "Boost.JSON": { - "us": 10.9, + "us": 10.8, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 14.1, + "us": 13.7, "variant": "validate_json" }, "RapidJSON": { - "us": 41.7, + "us": 40.8, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 16.2, + "us": 15.8, "variant": "accept" }, "nlohmann json_document": { - "us": 5.7, + "us": 5.6, "variant": "accept" }, "serde_json": { - "us": 13.2, + "us": 12.2, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 13.9, + "us": 13.3, "variant": "tape (copy)" }, "simdjson": { @@ -1464,137 +1464,137 @@ "variant": "DOM" }, "sonic-rs": { - "us": 11.6, + "us": 11.2, "variant": "IgnoredAny" }, "yyjson": { "us": 7.8, - "variant": "read" + "variant": "insitu (copy)" } }, "twitter_timeline": { "Boost.JSON": { - "us": 39.1, + "us": 39.7, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 49.7, + "us": 48.8, "variant": "validate_json" }, "RapidJSON": { - "us": 143.2, + "us": 137.9, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 69.4, + "us": 66.3, "variant": "accept" }, "nlohmann json_document": { - "us": 24.1, + "us": 23.8, "variant": "accept" }, "serde_json": { - "us": 48.6, + "us": 45.6, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 52.4, + "us": 54.3, "variant": "tape (copy)" }, "simdjson": { - "us": 30.3, + "us": 29.3, "variant": "DOM" }, "sonic-rs": { - "us": 45.7, + "us": 43.0, "variant": "IgnoredAny" }, "yyjson": { - "us": 28.6, + "us": 27.9, "variant": "read" } }, "twitterescaped": { "Boost.JSON": { - "us": 624.4, + "us": 615.1, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 764.2, + "us": 720.6, "variant": "validate_json" }, "RapidJSON": { - "us": 1807.4, + "us": 1735.8, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 1022.2, + "us": 925.8, "variant": "accept" }, "nlohmann json_document": { - "us": 330.6, + "us": 309.9, "variant": "accept" }, "serde_json": { - "us": 729.2, + "us": 702.6, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 842.3, + "us": 856.4, "variant": "tape (copy)" }, "simdjson": { - "us": 413.0, + "us": 409.5, "variant": "DOM" }, "sonic-rs": { - "us": 654.5, + "us": 628.9, "variant": "Value" }, "yyjson": { - "us": 447.2, - "variant": "read" + "us": 440.5, + "variant": "insitu (copy)" } }, "update-center": { "Boost.JSON": { - "us": 341.3, + "us": 341.5, "variant": "SAX" }, "Glaze": { - "us": 716.4, + "us": 695.8, "variant": "validate_json" }, "RapidJSON": { - "us": 1823.6, + "us": 2050.6, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 613.3, + "us": 600.7, "variant": "accept" }, "nlohmann json_document": { - "us": 264.5, + "us": 264.2, "variant": "accept" }, "serde_json": { - "us": 488.6, + "us": 490.6, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 643.7, + "us": 650.9, "variant": "tape (copy)" }, "simdjson": { - "us": 335.7, + "us": 334.9, "variant": "DOM" }, "sonic-rs": { - "us": 381.1, + "us": 383.6, "variant": "Value" }, "yyjson": { - "us": 450.6, + "us": 449.2, "variant": "insitu (copy)" } } @@ -1603,48 +1603,48 @@ "apache_builds": { "Boost.JSON": { "us": 107.7, - "variant": "SAX (numbers: none)" + "variant": "SAX" }, "Glaze": { - "us": 161.1, + "us": 149.4, "variant": "validate_json" }, "RapidJSON": { - "us": 228.5, + "us": 219.3, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 136.2, + "us": 131.7, "variant": "accept" }, "nlohmann json_document": { - "us": 54.2, + "us": 54.1, "variant": "accept" }, "serde_json": { - "us": 109.5, + "us": 105.1, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 126.1, + "us": 135.6, "variant": "tape (copy)" }, "simdjson": { - "us": 61.6, + "us": 59.9, "variant": "DOM" }, "sonic-rs": { - "us": 90.7, + "us": 88.3, "variant": "Value" }, "yyjson": { - "us": 89.2, + "us": 88.1, "variant": "insitu (copy)" } }, "github_events": { "Boost.JSON": { - "us": 43.7, + "us": 41.2, "variant": "SAX (numbers: none)" }, "Glaze": { @@ -1652,69 +1652,69 @@ "variant": "validate_json" }, "RapidJSON": { - "us": 125.5, + "us": 114.8, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 58.1, + "us": 57.3, "variant": "accept" }, "nlohmann json_document": { - "us": 21.6, + "us": 21.5, "variant": "accept" }, "serde_json": { - "us": 51.0, + "us": 49.2, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 53.4, + "us": 55.1, "variant": "tape (copy)" }, "simdjson": { - "us": 29.1, + "us": 28.0, "variant": "DOM" }, "sonic-rs": { - "us": 41.1, + "us": 40.9, "variant": "Value" }, "yyjson": { - "us": 39.3, + "us": 35.6, "variant": "read" } }, "google_maps_api_compact_response": { "Boost.JSON": { - "us": 15.5, + "us": 15.3, "variant": "SAX" }, "Glaze": { - "us": 21.4, + "us": 21.7, "variant": "validate_json" }, "RapidJSON": { - "us": 29.9, + "us": 28.5, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 28.4, + "us": 26.5, "variant": "accept" }, "nlohmann json_document": { - "us": 9.5, + "us": 8.9, "variant": "accept" }, "serde_json": { - "us": 16.7, + "us": 16.8, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 23.7, + "us": 23.9, "variant": "tape (copy)" }, "simdjson": { - "us": 13.6, + "us": 12.4, "variant": "DOM" }, "sonic-rs": { @@ -1722,428 +1722,428 @@ "variant": "IgnoredAny" }, "yyjson": { - "us": 10.9, + "us": 11.0, "variant": "insitu (copy)" } }, "google_maps_api_response": { "Boost.JSON": { - "us": 28.7, + "us": 26.9, "variant": "SAX" }, "Glaze": { - "us": 36.6, + "us": 34.5, "variant": "validate_json" }, "RapidJSON": { - "us": 42.2, + "us": 39.5, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 39.6, + "us": 36.1, "variant": "accept" }, "nlohmann json_document": { - "us": 14.1, + "us": 13.6, "variant": "accept" }, "serde_json": { - "us": 26.4, + "us": 27.6, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 27.8, + "us": 30.6, "variant": "tape (copy)" }, "simdjson": { - "us": 14.9, + "us": 13.8, "variant": "DOM" }, "sonic-rs": { - "us": 23.3, + "us": 23.2, "variant": "Value" }, "yyjson": { - "us": 18.6, + "us": 17.5, "variant": "insitu (copy)" } }, "gsoc-2018": { "Boost.JSON": { - "us": 1059.2, + "us": 1055.0, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 2053.9, + "us": 1954.0, "variant": "validate_json" }, "RapidJSON": { - "us": 4698.6, + "us": 4464.7, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 1418.7, + "us": 1301.1, "variant": "accept" }, "nlohmann json_document": { - "us": 709.3, + "us": 687.5, "variant": "accept" }, "serde_json": { - "us": 1464.0, + "us": 1498.2, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 2005.8, + "us": 2236.9, "variant": "tape (copy)" }, "simdjson": { - "us": 1269.2, + "us": 1211.3, "variant": "DOM" }, "sonic-rs": { - "us": 1114.9, + "us": 1134.0, "variant": "IgnoredAny" }, "yyjson": { - "us": 1912.6, - "variant": "read (raw numbers)" + "us": 1850.7, + "variant": "read" } }, "instruments": { "Boost.JSON": { - "us": 238.2, + "us": 218.9, "variant": "SAX" }, "Glaze": { - "us": 286.3, + "us": 264.3, "variant": "validate_json" }, "RapidJSON": { - "us": 436.7, + "us": 408.3, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 338.9, + "us": 300.2, "variant": "accept" }, "nlohmann json_document": { - "us": 110.6, + "us": 105.0, "variant": "accept" }, "serde_json": { - "us": 206.8, + "us": 212.4, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 256.9, + "us": 290.1, "variant": "tape (copy)" }, "simdjson": { - "us": 128.5, + "us": 116.9, "variant": "DOM" }, "sonic-rs": { - "us": 225.3, - "variant": "Value" + "us": 229.3, + "variant": "IgnoredAny" }, "yyjson": { - "us": 168.8, - "variant": "read" + "us": 158.2, + "variant": "insitu (copy)" } }, "marine_ik": { "Boost.JSON": { - "us": 2973.9, + "us": 3059.3, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 5422.7, + "us": 5037.4, "variant": "validate_json" }, "RapidJSON": { - "us": 7936.7, + "us": 7235.4, "variant": "SAX" }, "nlohmann json": { - "us": 7727.9, + "us": 7748.5, "variant": "accept" }, "nlohmann json_document": { - "us": 2038.9, + "us": 1897.5, "variant": "accept" }, "serde_json": { - "us": 4143.5, + "us": 4072.2, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 7077.0, + "us": 6669.1, "variant": "tape (copy)" }, "simdjson": { - "us": 4415.2, + "us": 4306.0, "variant": "DOM" }, "sonic-rs": { - "us": 4871.1, + "us": 4661.1, "variant": "IgnoredAny" }, "yyjson": { - "us": 4239.4, - "variant": "insitu (copy)" + "us": 4183.2, + "variant": "read (raw numbers)" } }, "mesh": { "Boost.JSON": { - "us": 956.3, + "us": 954.4, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 1068.4, + "us": 1062.3, "variant": "validate_json" }, "RapidJSON": { - "us": 2327.8, + "us": 2302.8, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 1868.7, + "us": 1902.9, "variant": "accept" }, "nlohmann json_document": { - "us": 386.9, + "us": 398.9, "variant": "accept" }, "serde_json": { - "us": 911.1, + "us": 910.5, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 1679.5, + "us": 1691.7, "variant": "tape (copy)" }, "simdjson": { - "us": 1113.0, + "us": 1105.5, "variant": "DOM" }, "sonic-rs": { - "us": 1211.3, + "us": 1221.0, "variant": "IgnoredAny" }, "yyjson": { - "us": 1057.7, + "us": 1054.7, "variant": "read (raw numbers)" } }, "mesh.pretty": { "Boost.JSON": { - "us": 1046.9, + "us": 1044.7, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 1869.6, + "us": 1810.0, "variant": "validate_json" }, "RapidJSON": { - "us": 3690.9, + "us": 3637.8, "variant": "SAX" }, "nlohmann json": { - "us": 2416.0, + "us": 2370.2, "variant": "accept" }, "nlohmann json_document": { - "us": 977.9, + "us": 962.8, "variant": "accept" }, "serde_json": { - "us": 1521.6, + "us": 1483.7, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 2309.7, + "us": 2119.0, "variant": "tape (copy)" }, "simdjson": { - "us": 1328.1, + "us": 1344.8, "variant": "DOM" }, "sonic-rs": { - "us": 1554.6, + "us": 1558.0, "variant": "IgnoredAny" }, "yyjson": { - "us": 1666.9, + "us": 1646.7, "variant": "read (raw numbers)" } }, "numbers": { "Boost.JSON": { - "us": 81.5, + "us": 81.6, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 146.9, + "us": 147.6, "variant": "validate_json" }, "RapidJSON": { - "us": 429.6, + "us": 436.2, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 270.7, + "us": 274.2, "variant": "accept" }, "nlohmann json_document": { - "us": 62.5, + "us": 63.0, "variant": "accept" }, "serde_json": { - "us": 164.3, + "us": 163.8, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 271.6, + "us": 261.5, "variant": "tape (copy)" }, "simdjson": { - "us": 194.2, + "us": 195.7, "variant": "DOM" }, "sonic-rs": { - "us": 159.1, + "us": 161.8, "variant": "IgnoredAny" }, "yyjson": { - "us": 168.9, + "us": 168.7, "variant": "read (raw numbers)" } }, "random": { "Boost.JSON": { - "us": 896.6, + "us": 896.4, "variant": "SAX" }, "Glaze": { - "us": 742.8, + "us": 745.2, "variant": "validate_json" }, "RapidJSON": { - "us": 1132.9, + "us": 1110.5, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 1027.6, + "us": 1016.4, "variant": "accept" }, "nlohmann json_document": { - "us": 349.8, + "us": 346.7, "variant": "accept" }, "serde_json": { - "us": 792.9, + "us": 772.3, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 779.1, + "us": 840.2, "variant": "tape (copy)" }, "simdjson": { - "us": 391.9, + "us": 396.1, "variant": "DOM" }, "sonic-rs": { - "us": 506.2, + "us": 502.9, "variant": "Value" }, "yyjson": { - "us": 575.4, + "us": 568.3, "variant": "insitu (copy)" } }, "repeat": { "Boost.JSON": { - "us": 14.8, + "us": 13.1, "variant": "SAX" }, "Glaze": { - "us": 15.5, + "us": 13.9, "variant": "validate_json" }, "RapidJSON": { - "us": 16.3, + "us": 14.9, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 14.1, + "us": 12.5, "variant": "accept" }, "nlohmann json_document": { - "us": 5.6, + "us": 5.1, "variant": "accept" }, "serde_json": { - "us": 12.8, + "us": 12.6, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 10.6, + "us": 11.1, "variant": "tape (copy)" }, "simdjson": { - "us": 6.2, + "us": 5.6, "variant": "DOM" }, "sonic-rs": { - "us": 7.7, + "us": 7.6, "variant": "Value" }, "yyjson": { - "us": 9.1, + "us": 8.2, "variant": "insitu (copy)" } }, "semanticscholar-corpus": { "Boost.JSON": { - "us": 5699.1, + "us": 5592.9, "variant": "SAX" }, "Glaze": { - "us": 8340.6, + "us": 8211.8, "variant": "validate_json" }, "RapidJSON": { - "us": 15729.9, + "us": 15200.9, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 7175.6, + "us": 6871.2, "variant": "accept" }, "nlohmann json_document": { - "us": 3170.1, + "us": 3105.6, "variant": "accept" }, "serde_json": { - "us": 6929.6, + "us": 6204.0, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 11228.2, + "us": 9501.2, "variant": "tape (copy)" }, "simdjson": { - "us": 7914.9, + "us": 7473.0, "variant": "DOM" }, "sonic-rs": { - "us": 5179.9, + "us": 4777.5, "variant": "IgnoredAny" }, "yyjson": { - "us": 6464.8, - "variant": "read" + "us": 6350.5, + "variant": "read (raw numbers)" } }, "tree-pretty": { @@ -2152,40 +2152,40 @@ "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 49.3, + "us": 48.3, "variant": "validate_json" }, "RapidJSON": { - "us": 71.9, + "us": 72.0, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 48.3, + "us": 47.0, "variant": "accept" }, "nlohmann json_document": { - "us": 16.8, + "us": 16.6, "variant": "accept" }, "serde_json": { - "us": 38.0, + "us": 37.3, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 36.1, + "us": 36.8, "variant": "tape (copy)" }, "simdjson": { - "us": 17.5, + "us": 17.6, "variant": "DOM" }, "sonic-rs": { - "us": 29.7, + "us": 29.1, "variant": "Value" }, "yyjson": { - "us": 22.0, - "variant": "read (raw numbers)" + "us": 21.6, + "variant": "read" } }, "twitter_api_compact_response": { @@ -2194,27 +2194,27 @@ "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 10.3, + "us": 10.4, "variant": "validate_json" }, "RapidJSON": { - "us": 20.0, + "us": 19.8, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 11.8, + "us": 11.5, "variant": "accept" }, "nlohmann json_document": { - "us": 4.1, + "us": 4.0, "variant": "accept" }, "serde_json": { - "us": 8.6, + "us": 7.8, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 12.1, + "us": 11.1, "variant": "tape (copy)" }, "simdjson": { @@ -2222,12 +2222,12 @@ "variant": "DOM" }, "sonic-rs": { - "us": 7.4, + "us": 6.7, "variant": "IgnoredAny" }, "yyjson": { - "us": 5.9, - "variant": "insitu (copy)" + "us": 5.8, + "variant": "read" } }, "twitter_api_response": { @@ -2240,11 +2240,11 @@ "variant": "validate_json" }, "RapidJSON": { - "us": 28.1, + "us": 27.9, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 16.6, + "us": 16.3, "variant": "accept" }, "nlohmann json_document": { @@ -2252,11 +2252,11 @@ "variant": "accept" }, "serde_json": { - "us": 13.2, + "us": 12.2, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 13.9, + "us": 13.3, "variant": "tape (copy)" }, "simdjson": { @@ -2264,7 +2264,7 @@ "variant": "DOM" }, "sonic-rs": { - "us": 11.6, + "us": 11.2, "variant": "IgnoredAny" }, "yyjson": { @@ -2274,7 +2274,7 @@ }, "twitter_timeline": { "Boost.JSON": { - "us": 42.0, + "us": 42.1, "variant": "SAX (numbers: none)" }, "Glaze": { @@ -2282,11 +2282,11 @@ "variant": "validate_json" }, "RapidJSON": { - "us": 89.3, + "us": 87.3, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 60.2, + "us": 60.8, "variant": "accept" }, "nlohmann json_document": { @@ -2294,107 +2294,107 @@ "variant": "accept" }, "serde_json": { - "us": 48.6, + "us": 45.6, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 52.4, + "us": 54.3, "variant": "tape (copy)" }, "simdjson": { - "us": 28.3, + "us": 28.4, "variant": "DOM" }, "sonic-rs": { - "us": 45.7, + "us": 43.0, "variant": "IgnoredAny" }, "yyjson": { - "us": 27.5, + "us": 27.7, "variant": "read" } }, "twitterescaped": { "Boost.JSON": { - "us": 636.7, + "us": 673.0, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 794.2, + "us": 755.2, "variant": "validate_json" }, "RapidJSON": { - "us": 1219.5, + "us": 1207.3, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 978.9, + "us": 910.2, "variant": "accept" }, "nlohmann json_document": { - "us": 305.7, + "us": 308.1, "variant": "accept" }, "serde_json": { - "us": 729.2, + "us": 702.6, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 842.3, + "us": 856.4, "variant": "tape (copy)" }, "simdjson": { - "us": 405.5, + "us": 402.3, "variant": "DOM" }, "sonic-rs": { - "us": 654.5, + "us": 628.9, "variant": "Value" }, "yyjson": { - "us": 475.7, + "us": 479.7, "variant": "read (raw numbers)" } }, "update-center": { "Boost.JSON": { - "us": 370.2, + "us": 369.1, "variant": "SAX" }, "Glaze": { - "us": 771.7, + "us": 718.7, "variant": "validate_json" }, "RapidJSON": { - "us": 1118.2, + "us": 1048.6, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 627.8, + "us": 613.8, "variant": "accept" }, "nlohmann json_document": { - "us": 261.2, + "us": 272.9, "variant": "accept" }, "serde_json": { - "us": 488.6, + "us": 490.6, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 643.7, + "us": 650.9, "variant": "tape (copy)" }, "simdjson": { - "us": 328.7, + "us": 328.0, "variant": "DOM" }, "sonic-rs": { - "us": 381.1, + "us": 383.6, "variant": "Value" }, "yyjson": { - "us": 477.9, + "us": 459.1, "variant": "read (raw numbers)" } } @@ -2402,119 +2402,119 @@ "x86-gcc13": { "apache_builds": { "Boost.JSON": { - "us": 110.5, + "us": 110.2, "variant": "SAX" }, "Glaze": { - "us": 144.0, + "us": 134.5, "variant": "validate_json" }, "RapidJSON": { - "us": 335.8, + "us": 313.5, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 136.5, + "us": 125.1, "variant": "accept" }, "nlohmann json_document": { - "us": 56.7, + "us": 56.5, "variant": "accept" }, "serde_json": { - "us": 109.5, + "us": 105.1, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 126.1, + "us": 135.6, "variant": "tape (copy)" }, "simdjson": { - "us": 63.4, + "us": 61.2, "variant": "DOM" }, "sonic-rs": { - "us": 90.7, + "us": 88.3, "variant": "Value" }, "yyjson": { - "us": 90.8, + "us": 87.7, "variant": "read" } }, "github_events": { "Boost.JSON": { - "us": 47.1, + "us": 42.2, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 70.7, + "us": 61.9, "variant": "validate_json" }, "RapidJSON": { - "us": 185.2, + "us": 169.9, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 62.8, + "us": 55.1, "variant": "accept" }, "nlohmann json_document": { - "us": 24.6, + "us": 22.2, "variant": "accept" }, "serde_json": { - "us": 51.0, + "us": 49.2, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 53.4, + "us": 55.1, "variant": "tape (copy)" }, "simdjson": { - "us": 32.2, + "us": 28.2, "variant": "DOM" }, "sonic-rs": { - "us": 41.1, + "us": 40.9, "variant": "Value" }, "yyjson": { - "us": 39.7, - "variant": "insitu (copy)" + "us": 34.7, + "variant": "read" } }, "google_maps_api_compact_response": { "Boost.JSON": { "us": 17.0, - "variant": "SAX" + "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 19.0, + "us": 18.7, "variant": "validate_json" }, "RapidJSON": { - "us": 42.4, + "us": 39.5, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 28.0, + "us": 26.5, "variant": "accept" }, "nlohmann json_document": { - "us": 9.5, + "us": 9.4, "variant": "accept" }, "serde_json": { - "us": 16.7, + "us": 16.8, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 23.7, + "us": 23.9, "variant": "tape (copy)" }, "simdjson": { - "us": 13.2, + "us": 13.1, "variant": "DOM" }, "sonic-rs": { @@ -2522,8 +2522,8 @@ "variant": "IgnoredAny" }, "yyjson": { - "us": 11.3, - "variant": "read" + "us": 11.4, + "variant": "insitu (copy)" } }, "google_maps_api_response": { @@ -2532,455 +2532,455 @@ "variant": "SAX" }, "Glaze": { - "us": 29.9, + "us": 27.4, "variant": "validate_json" }, "RapidJSON": { - "us": 55.3, + "us": 50.5, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 35.2, + "us": 34.2, "variant": "accept" }, "nlohmann json_document": { - "us": 16.4, + "us": 14.9, "variant": "accept" }, "serde_json": { - "us": 26.4, + "us": 27.6, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 27.8, + "us": 30.6, "variant": "tape (copy)" }, "simdjson": { - "us": 15.0, + "us": 14.7, "variant": "DOM" }, "sonic-rs": { - "us": 23.3, + "us": 23.2, "variant": "Value" }, "yyjson": { - "us": 18.0, + "us": 17.8, "variant": "insitu (copy)" } }, "gsoc-2018": { "Boost.JSON": { - "us": 1100.1, - "variant": "SAX" + "us": 1103.6, + "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 1858.7, + "us": 1846.2, "variant": "validate_json" }, "RapidJSON": { - "us": 7614.4, + "us": 7663.4, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 1260.4, + "us": 1260.0, "variant": "accept" }, "nlohmann json_document": { - "us": 702.0, + "us": 691.6, "variant": "accept" }, "serde_json": { - "us": 1464.0, + "us": 1498.2, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 2005.8, + "us": 2236.9, "variant": "tape (copy)" }, "simdjson": { - "us": 1189.8, + "us": 1134.3, "variant": "DOM" }, "sonic-rs": { - "us": 1114.9, + "us": 1134.0, "variant": "IgnoredAny" }, "yyjson": { - "us": 1858.1, - "variant": "insitu (copy)" + "us": 1854.3, + "variant": "read" } }, "instruments": { "Boost.JSON": { - "us": 242.4, + "us": 228.0, "variant": "SAX" }, "Glaze": { - "us": 225.6, + "us": 211.2, "variant": "validate_json" }, "RapidJSON": { - "us": 537.7, + "us": 489.1, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 311.6, + "us": 278.3, "variant": "accept" }, "nlohmann json_document": { - "us": 123.2, + "us": 113.6, "variant": "accept" }, "serde_json": { - "us": 206.8, + "us": 212.4, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 256.9, + "us": 290.1, "variant": "tape (copy)" }, "simdjson": { - "us": 137.0, + "us": 126.4, "variant": "DOM" }, "sonic-rs": { - "us": 225.3, - "variant": "Value" + "us": 229.3, + "variant": "IgnoredAny" }, "yyjson": { - "us": 173.7, + "us": 163.2, "variant": "read" } }, "marine_ik": { "Boost.JSON": { - "us": 3175.0, + "us": 2914.7, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 3733.4, + "us": 3658.9, "variant": "validate_json" }, "RapidJSON": { - "us": 7851.3, + "us": 7328.2, "variant": "SAX" }, "nlohmann json": { - "us": 7679.8, + "us": 6959.6, "variant": "accept" }, "nlohmann json_document": { - "us": 2013.7, + "us": 2006.2, "variant": "accept" }, "serde_json": { - "us": 4143.5, + "us": 4072.2, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 7077.0, + "us": 6669.1, "variant": "tape (copy)" }, "simdjson": { - "us": 4469.2, + "us": 4331.8, "variant": "DOM" }, "sonic-rs": { - "us": 4871.1, + "us": 4661.1, "variant": "IgnoredAny" }, "yyjson": { - "us": 4245.1, + "us": 4157.3, "variant": "read (raw numbers)" } }, "mesh": { "Boost.JSON": { - "us": 984.2, + "us": 991.3, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 729.6, + "us": 722.6, "variant": "validate_json" }, "RapidJSON": { - "us": 2685.6, + "us": 2511.9, "variant": "SAX" }, "nlohmann json": { - "us": 1982.0, + "us": 1832.6, "variant": "accept" }, "nlohmann json_document": { - "us": 449.5, + "us": 412.2, "variant": "accept" }, "serde_json": { - "us": 911.1, + "us": 910.5, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 1679.5, + "us": 1691.7, "variant": "tape (copy)" }, "simdjson": { - "us": 1158.4, + "us": 1160.7, "variant": "DOM" }, "sonic-rs": { - "us": 1211.3, + "us": 1221.0, "variant": "IgnoredAny" }, "yyjson": { - "us": 1162.5, + "us": 1089.4, "variant": "read (raw numbers)" } }, "mesh.pretty": { "Boost.JSON": { - "us": 1043.8, + "us": 1057.6, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 1248.1, + "us": 1252.1, "variant": "validate_json" }, "RapidJSON": { - "us": 3826.0, + "us": 3530.5, "variant": "SAX" }, "nlohmann json": { - "us": 2206.5, + "us": 2126.7, "variant": "accept" }, "nlohmann json_document": { - "us": 1092.3, + "us": 1073.8, "variant": "accept" }, "serde_json": { - "us": 1521.6, + "us": 1483.7, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 2309.7, + "us": 2119.0, "variant": "tape (copy)" }, "simdjson": { - "us": 1396.3, + "us": 1377.9, "variant": "DOM" }, "sonic-rs": { - "us": 1554.6, + "us": 1558.0, "variant": "IgnoredAny" }, "yyjson": { - "us": 1736.9, + "us": 1754.5, "variant": "read (raw numbers)" } }, "numbers": { "Boost.JSON": { - "us": 87.8, + "us": 79.8, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 117.3, + "us": 115.4, "variant": "validate_json" }, "RapidJSON": { - "us": 528.7, - "variant": "insitu (copy)" + "us": 500.6, + "variant": "SAX" }, "nlohmann json": { - "us": 279.8, + "us": 267.0, "variant": "accept" }, "nlohmann json_document": { - "us": 70.5, + "us": 67.4, "variant": "accept" }, "serde_json": { - "us": 164.3, + "us": 163.8, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 271.6, + "us": 261.5, "variant": "tape (copy)" }, "simdjson": { - "us": 202.9, + "us": 193.8, "variant": "DOM" }, "sonic-rs": { - "us": 159.1, + "us": 161.8, "variant": "IgnoredAny" }, "yyjson": { - "us": 180.2, + "us": 174.9, "variant": "read (raw numbers)" } }, "random": { "Boost.JSON": { - "us": 958.6, + "us": 951.6, "variant": "SAX" }, "Glaze": { - "us": 668.5, + "us": 658.8, "variant": "validate_json" }, "RapidJSON": { - "us": 1546.5, + "us": 1441.5, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 1036.2, + "us": 950.7, "variant": "accept" }, "nlohmann json_document": { - "us": 381.8, + "us": 362.6, "variant": "accept" }, "serde_json": { - "us": 792.9, + "us": 772.3, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 779.1, + "us": 840.2, "variant": "tape (copy)" }, "simdjson": { - "us": 422.6, + "us": 416.4, "variant": "DOM" }, "sonic-rs": { - "us": 506.2, + "us": 502.9, "variant": "Value" }, "yyjson": { - "us": 567.8, - "variant": "insitu (copy)" + "us": 570.3, + "variant": "read" } }, "repeat": { "Boost.JSON": { - "us": 15.4, + "us": 14.2, "variant": "SAX" }, "Glaze": { - "us": 12.2, + "us": 10.9, "variant": "validate_json" }, "RapidJSON": { - "us": 19.6, + "us": 17.4, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 12.6, + "us": 11.0, "variant": "accept" }, "nlohmann json_document": { - "us": 6.0, + "us": 5.6, "variant": "accept" }, "serde_json": { - "us": 12.8, + "us": 12.6, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 10.6, + "us": 11.1, "variant": "tape (copy)" }, "simdjson": { - "us": 6.7, + "us": 6.2, "variant": "DOM" }, "sonic-rs": { - "us": 7.7, + "us": 7.6, "variant": "Value" }, "yyjson": { - "us": 9.7, + "us": 8.6, "variant": "insitu (copy)" } }, "semanticscholar-corpus": { "Boost.JSON": { - "us": 6552.6, + "us": 6226.4, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 8188.5, + "us": 7578.8, "variant": "validate_json" }, "RapidJSON": { - "us": 25503.8, + "us": 24363.8, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 7564.6, + "us": 6899.2, "variant": "accept" }, "nlohmann json_document": { - "us": 3444.9, + "us": 3167.8, "variant": "accept" }, "serde_json": { - "us": 6929.6, + "us": 6204.0, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 11228.2, + "us": 9501.2, "variant": "tape (copy)" }, "simdjson": { - "us": 8538.5, + "us": 7697.2, "variant": "DOM" }, "sonic-rs": { - "us": 5179.9, + "us": 4777.5, "variant": "IgnoredAny" }, "yyjson": { - "us": 6828.6, + "us": 6423.8, "variant": "insitu (copy)" } }, "tree-pretty": { "Boost.JSON": { - "us": 36.1, + "us": 36.0, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 37.3, + "us": 36.9, "variant": "validate_json" }, "RapidJSON": { - "us": 83.8, - "variant": "SAX" + "us": 82.7, + "variant": "insitu (copy)" }, "nlohmann json": { - "us": 46.4, + "us": 45.1, "variant": "accept" }, "nlohmann json_document": { - "us": 18.1, + "us": 17.9, "variant": "accept" }, "serde_json": { - "us": 38.0, + "us": 37.3, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 36.1, + "us": 36.8, "variant": "tape (copy)" }, "simdjson": { - "us": 18.8, + "us": 19.1, "variant": "DOM" }, "sonic-rs": { - "us": 29.7, + "us": 29.1, "variant": "Value" }, "yyjson": { @@ -2998,11 +2998,11 @@ "variant": "validate_json" }, "RapidJSON": { - "us": 28.4, + "us": 28.5, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 11.7, + "us": 11.5, "variant": "accept" }, "nlohmann json_document": { @@ -3010,11 +3010,11 @@ "variant": "accept" }, "serde_json": { - "us": 8.6, + "us": 7.8, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 12.1, + "us": 11.1, "variant": "tape (copy)" }, "simdjson": { @@ -3022,17 +3022,17 @@ "variant": "DOM" }, "sonic-rs": { - "us": 7.4, + "us": 6.7, "variant": "IgnoredAny" }, "yyjson": { - "us": 6.1, + "us": 6.0, "variant": "insitu (copy)" } }, "twitter_api_response": { "Boost.JSON": { - "us": 12.2, + "us": 11.7, "variant": "SAX (numbers: none)" }, "Glaze": { @@ -3040,11 +3040,11 @@ "variant": "validate_json" }, "RapidJSON": { - "us": 37.9, + "us": 37.1, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 16.6, + "us": 16.3, "variant": "accept" }, "nlohmann json_document": { @@ -3052,149 +3052,149 @@ "variant": "accept" }, "serde_json": { - "us": 13.2, + "us": 12.2, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 13.9, + "us": 13.3, "variant": "tape (copy)" }, "simdjson": { - "us": 7.2, + "us": 7.1, "variant": "DOM" }, "sonic-rs": { - "us": 11.6, + "us": 11.2, "variant": "IgnoredAny" }, "yyjson": { - "us": 7.9, - "variant": "insitu (copy)" + "us": 7.8, + "variant": "read" } }, "twitter_timeline": { "Boost.JSON": { - "us": 45.8, + "us": 45.6, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 48.9, + "us": 48.5, "variant": "validate_json" }, "RapidJSON": { - "us": 121.5, + "us": 121.4, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 61.0, + "us": 60.4, "variant": "accept" }, "nlohmann json_document": { - "us": 23.5, + "us": 23.6, "variant": "accept" }, "serde_json": { - "us": 48.6, + "us": 45.6, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 52.4, + "us": 54.3, "variant": "tape (copy)" }, "simdjson": { - "us": 30.1, + "us": 29.9, "variant": "DOM" }, "sonic-rs": { - "us": 45.7, + "us": 43.0, "variant": "IgnoredAny" }, "yyjson": { - "us": 29.8, + "us": 28.5, "variant": "read" } }, "twitterescaped": { "Boost.JSON": { - "us": 721.2, + "us": 703.3, "variant": "SAX (numbers: none)" }, "Glaze": { - "us": 754.9, + "us": 734.8, "variant": "validate_json" }, "RapidJSON": { - "us": 1490.1, + "us": 1451.0, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 905.3, + "us": 874.1, "variant": "accept" }, "nlohmann json_document": { - "us": 310.3, + "us": 314.0, "variant": "accept" }, "serde_json": { - "us": 729.2, + "us": 702.6, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 842.3, + "us": 856.4, "variant": "tape (copy)" }, "simdjson": { - "us": 438.3, + "us": 452.6, "variant": "DOM" }, "sonic-rs": { - "us": 654.5, + "us": 628.9, "variant": "Value" }, "yyjson": { - "us": 498.6, + "us": 503.1, "variant": "insitu (copy)" } }, "update-center": { "Boost.JSON": { - "us": 407.5, - "variant": "SAX (numbers: none)" + "us": 408.9, + "variant": "SAX" }, "Glaze": { - "us": 755.6, + "us": 680.4, "variant": "validate_json" }, "RapidJSON": { - "us": 1693.1, + "us": 1570.2, "variant": "insitu (copy)" }, "nlohmann json": { - "us": 604.0, + "us": 578.7, "variant": "accept" }, "nlohmann json_document": { - "us": 264.4, + "us": 261.8, "variant": "accept" }, "serde_json": { - "us": 488.6, + "us": 490.6, "variant": "from_utf8 + IgnoredAny" }, "simd-json": { - "us": 643.7, + "us": 650.9, "variant": "tape (copy)" }, "simdjson": { - "us": 354.8, + "us": 333.6, "variant": "DOM" }, "sonic-rs": { - "us": 381.1, + "us": 383.6, "variant": "Value" }, "yyjson": { - "us": 464.5, + "us": 466.4, "variant": "read (raw numbers)" } } diff --git a/docs/mkdocs/scripts/figures/data/perf_suite.csv b/docs/mkdocs/scripts/figures/data/perf_suite.csv index 374ec2fcd..9ef488544 100644 --- a/docs/mkdocs/scripts/figures/data/perf_suite.csv +++ b/docs/mkdocs/scripts/figures/data/perf_suite.csv @@ -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>",ns,2231.77,639.734,3.489 -GetArray>,ns,8132.06,1161.87,6.999 -GetArray>,ns,58400.5,41782.2,1.398 -GetArray>,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>",ns,2274.63,654.431,3.476 +GetArray>,ns,8288.3,1175.75,7.049 +GetArray>,ns,60017.4,42504.9,1.412 +GetArray>,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 diff --git a/docs/mkdocs/scripts/figures/data/perf_timeline.csv b/docs/mkdocs/scripts/figures/data/perf_timeline.csv index 9d08e6668..36506c26f 100644 --- a/docs/mkdocs/scripts/figures/data/perf_timeline.csv +++ b/docs/mkdocs/scripts/figures/data/perf_timeline.csv @@ -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() 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 diff --git a/docs/mkdocs/scripts/figures/data/perf_usecases_mac.json b/docs/mkdocs/scripts/figures/data/perf_usecases_mac.json index 7d834fa60..9a5fa161f 100644 --- a/docs/mkdocs/scripts/figures/data/perf_usecases_mac.json +++ b/docs/mkdocs/scripts/figures/data/perf_usecases_mac.json @@ -4,35 +4,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 169.5, + "us": 169.3, "level": "full" }, "best_any": { "variant": "accept", - "us": 169.5, + "us": 169.3, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 174.5, + "us": 174.9, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 174.5, + "us": 174.9, "level": "full" }, "variants": { "accept": { - "us": 169.5, + "us": 169.3, "level": "full" }, "read (reused)": { - "us": 174.5, + "us": 174.9, "level": "full" }, "parse": { - "us": 181.9, + "us": 182.0, "level": "full" } } @@ -40,23 +40,23 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 451.0, + "us": 461.9, "level": "full" }, "best_any": { "variant": "accept", - "us": 451.0, + "us": 461.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 451.0, + "us": 461.9, "level": "full" }, "parse": { - "us": 1359.9, + "us": 1357.9, "level": "full" } } @@ -64,39 +64,39 @@ "yyjson": { "best": { "variant": "read", - "us": 180.8, + "us": 178.2, "level": "full" }, "best_any": { "variant": "read", - "us": 180.8, + "us": 178.2, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 181.9, + "us": 185.0, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 181.9, + "us": 185.0, "level": "full" }, "variants": { "read": { - "us": 180.8, + "us": 178.2, "level": "full" }, "insitu (copy)": { - "us": 181.7, + "us": 180.6, "level": "full" }, "read (reused allocator)": { - "us": 181.9, + "us": 185.0, "level": "full" }, "read (raw numbers)": { - "us": 191.2, + "us": 188.9, "level": "full" } } @@ -104,31 +104,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 202.3, + "us": 205.0, "level": "full" }, "best_any": { "variant": "DOM", - "us": 202.3, + "us": 205.0, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 196.1, + "us": 202.6, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 196.1, + "us": 202.6, "level": "full" }, "variants": { "DOM (reused)": { - "us": 196.1, + "us": 202.6, "level": "full" }, "DOM": { - "us": 202.3, + "us": 205.0, "level": "full" } } @@ -137,14 +137,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 379.5, + "us": 381.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 379.5, + "us": 381.2, "level": "no UTF-8" } } @@ -152,83 +152,83 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 327.8, + "us": 330.0, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 327.8, + "us": 330.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 327.8, + "us": 330.0, + "level": "full" + }, + "generic (double, strict)": { + "us": 911.0, "level": "full" }, "generic (double)": { - "us": 910.5, + "us": 913.1, "level": "partial" }, - "generic (double, strict)": { - "us": 911.3, - "level": "full" - }, - "generic (strict)": { - "us": 1265.3, - "level": "full" - }, "generic": { - "us": 1269.4, + "us": 1268.7, "level": "partial" + }, + "generic (strict)": { + "us": 1271.3, + "level": "full" } } }, "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 529.0, + "us": 536.2, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 529.0, + "us": 536.2, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 526.2, + "us": 537.2, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 526.2, + "us": 537.2, "level": "full" }, "variants": { - "SAX (reused)": { - "us": 526.2, + "SAX (numbers: none)": { + "us": 536.2, "level": "full" }, - "SAX (numbers: none)": { - "us": 529.0, + "SAX (reused)": { + "us": 537.2, "level": "full" }, "SAX": { - "us": 529.2, + "us": 538.4, "level": "full" }, "parse (numbers: none)": { - "us": 857.0, - "level": "full" - }, - "parse": { - "us": 858.0, + "us": 859.0, "level": "full" }, "parser (reused)": { - "us": 858.5, + "us": 865.2, + "level": "full" + }, + "parse": { + "us": 873.1, "level": "full" } } @@ -236,63 +236,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1310.2, + "us": 1311.0, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 694.0, + "us": 700.0, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1349.7, + "us": 1346.8, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1180.4, + "us": 1188.4, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 694.0, + "us": 700.0, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 1150.3, + "us": 1155.4, "level": "no UTF-8" }, "SAX (raw numbers) (no encoding check)": { - "us": 1156.5, + "us": 1159.8, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1180.4, + "us": 1188.4, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1183.1, + "us": 1192.8, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1310.2, + "us": 1311.0, "level": "full" }, "SAX": { - "us": 1311.3, + "us": 1322.9, "level": "full" }, "SAX (raw numbers)": { - "us": 1322.5, - "level": "full" - }, - "Document": { - "us": 1345.1, + "us": 1337.8, "level": "full" }, "Document (reused allocator)": { - "us": 1349.7, + "us": 1346.8, + "level": "full" + }, + "Document": { + "us": 1357.6, "level": "full" } } @@ -400,12 +400,12 @@ }, "best_reused": { "variant": "read (reused)", - "us": 359.8, + "us": 360.1, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 359.8, + "us": 360.1, "level": "full" }, "variants": { @@ -414,11 +414,11 @@ "level": "full" }, "read (reused)": { - "us": 359.8, + "us": 360.1, "level": "full" }, "parse": { - "us": 360.7, + "us": 362.2, "level": "full" } } @@ -426,63 +426,63 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 854.5, + "us": 905.0, "level": "full" }, "best_any": { "variant": "accept", - "us": 854.5, + "us": 905.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 854.5, + "us": 905.0, "level": "full" }, "parse": { - "us": 2403.1, + "us": 2411.5, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 474.2, + "variant": "read", + "us": 474.7, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 474.2, + "variant": "read", + "us": 474.7, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 485.2, + "us": 487.0, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 485.2, + "us": 487.0, "level": "full" }, "variants": { - "insitu (copy)": { - "us": 474.2, + "read": { + "us": 474.7, "level": "full" }, - "read": { - "us": 474.8, + "insitu (copy)": { + "us": 478.8, "level": "full" }, "read (reused allocator)": { - "us": 485.2, + "us": 487.0, "level": "full" }, "read (raw numbers)": { - "us": 529.1, + "us": 526.4, "level": "full" } } @@ -490,31 +490,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 444.0, + "us": 458.8, "level": "full" }, "best_any": { "variant": "DOM", - "us": 444.0, + "us": 458.8, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 439.0, + "us": 454.0, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 439.0, + "us": 454.0, "level": "full" }, "variants": { "DOM (reused)": { - "us": 439.0, + "us": 454.0, "level": "full" }, "DOM": { - "us": 444.0, + "us": 458.8, "level": "full" } } @@ -523,14 +523,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 981.1, + "us": 993.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 981.1, + "us": 993.5, "level": "no UTF-8" } } @@ -538,35 +538,35 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 864.4, + "us": 854.0, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 864.4, + "us": 854.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 864.4, + "us": 854.0, + "level": "full" + }, + "generic (double, strict)": { + "us": 1929.4, "level": "full" }, "generic (double)": { - "us": 1924.4, + "us": 1931.4, "level": "partial" }, - "generic (double, strict)": { - "us": 1927.5, - "level": "full" - }, "generic (strict)": { - "us": 2718.8, + "us": 2719.7, "level": "full" }, "generic": { - "us": 2721.2, + "us": 2735.4, "level": "partial" } } @@ -574,47 +574,47 @@ "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 992.2, + "us": 994.8, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 992.2, + "us": 994.8, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 1015.6, + "us": 1026.8, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 1015.6, + "us": 1026.8, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 992.2, + "us": 994.8, "level": "full" }, "SAX (reused)": { - "us": 1015.6, + "us": 1026.8, "level": "full" }, "SAX": { - "us": 1015.9, + "us": 1029.3, "level": "full" }, "parse (numbers: none)": { - "us": 1461.8, + "us": 1470.1, "level": "full" }, "parser (reused)": { - "us": 1474.6, + "us": 1486.3, "level": "full" }, "parse": { - "us": 1476.6, + "us": 1487.4, "level": "full" } } @@ -622,63 +622,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1570.2, + "us": 1585.3, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1143.5, + "us": 1177.5, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1687.3, + "us": 1700.1, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1611.9, + "us": 1614.7, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1143.5, + "us": 1177.5, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 1545.7, + "us": 1551.5, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1570.2, + "us": 1585.3, "level": "full" }, "SAX (raw numbers) (no encoding check)": { - "us": 1601.5, + "us": 1610.0, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1611.9, + "us": 1614.7, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1612.8, + "us": 1627.0, "level": "no UTF-8" }, "SAX": { - "us": 1635.2, + "us": 1644.0, "level": "full" }, "Document (reused allocator)": { - "us": 1687.3, - "level": "full" - }, - "SAX (raw numbers)": { - "us": 1691.2, + "us": 1700.1, "level": "full" }, "Document": { - "us": 1691.4, + "us": 1703.1, + "level": "full" + }, + "SAX (raw numbers)": { + "us": 1705.4, "level": "full" } } @@ -776,35 +776,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 881.4, + "us": 867.6, "level": "full" }, "best_any": { "variant": "accept", - "us": 881.4, + "us": 867.6, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 959.2, + "us": 927.9, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 959.2, + "us": 927.9, "level": "full" }, "variants": { "accept": { - "us": 881.4, + "us": 867.6, "level": "full" }, "read (reused)": { - "us": 959.2, + "us": 927.9, "level": "full" }, "parse": { - "us": 959.5, + "us": 928.1, "level": "full" } } @@ -812,23 +812,23 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 2395.1, + "us": 2339.7, "level": "full" }, "best_any": { "variant": "accept", - "us": 2395.1, + "us": 2339.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 2395.1, + "us": 2339.7, "level": "full" }, "parse": { - "us": 5886.1, + "us": 6063.5, "level": "full" } } @@ -836,39 +836,39 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 1484.3, + "us": 1495.7, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 1484.3, + "us": 1495.7, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 1487.7, + "us": 1490.1, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 1487.7, + "us": 1490.1, "level": "full" }, "variants": { + "read (reused allocator)": { + "us": 1490.1, + "level": "full" + }, "insitu (copy)": { - "us": 1484.3, + "us": 1495.7, "level": "full" }, "read": { - "us": 1485.7, - "level": "full" - }, - "read (reused allocator)": { - "us": 1487.7, + "us": 1497.8, "level": "full" }, "read (raw numbers)": { - "us": 1717.9, + "us": 1727.0, "level": "full" } } @@ -876,31 +876,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 1882.7, + "us": 1889.8, "level": "full" }, "best_any": { "variant": "DOM", - "us": 1882.7, + "us": 1889.8, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 1884.3, + "us": 1887.9, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 1884.3, + "us": 1887.9, "level": "full" }, "variants": { - "DOM": { - "us": 1882.7, + "DOM (reused)": { + "us": 1887.9, "level": "full" }, - "DOM (reused)": { - "us": 1884.3, + "DOM": { + "us": 1889.8, "level": "full" } } @@ -909,14 +909,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 2577.3, + "us": 2579.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 2577.3, + "us": 2579.2, "level": "no UTF-8" } } @@ -924,35 +924,35 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 1304.4, + "us": 1302.5, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 1304.4, + "us": 1302.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 1304.4, - "level": "full" - }, - "generic (double, strict)": { - "us": 5840.6, + "us": 1302.5, "level": "full" }, "generic (double)": { - "us": 5840.8, + "us": 5914.2, "level": "partial" }, + "generic (double, strict)": { + "us": 5920.7, + "level": "full" + }, "generic": { - "us": 9213.9, + "us": 9224.0, "level": "partial" }, "generic (strict)": { - "us": 9240.6, + "us": 9232.6, "level": "full" } } @@ -960,47 +960,47 @@ "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 1466.1, + "us": 1467.0, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 1466.1, + "us": 1467.0, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 3017.1, + "us": 3048.6, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 3017.1, + "us": 3048.6, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 1466.1, + "us": 1467.0, "level": "full" }, "parse (numbers: none)": { - "us": 2075.4, - "level": "full" - }, - "SAX (reused)": { - "us": 3017.1, + "us": 2081.2, "level": "full" }, "SAX": { - "us": 3017.3, + "us": 3044.2, "level": "full" }, - "parser (reused)": { - "us": 3609.2, + "SAX (reused)": { + "us": 3048.6, "level": "full" }, "parse": { - "us": 3621.5, + "us": 3623.3, + "level": "full" + }, + "parser (reused)": { + "us": 3624.7, "level": "full" } } @@ -1008,63 +1008,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 6747.7, + "us": 6862.0, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 6747.7, - "level": "full" + "variant": "insitu (copy) (no encoding check)", + "us": 6837.6, + "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 7284.2, + "us": 7361.0, "level": "full" }, "best_reused_any": { - "variant": "Document (reused allocator)", - "us": 7284.2, - "level": "full" + "variant": "Document (reused allocator) (no encoding check)", + "us": 7351.2, + "level": "no UTF-8" }, "variants": { - "insitu (copy)": { - "us": 6747.7, - "level": "full" - }, "insitu (copy) (no encoding check)": { - "us": 6754.9, + "us": 6837.6, "level": "no UTF-8" }, - "SAX (no encoding check)": { - "us": 6922.8, - "level": "no UTF-8" + "insitu (copy)": { + "us": 6862.0, + "level": "full" }, "SAX": { - "us": 6929.3, + "us": 6980.3, "level": "full" }, - "Document (reused allocator)": { - "us": 7284.2, - "level": "full" - }, - "Document (reused allocator) (no encoding check)": { - "us": 7288.6, + "SAX (no encoding check)": { + "us": 6982.1, "level": "no UTF-8" }, "Document": { - "us": 7311.9, + "us": 7347.9, + "level": "full" + }, + "Document (reused allocator) (no encoding check)": { + "us": 7351.2, + "level": "no UTF-8" + }, + "Document (reused allocator)": { + "us": 7361.0, "level": "full" }, "Document (no encoding check)": { - "us": 7331.4, + "us": 7384.4, "level": "no UTF-8" }, "SAX (raw numbers) (no encoding check)": { - "us": 9375.7, + "us": 9453.0, "level": "no UTF-8" }, "SAX (raw numbers)": { - "us": 9445.8, + "us": 9537.8, "level": "full" } } @@ -1162,35 +1162,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 20764.0, + "us": 20763.7, "level": "full" }, "best_any": { "variant": "accept", - "us": 20764.0, + "us": 20763.7, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 22194.3, + "us": 22538.0, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 22194.3, + "us": 22538.0, "level": "full" }, "variants": { "accept": { - "us": 20764.0, + "us": 20763.7, "level": "full" }, "read (reused)": { - "us": 22194.3, + "us": 22538.0, "level": "full" }, "parse": { - "us": 22587.7, + "us": 22795.7, "level": "full" } } @@ -1198,63 +1198,63 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 56128.6, + "us": 54684.4, "level": "full" }, "best_any": { "variant": "accept", - "us": 56128.6, + "us": 54684.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 56128.6, + "us": 54684.4, "level": "full" }, "parse": { - "us": 166485.7, + "us": 167511.4, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 30582.8, + "variant": "read (raw numbers)", + "us": 30678.7, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 30582.8, + "variant": "read (raw numbers)", + "us": 30678.7, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 30588.3, + "us": 30875.9, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 30588.3, + "us": 30875.9, "level": "full" }, "variants": { + "read (raw numbers)": { + "us": 30678.7, + "level": "full" + }, "insitu (copy)": { - "us": 30582.8, + "us": 30766.6, "level": "full" }, "read (reused allocator)": { - "us": 30588.3, + "us": 30875.9, "level": "full" }, "read": { - "us": 30594.2, - "level": "full" - }, - "read (raw numbers)": { - "us": 30599.0, + "us": 31120.9, "level": "full" } } @@ -1262,31 +1262,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 28317.0, + "us": 28910.8, "level": "full" }, "best_any": { "variant": "DOM", - "us": 28317.0, + "us": 28910.8, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 28275.0, + "us": 28911.3, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 28275.0, + "us": 28911.3, "level": "full" }, "variants": { - "DOM (reused)": { - "us": 28275.0, + "DOM": { + "us": 28910.8, "level": "full" }, - "DOM": { - "us": 28317.0, + "DOM (reused)": { + "us": 28911.3, "level": "full" } } @@ -1295,14 +1295,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 40694.3, + "us": 41429.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 40694.3, + "us": 41429.4, "level": "no UTF-8" } } @@ -1310,83 +1310,83 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 45000.3, + "us": 46180.8, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 45000.3, + "us": 46180.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 45000.3, + "us": 46180.8, "level": "full" }, "generic (double)": { - "us": 88749.2, + "us": 89772.3, "level": "partial" }, "generic (double, strict)": { - "us": 88906.0, + "us": 90357.5, + "level": "full" + }, + "generic (strict)": { + "us": 133744.9, "level": "full" }, "generic": { - "us": 131584.0, + "us": 133880.0, "level": "partial" - }, - "generic (strict)": { - "us": 132204.0, - "level": "full" } } }, "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 53793.5, + "us": 54696.2, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 53793.5, + "us": 54696.2, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 53754.0, + "us": 54070.7, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 53754.0, + "us": 54070.7, "level": "full" }, "variants": { "SAX (reused)": { - "us": 53754.0, + "us": 54070.7, "level": "full" }, "SAX (numbers: none)": { - "us": 53793.5, + "us": 54696.2, "level": "full" }, "SAX": { - "us": 53825.1, - "level": "full" - }, - "parser (reused)": { - "us": 88428.2, + "us": 54853.6, "level": "full" }, "parse (numbers: none)": { - "us": 88634.6, + "us": 90182.5, + "level": "full" + }, + "parser (reused)": { + "us": 90267.2, "level": "full" }, "parse": { - "us": 88684.5, + "us": 90897.5, "level": "full" } } @@ -1394,63 +1394,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 139647.4, + "us": 141751.8, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 63372.1, + "us": 63673.4, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 154938.5, + "us": 158816.1, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 141041.8, + "us": 144204.3, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 63372.1, - "level": "no UTF-8" - }, - "SAX (no encoding check)": { - "us": 134011.6, + "us": 63673.4, "level": "no UTF-8" }, "SAX (raw numbers) (no encoding check)": { - "us": 134201.8, + "us": 136206.5, + "level": "no UTF-8" + }, + "SAX (no encoding check)": { + "us": 136556.8, "level": "no UTF-8" }, "insitu (copy)": { - "us": 139647.4, + "us": 141751.8, "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 141041.8, + "us": 144204.3, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 142627.5, + "us": 145183.5, "level": "no UTF-8" }, "SAX (raw numbers)": { - "us": 151104.5, + "us": 155496.2, "level": "full" }, "SAX": { - "us": 151223.1, + "us": 155807.8, "level": "full" }, "Document (reused allocator)": { - "us": 154938.5, + "us": 158816.1, "level": "full" }, "Document": { - "us": 155111.6, + "us": 159047.6, "level": "full" } } @@ -1571,12 +1571,12 @@ "us": 0.9, "level": "full" }, - "parse": { + "read (reused)": { "us": 0.9, "level": "full" }, - "read (reused)": { - "us": 0.9, + "parse": { + "us": 1.0, "level": "full" } } @@ -1584,23 +1584,23 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 2.4, + "us": 2.5, "level": "full" }, "best_any": { "variant": "accept", - "us": 2.4, + "us": 2.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 2.4, + "us": 2.5, "level": "full" }, "parse": { - "us": 7.4, + "us": 7.6, "level": "full" } } @@ -1618,19 +1618,15 @@ }, "best_reused": { "variant": "read (reused allocator)", - "us": 0.8, + "us": 0.9, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 0.8, + "us": 0.9, "level": "full" }, "variants": { - "read (reused allocator)": { - "us": 0.8, - "level": "full" - }, "read": { "us": 0.9, "level": "full" @@ -1642,18 +1638,22 @@ "read (raw numbers)": { "us": 0.9, "level": "full" + }, + "read (reused allocator)": { + "us": 0.9, + "level": "full" } } }, "simdjson": { "best": { "variant": "DOM", - "us": 1.0, + "us": 1.1, "level": "full" }, "best_any": { "variant": "DOM", - "us": 1.0, + "us": 1.1, "level": "full" }, "best_reused": { @@ -1672,7 +1672,7 @@ "level": "full" }, "DOM": { - "us": 1.0, + "us": 1.1, "level": "full" } } @@ -1712,19 +1712,19 @@ "level": "full" }, "generic (double)": { - "us": 4.4, + "us": 4.5, "level": "partial" }, "generic (double, strict)": { - "us": 4.4, + "us": 4.5, "level": "full" }, "generic": { - "us": 6.4, + "us": 6.5, "level": "partial" }, "generic (strict)": { - "us": 6.4, + "us": 6.5, "level": "full" } } @@ -1732,47 +1732,47 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 2.3, + "us": 2.4, "level": "full" }, "best_any": { "variant": "SAX", - "us": 2.3, + "us": 2.4, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 2.3, + "us": 2.4, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 2.3, + "us": 2.4, "level": "full" }, "variants": { "SAX": { - "us": 2.3, + "us": 2.4, "level": "full" }, "SAX (numbers: none)": { - "us": 2.3, + "us": 2.4, "level": "full" }, "SAX (reused)": { - "us": 2.3, + "us": 2.4, "level": "full" }, "parser (reused)": { - "us": 3.5, + "us": 3.6, "level": "full" }, "parse": { - "us": 3.7, + "us": 3.8, "level": "full" }, "parse (numbers: none)": { - "us": 3.7, + "us": 3.8, "level": "full" } } @@ -1780,12 +1780,12 @@ "RapidJSON": { "best": { "variant": "SAX", - "us": 6.1, + "us": 6.2, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 2.6, + "us": 2.7, "level": "no UTF-8" }, "best_reused": { @@ -1795,16 +1795,16 @@ }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 5.4, + "us": 5.5, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 2.6, + "us": 2.7, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 5.2, + "us": 5.3, "level": "no UTF-8" }, "SAX (raw numbers) (no encoding check)": { @@ -1812,19 +1812,19 @@ "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 5.4, + "us": 5.5, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 5.9, + "us": 6.0, "level": "no UTF-8" }, "SAX": { - "us": 6.1, + "us": 6.2, "level": "full" }, "SAX (raw numbers)": { - "us": 6.2, + "us": 6.3, "level": "full" }, "Document (reused allocator)": { @@ -1832,11 +1832,11 @@ "level": "full" }, "insitu (copy)": { - "us": 6.4, + "us": 6.5, "level": "full" }, "Document": { - "us": 6.7, + "us": 6.8, "level": "full" } } @@ -1934,35 +1934,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 149.2, + "us": 151.0, "level": "full" }, "best_any": { "variant": "accept", - "us": 149.2, + "us": 151.0, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 156.0, + "us": 158.9, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 156.0, + "us": 158.9, "level": "full" }, "variants": { "accept": { - "us": 149.2, + "us": 151.0, "level": "full" }, "read (reused)": { - "us": 156.0, + "us": 158.9, "level": "full" }, "parse": { - "us": 160.5, + "us": 163.8, "level": "full" } } @@ -1986,47 +1986,47 @@ "level": "full" }, "parse": { - "us": 1314.8, + "us": 1334.8, "level": "full" } } }, "yyjson": { "best": { - "variant": "read", - "us": 159.9, + "variant": "insitu (copy)", + "us": 161.6, "level": "full" }, "best_any": { - "variant": "read", - "us": 159.9, + "variant": "insitu (copy)", + "us": 161.6, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 159.1, + "us": 161.3, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 159.1, + "us": 161.3, "level": "full" }, "variants": { "read (reused allocator)": { - "us": 159.1, - "level": "full" - }, - "read": { - "us": 159.9, + "us": 161.3, "level": "full" }, "insitu (copy)": { "us": 161.6, "level": "full" }, + "read": { + "us": 161.7, + "level": "full" + }, "read (raw numbers)": { - "us": 171.8, + "us": 172.0, "level": "full" } } @@ -2034,31 +2034,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 173.4, + "us": 178.3, "level": "full" }, "best_any": { "variant": "DOM", - "us": 173.4, + "us": 178.3, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 172.6, + "us": 178.5, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 172.6, + "us": 178.5, "level": "full" }, "variants": { - "DOM (reused)": { - "us": 172.6, + "DOM": { + "us": 178.3, "level": "full" }, - "DOM": { - "us": 173.4, + "DOM (reused)": { + "us": 178.5, "level": "full" } } @@ -2067,14 +2067,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 255.6, + "us": 260.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 255.6, + "us": 260.8, "level": "no UTF-8" } } @@ -2082,35 +2082,35 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 270.4, + "us": 277.2, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 270.4, + "us": 277.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 270.4, + "us": 277.2, "level": "full" }, "generic (double, strict)": { - "us": 824.2, + "us": 833.3, "level": "full" }, "generic (double)": { - "us": 824.5, + "us": 836.9, "level": "partial" }, "generic": { - "us": 1159.8, + "us": 1179.0, "level": "partial" }, "generic (strict)": { - "us": 1161.5, + "us": 1182.8, "level": "full" } } @@ -2118,47 +2118,47 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 452.7, + "us": 462.3, "level": "full" }, "best_any": { "variant": "SAX", - "us": 452.7, + "us": 462.3, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 448.3, + "us": 461.5, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 448.3, + "us": 461.5, "level": "full" }, "variants": { "SAX (reused)": { - "us": 448.3, + "us": 461.5, "level": "full" }, "SAX": { - "us": 452.7, + "us": 462.3, "level": "full" }, "SAX (numbers: none)": { - "us": 454.2, + "us": 465.5, "level": "full" }, "parse": { - "us": 761.3, + "us": 778.0, "level": "full" }, "parse (numbers: none)": { - "us": 763.5, + "us": 779.8, "level": "full" }, "parser (reused)": { - "us": 767.8, + "us": 784.5, "level": "full" } } @@ -2166,63 +2166,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1073.9, + "us": 1092.9, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 478.2, + "us": 481.7, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1165.4, + "us": 1180.4, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1009.5, + "us": 1031.1, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 478.2, + "us": 481.7, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 960.1, + "us": 979.6, "level": "no UTF-8" }, "SAX (raw numbers) (no encoding check)": { - "us": 977.5, + "us": 993.3, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1009.5, + "us": 1031.1, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1014.4, + "us": 1034.3, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1073.9, + "us": 1092.9, "level": "full" }, "SAX": { - "us": 1123.1, + "us": 1144.5, "level": "full" }, "SAX (raw numbers)": { - "us": 1137.1, - "level": "full" - }, - "Document": { - "us": 1162.6, + "us": 1159.3, "level": "full" }, "Document (reused allocator)": { - "us": 1165.4, + "us": 1180.4, + "level": "full" + }, + "Document": { + "us": 1191.1, "level": "full" } } @@ -2320,35 +2320,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 193.5, + "us": 194.8, "level": "full" }, "best_any": { "variant": "accept", - "us": 193.5, + "us": 194.8, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 243.5, + "us": 247.2, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 243.5, + "us": 247.2, "level": "full" }, "variants": { "accept": { - "us": 193.5, + "us": 194.8, "level": "full" }, "read (reused)": { - "us": 243.5, + "us": 247.2, "level": "full" }, "parse": { - "us": 243.9, + "us": 247.5, "level": "full" } } @@ -2356,23 +2356,23 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 642.4, + "us": 697.8, "level": "full" }, "best_any": { "variant": "accept", - "us": 642.4, + "us": 697.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 642.4, + "us": 697.8, "level": "full" }, "parse": { - "us": 2270.0, + "us": 2308.1, "level": "full" } } @@ -2380,39 +2380,39 @@ "yyjson": { "best": { "variant": "read", - "us": 283.2, + "us": 285.4, "level": "full" }, "best_any": { "variant": "read", - "us": 283.2, + "us": 285.4, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 283.9, + "us": 286.2, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 283.9, + "us": 286.2, "level": "full" }, "variants": { "read": { - "us": 283.2, + "us": 285.4, "level": "full" }, "insitu (copy)": { - "us": 283.5, + "us": 285.5, "level": "full" }, "read (reused allocator)": { - "us": 283.9, + "us": 286.2, "level": "full" }, "read (raw numbers)": { - "us": 339.0, + "us": 340.0, "level": "full" } } @@ -2420,31 +2420,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 318.8, + "us": 327.8, "level": "full" }, "best_any": { "variant": "DOM", - "us": 318.8, + "us": 327.8, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 316.1, + "us": 325.6, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 316.1, + "us": 325.6, "level": "full" }, "variants": { "DOM (reused)": { - "us": 316.1, + "us": 325.6, "level": "full" }, "DOM": { - "us": 318.8, + "us": 327.8, "level": "full" } } @@ -2453,14 +2453,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 541.2, + "us": 550.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 541.2, + "us": 550.5, "level": "no UTF-8" } } @@ -2468,35 +2468,35 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 467.1, + "us": 470.0, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 467.1, + "us": 470.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 467.1, + "us": 470.0, "level": "full" }, "generic (double)": { - "us": 1580.3, + "us": 1611.3, "level": "partial" }, "generic (double, strict)": { - "us": 1580.6, + "us": 1612.0, "level": "full" }, "generic (strict)": { - "us": 2355.8, + "us": 2388.3, "level": "full" }, "generic": { - "us": 2360.0, + "us": 2393.1, "level": "partial" } } @@ -2504,47 +2504,47 @@ "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 436.3, + "us": 443.0, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 436.3, + "us": 443.0, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 455.3, + "us": 463.5, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 455.3, + "us": 463.5, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 436.3, + "us": 443.0, "level": "full" }, "SAX (reused)": { - "us": 455.3, + "us": 463.5, "level": "full" }, "SAX": { - "us": 455.4, + "us": 463.7, "level": "full" }, "parse (numbers: none)": { - "us": 923.9, + "us": 945.3, "level": "full" }, "parse": { - "us": 936.3, + "us": 957.5, "level": "full" }, "parser (reused)": { - "us": 936.4, + "us": 957.9, "level": "full" } } @@ -2552,63 +2552,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1103.1, + "us": 1124.8, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 744.3, + "us": 761.9, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1230.0, + "us": 1250.3, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1137.7, + "us": 1157.8, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 744.3, + "us": 761.9, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 1004.7, + "us": 1020.9, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1103.1, + "us": 1124.8, "level": "full" }, "SAX": { - "us": 1110.9, + "us": 1134.2, "level": "full" }, "Document (no encoding check)": { - "us": 1128.3, + "us": 1152.8, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1137.7, + "us": 1157.8, "level": "no UTF-8" }, "Document": { - "us": 1201.4, + "us": 1235.6, "level": "full" }, "Document (reused allocator)": { - "us": 1230.0, + "us": 1250.3, "level": "full" }, "SAX (raw numbers) (no encoding check)": { - "us": 1267.0, + "us": 1297.1, "level": "no UTF-8" }, "SAX (raw numbers)": { - "us": 1321.2, + "us": 1342.0, "level": "full" } } @@ -2708,31 +2708,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 226.1, + "us": 227.0, "level": "full" }, "best_any": { "variant": "parse", - "us": 226.1, + "us": 227.0, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 220.8, + "us": 223.7, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 220.8, + "us": 223.7, "level": "full" }, "variants": { "read (reused)": { - "us": 220.8, + "us": 223.7, "level": "full" }, "parse": { - "us": 226.1, + "us": 227.0, "level": "full" } } @@ -2740,23 +2740,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 461.5, + "us": 465.6, "level": "full" }, "best_any": { "variant": "sax", - "us": 461.5, + "us": 465.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 461.5, + "us": 465.6, "level": "full" }, "parse": { - "us": 1419.7, + "us": 1417.8, "level": "full" } } @@ -2764,35 +2764,35 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 229.0, + "us": 229.4, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 229.0, + "us": 229.4, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 232.0, + "us": 234.3, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 232.0, + "us": 234.3, "level": "full" }, "variants": { "insitu (copy)": { - "us": 229.0, - "level": "full" - }, - "read": { - "us": 230.9, + "us": 229.4, "level": "full" }, "read (reused allocator)": { - "us": 232.0, + "us": 234.3, + "level": "full" + }, + "read": { + "us": 235.2, "level": "full" } } @@ -2800,39 +2800,39 @@ "simdjson": { "best": { "variant": "DOM", - "us": 238.7, + "us": 243.7, "level": "full" }, "best_any": { "variant": "DOM", - "us": 238.7, + "us": 243.7, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 241.8, + "us": 244.0, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 241.8, + "us": 244.0, "level": "full" }, "variants": { "DOM": { - "us": 238.7, + "us": 243.7, "level": "full" }, "DOM (reused)": { - "us": 241.8, + "us": 244.0, "level": "full" }, "On-Demand (reused)": { - "us": 245.3, + "us": 257.3, "level": "full" }, "On-Demand": { - "us": 253.0, + "us": 258.9, "level": "full" } } @@ -2841,14 +2841,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 426.8, + "us": 427.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 426.8, + "us": 427.9, "level": "no UTF-8" } } @@ -2856,35 +2856,35 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 976.4, + "us": 984.7, "level": "full" }, "best_any": { - "variant": "generic (double, strict)", - "us": 976.4, - "level": "full" + "variant": "generic (double)", + "us": 978.5, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (double, strict)": { - "us": 976.4, - "level": "full" - }, "generic (double)": { - "us": 979.4, + "us": 978.5, "level": "partial" }, - "generic (strict)": { - "us": 1329.1, + "generic (double, strict)": { + "us": 984.7, "level": "full" }, "generic": { - "us": 1335.2, + "us": 1339.1, "level": "partial" }, + "generic (strict)": { + "us": 1345.1, + "level": "full" + }, "lazy_json": { - "us": 1953.0, + "us": 1918.4, "level": "partial" } }, @@ -2905,12 +2905,12 @@ }, "best_reused": { "variant": "SAX (reused)", - "us": 529.8, + "us": 530.6, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 529.8, + "us": 530.6, "level": "full" }, "variants": { @@ -2919,15 +2919,15 @@ "level": "full" }, "SAX (reused)": { - "us": 529.8, - "level": "full" - }, - "parse": { - "us": 903.2, + "us": 530.6, "level": "full" }, "parser (reused)": { - "us": 906.0, + "us": 909.7, + "level": "full" + }, + "parse": { + "us": 918.5, "level": "full" } } @@ -2935,55 +2935,55 @@ "RapidJSON": { "best": { "variant": "SAX", - "us": 1329.5, + "us": 1331.1, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 742.6, + "us": 747.8, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1387.5, + "us": 1402.6, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1228.9, + "us": 1233.2, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 742.6, + "us": 747.8, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 1158.4, + "us": 1168.8, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1228.9, + "us": 1233.2, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1232.0, + "us": 1240.8, "level": "no UTF-8" }, "SAX": { - "us": 1329.5, + "us": 1331.1, "level": "full" }, "insitu (copy)": { - "us": 1358.7, + "us": 1361.9, "level": "full" }, "Document (reused allocator)": { - "us": 1387.5, + "us": 1402.6, "level": "full" }, "Document": { - "us": 1394.1, + "us": 1405.5, "level": "full" } } @@ -3077,31 +3077,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 481.6, + "us": 481.7, "level": "full" }, "best_any": { "variant": "parse", - "us": 481.6, + "us": 481.7, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 481.2, + "us": 482.7, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 481.2, + "us": 482.7, "level": "full" }, "variants": { - "read (reused)": { - "us": 481.2, + "parse": { + "us": 481.7, "level": "full" }, - "parse": { - "us": 481.6, + "read (reused)": { + "us": 482.7, "level": "full" } } @@ -3109,23 +3109,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 930.8, + "us": 931.8, "level": "full" }, "best_any": { "variant": "sax", - "us": 930.8, + "us": 931.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 930.8, + "us": 931.8, "level": "full" }, "parse": { - "us": 2537.7, + "us": 2532.5, "level": "full" } } @@ -3133,35 +3133,35 @@ "yyjson": { "best": { "variant": "read", - "us": 569.5, + "us": 576.2, "level": "full" }, "best_any": { "variant": "read", - "us": 569.5, + "us": 576.2, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 570.7, + "us": 582.6, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 570.7, + "us": 582.6, "level": "full" }, "variants": { "read": { - "us": 569.5, + "us": 576.2, "level": "full" }, "insitu (copy)": { - "us": 569.7, + "us": 577.4, "level": "full" }, "read (reused allocator)": { - "us": 570.7, + "us": 582.6, "level": "full" } } @@ -3169,39 +3169,39 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 562.8, + "us": 587.7, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 562.8, + "us": 587.7, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 568.4, + "us": 577.7, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 568.4, + "us": 577.7, "level": "full" }, "variants": { - "On-Demand": { - "us": 562.8, - "level": "full" - }, "On-Demand (reused)": { - "us": 568.4, + "us": 577.7, "level": "full" }, - "DOM (reused)": { - "us": 576.9, + "On-Demand": { + "us": 587.7, "level": "full" }, "DOM": { - "us": 579.0, + "us": 589.5, + "level": "full" + }, + "DOM (reused)": { + "us": 596.0, "level": "full" } } @@ -3210,14 +3210,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1083.5, + "us": 1088.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1083.5, + "us": 1088.0, "level": "no UTF-8" } } @@ -3225,35 +3225,35 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 2058.2, + "us": 2057.0, "level": "full" }, "best_any": { - "variant": "generic (double, strict)", - "us": 2058.2, - "level": "full" + "variant": "generic (double)", + "us": 2052.3, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (double, strict)": { - "us": 2058.2, - "level": "full" - }, "generic (double)": { - "us": 2058.7, + "us": 2052.3, "level": "partial" }, + "generic (double, strict)": { + "us": 2057.0, + "level": "full" + }, "generic (strict)": { - "us": 2858.5, + "us": 2842.2, "level": "full" }, "generic": { - "us": 2859.9, + "us": 2856.0, "level": "partial" }, "lazy_json": { - "us": 7959.9, + "us": 8317.8, "level": "partial" } }, @@ -3264,39 +3264,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 1006.5, + "us": 1008.2, "level": "full" }, "best_any": { "variant": "SAX", - "us": 1006.5, + "us": 1008.2, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 1005.3, + "us": 1006.9, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 1005.3, + "us": 1006.9, "level": "full" }, "variants": { "SAX (reused)": { - "us": 1005.3, + "us": 1006.9, "level": "full" }, "SAX": { - "us": 1006.5, + "us": 1008.2, "level": "full" }, "parser (reused)": { - "us": 1569.4, + "us": 1577.2, "level": "full" }, "parse": { - "us": 1571.6, + "us": 1583.2, "level": "full" } } @@ -3304,55 +3304,55 @@ "RapidJSON": { "best": { "variant": "SAX", - "us": 1637.6, + "us": 1654.8, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1246.2, + "us": 1275.7, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1790.0, + "us": 1803.5, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1717.4, + "us": 1720.8, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1246.2, + "us": 1275.7, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 1552.5, + "us": 1559.8, "level": "no UTF-8" }, "SAX": { - "us": 1637.6, + "us": 1654.8, "level": "full" }, "insitu (copy)": { - "us": 1674.7, + "us": 1663.9, "level": "full" }, - "Document (no encoding check)": { - "us": 1716.5, - "level": "no UTF-8" - }, "Document (reused allocator) (no encoding check)": { - "us": 1717.4, + "us": 1720.8, "level": "no UTF-8" }, - "Document (reused allocator)": { - "us": 1790.0, - "level": "full" + "Document (no encoding check)": { + "us": 1726.7, + "level": "no UTF-8" }, "Document": { - "us": 1794.5, + "us": 1802.0, + "level": "full" + }, + "Document (reused allocator)": { + "us": 1803.5, "level": "full" } } @@ -3446,31 +3446,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 1818.0, + "us": 1790.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 1818.0, + "us": 1790.2, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 1816.5, + "us": 1787.5, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 1816.5, + "us": 1787.5, "level": "full" }, "variants": { "read (reused)": { - "us": 1816.5, + "us": 1787.5, "level": "full" }, "parse": { - "us": 1818.0, + "us": 1790.2, "level": "full" } } @@ -3478,59 +3478,59 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 3065.1, + "us": 3074.9, "level": "full" }, "best_any": { "variant": "sax", - "us": 3065.1, + "us": 3074.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 3065.1, + "us": 3074.9, "level": "full" }, "parse": { - "us": 6257.6, + "us": 6419.0, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 1867.0, + "variant": "read", + "us": 1941.4, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 1867.0, + "variant": "read", + "us": 1941.4, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 1869.5, + "us": 1947.4, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 1869.5, + "us": 1947.4, "level": "full" }, "variants": { + "read": { + "us": 1941.4, + "level": "full" + }, "insitu (copy)": { - "us": 1867.0, + "us": 1944.0, "level": "full" }, "read (reused allocator)": { - "us": 1869.5, - "level": "full" - }, - "read": { - "us": 1869.9, + "us": 1947.4, "level": "full" } } @@ -3538,39 +3538,39 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 2372.3, + "us": 2386.7, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 2372.3, + "us": 2386.7, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 2378.0, + "us": 2391.8, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 2378.0, + "us": 2391.8, "level": "full" }, "variants": { "On-Demand": { - "us": 2372.3, + "us": 2386.7, "level": "full" }, "On-Demand (reused)": { - "us": 2378.0, - "level": "full" - }, - "DOM (reused)": { - "us": 2413.0, + "us": 2391.8, "level": "full" }, "DOM": { - "us": 2413.3, + "us": 2417.8, + "level": "full" + }, + "DOM (reused)": { + "us": 2421.5, "level": "full" } } @@ -3579,14 +3579,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 2954.8, + "us": 2972.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 2954.8, + "us": 2972.4, "level": "no UTF-8" } } @@ -3594,35 +3594,35 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 6227.8, + "us": 6271.8, "level": "full" }, "best_any": { "variant": "generic (double, strict)", - "us": 6227.8, + "us": 6271.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "generic (double, strict)": { - "us": 6227.8, + "us": 6271.8, "level": "full" }, "generic (double)": { - "us": 6305.8, - "level": "partial" - }, - "generic": { - "us": 9601.7, + "us": 6352.5, "level": "partial" }, "generic (strict)": { - "us": 9608.9, + "us": 9611.3, "level": "full" }, + "generic": { + "us": 9622.8, + "level": "partial" + }, "lazy_json": { - "us": 11917.6, + "us": 11984.1, "level": "partial" } }, @@ -3633,39 +3633,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 3027.7, + "us": 3042.4, "level": "full" }, "best_any": { "variant": "SAX", - "us": 3027.7, + "us": 3042.4, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 3027.6, + "us": 3043.4, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 3027.6, + "us": 3043.4, "level": "full" }, "variants": { - "SAX (reused)": { - "us": 3027.6, + "SAX": { + "us": 3042.4, "level": "full" }, - "SAX": { - "us": 3027.7, + "SAX (reused)": { + "us": 3043.4, "level": "full" }, "parser (reused)": { - "us": 3989.1, + "us": 3999.4, "level": "full" }, "parse": { - "us": 4000.2, + "us": 4012.9, "level": "full" } } @@ -3673,55 +3673,55 @@ "RapidJSON": { "best": { "variant": "SAX", - "us": 6895.2, + "us": 6937.7, "level": "full" }, "best_any": { "variant": "SAX", - "us": 6895.2, + "us": 6937.7, "level": "full" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 7672.7, + "us": 7716.9, "level": "full" }, "best_reused_any": { - "variant": "Document (reused allocator) (no encoding check)", - "us": 7658.0, - "level": "no UTF-8" + "variant": "Document (reused allocator)", + "us": 7716.9, + "level": "full" }, "variants": { "SAX": { - "us": 6895.2, + "us": 6937.7, "level": "full" }, "SAX (no encoding check)": { - "us": 6910.2, + "us": 6949.0, + "level": "no UTF-8" + }, + "insitu (copy) (no encoding check)": { + "us": 7177.7, "level": "no UTF-8" }, "insitu (copy)": { - "us": 7118.6, + "us": 7217.9, "level": "full" }, - "insitu (copy) (no encoding check)": { - "us": 7128.9, - "level": "no UTF-8" - }, - "Document (reused allocator) (no encoding check)": { - "us": 7658.0, - "level": "no UTF-8" - }, "Document (reused allocator)": { - "us": 7672.7, + "us": 7716.9, "level": "full" }, + "Document (reused allocator) (no encoding check)": { + "us": 7721.3, + "level": "no UTF-8" + }, "Document": { - "us": 7695.1, + "us": 7732.4, "level": "full" }, "Document (no encoding check)": { - "us": 7706.0, + "us": 7737.8, "level": "no UTF-8" } } @@ -3815,31 +3815,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 28731.5, + "us": 29450.5, "level": "full" }, "best_any": { "variant": "parse", - "us": 28731.5, + "us": 29450.5, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 28365.8, + "us": 29182.9, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 28365.8, + "us": 29182.9, "level": "full" }, "variants": { "read (reused)": { - "us": 28365.8, + "us": 29182.9, "level": "full" }, "parse": { - "us": 28731.5, + "us": 29450.5, "level": "full" } } @@ -3847,59 +3847,59 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 62740.4, + "us": 64003.1, "level": "full" }, "best_any": { "variant": "sax", - "us": 62740.4, + "us": 64003.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 62740.4, + "us": 64003.1, "level": "full" }, "parse": { - "us": 172976.3, + "us": 173462.1, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 37322.7, + "variant": "read", + "us": 37855.2, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 37322.7, + "variant": "read", + "us": 37855.2, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 37680.4, + "us": 38236.1, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 37680.4, + "us": 38236.1, "level": "full" }, "variants": { - "insitu (copy)": { - "us": 37322.7, + "read": { + "us": 37855.2, "level": "full" }, "read (reused allocator)": { - "us": 37680.4, + "us": 38236.1, "level": "full" }, - "read": { - "us": 37694.2, + "insitu (copy)": { + "us": 38334.2, "level": "full" } } @@ -3907,39 +3907,39 @@ "simdjson": { "best": { "variant": "DOM", - "us": 34486.1, + "us": 35389.3, "level": "full" }, "best_any": { "variant": "DOM", - "us": 34486.1, + "us": 35389.3, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 34510.5, + "us": 35378.8, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 34510.5, + "us": 35378.8, "level": "full" }, "variants": { - "DOM": { - "us": 34486.1, + "DOM (reused)": { + "us": 35378.8, "level": "full" }, - "DOM (reused)": { - "us": 34510.5, + "DOM": { + "us": 35389.3, "level": "full" }, "On-Demand (reused)": { - "us": 35131.6, + "us": 36143.2, "level": "full" }, "On-Demand": { - "us": 35281.9, + "us": 36151.8, "level": "full" } } @@ -3948,14 +3948,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 48014.2, + "us": 48845.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 48014.2, + "us": 48845.2, "level": "no UTF-8" } } @@ -3963,35 +3963,35 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 99306.6, + "us": 100545.3, "level": "full" }, "best_any": { - "variant": "generic (double)", - "us": 98971.0, - "level": "partial" + "variant": "generic (double, strict)", + "us": 100545.3, + "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (double)": { - "us": 98971.0, - "level": "partial" - }, "generic (double, strict)": { - "us": 99306.6, + "us": 100545.3, "level": "full" }, - "generic": { - "us": 141588.6, + "generic (double)": { + "us": 101081.2, "level": "partial" }, "generic (strict)": { - "us": 142940.9, + "us": 144474.7, "level": "full" }, + "generic": { + "us": 145725.6, + "level": "partial" + }, "lazy_json": { - "us": 147134.3, + "us": 150463.6, "level": "partial" } }, @@ -4002,39 +4002,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 53686.6, + "us": 55144.7, "level": "full" }, "best_any": { "variant": "SAX", - "us": 53686.6, + "us": 55144.7, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 53714.7, + "us": 54808.2, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 53714.7, + "us": 54808.2, "level": "full" }, "variants": { - "SAX": { - "us": 53686.6, + "SAX (reused)": { + "us": 54808.2, "level": "full" }, - "SAX (reused)": { - "us": 53714.7, + "SAX": { + "us": 55144.7, "level": "full" }, "parser (reused)": { - "us": 94681.8, + "us": 97284.9, "level": "full" }, "parse": { - "us": 94934.8, + "us": 97480.4, "level": "full" } } @@ -4042,55 +4042,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 146233.8, + "us": 149509.1, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 70310.2, + "us": 71696.7, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 161608.8, + "us": 165510.0, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 147741.4, + "us": 151351.8, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 70310.2, + "us": 71696.7, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 134170.8, + "us": 137181.9, "level": "no UTF-8" }, "insitu (copy)": { - "us": 146233.8, + "us": 149509.1, "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 147741.4, + "us": 151351.8, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 150000.4, + "us": 154019.9, "level": "no UTF-8" }, "SAX": { - "us": 150260.8, + "us": 154067.7, "level": "full" }, "Document (reused allocator)": { - "us": 161608.8, + "us": 165510.0, "level": "full" }, "Document": { - "us": 162498.9, + "us": 166855.7, "level": "full" } } @@ -4232,7 +4232,7 @@ "level": "full" }, "parse": { - "us": 7.7, + "us": 7.9, "level": "full" } } @@ -4240,12 +4240,12 @@ "yyjson": { "best": { "variant": "read", - "us": 1.1, + "us": 1.2, "level": "full" }, "best_any": { "variant": "read", - "us": 1.1, + "us": 1.2, "level": "full" }, "best_reused": { @@ -4259,16 +4259,16 @@ "level": "full" }, "variants": { - "read": { + "read (reused allocator)": { "us": 1.1, "level": "full" }, + "read": { + "us": 1.2, + "level": "full" + }, "insitu (copy)": { - "us": 1.1, - "level": "full" - }, - "read (reused allocator)": { - "us": 1.1, + "us": 1.2, "level": "full" } } @@ -4286,17 +4286,17 @@ }, "best_reused": { "variant": "DOM (reused)", - "us": 1.1, + "us": 1.2, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 1.1, + "us": 1.2, "level": "full" }, "variants": { "DOM (reused)": { - "us": 1.1, + "us": 1.2, "level": "full" }, "On-Demand (reused)": { @@ -4332,35 +4332,35 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 4.8, + "us": 4.9, "level": "full" }, "best_any": { "variant": "lazy_json", - "us": 3.4, + "us": 3.5, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "lazy_json": { - "us": 3.4, + "us": 3.5, "level": "partial" }, "generic (double)": { - "us": 4.8, + "us": 4.9, "level": "partial" }, "generic (double, strict)": { - "us": 4.8, + "us": 4.9, "level": "full" }, "generic": { - "us": 6.7, + "us": 6.9, "level": "partial" }, "generic (strict)": { - "us": 6.7, + "us": 6.9, "level": "full" } }, @@ -4381,12 +4381,12 @@ }, "best_reused": { "variant": "SAX (reused)", - "us": 2.3, + "us": 2.4, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 2.3, + "us": 2.4, "level": "full" }, "variants": { @@ -4395,11 +4395,11 @@ "level": "full" }, "SAX (reused)": { - "us": 2.3, + "us": 2.4, "level": "full" }, "parser (reused)": { - "us": 3.7, + "us": 3.8, "level": "full" }, "parse": { @@ -4421,12 +4421,12 @@ }, "best_reused": { "variant": "Document (reused allocator)", - "us": 6.5, + "us": 6.6, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 5.6, + "us": 5.7, "level": "no UTF-8" }, "variants": { @@ -4435,31 +4435,31 @@ "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 5.2, + "us": 5.4, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 5.6, - "level": "no UTF-8" - }, - "Document (no encoding check)": { - "us": 6.1, + "us": 5.7, "level": "no UTF-8" }, "SAX": { "us": 6.2, "level": "full" }, - "Document (reused allocator)": { - "us": 6.5, - "level": "full" + "Document (no encoding check)": { + "us": 6.2, + "level": "no UTF-8" }, - "insitu (copy)": { + "Document (reused allocator)": { "us": 6.6, "level": "full" }, + "insitu (copy)": { + "us": 6.7, + "level": "full" + }, "Document": { - "us": 7.0, + "us": 7.1, "level": "full" } } @@ -4553,31 +4553,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 206.0, + "us": 208.5, "level": "full" }, "best_any": { "variant": "parse", - "us": 206.0, + "us": 208.5, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 200.8, + "us": 204.3, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 200.8, + "us": 204.3, "level": "full" }, "variants": { "read (reused)": { - "us": 200.8, + "us": 204.3, "level": "full" }, "parse": { - "us": 206.0, + "us": 208.5, "level": "full" } } @@ -4585,23 +4585,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 421.2, + "us": 421.9, "level": "full" }, "best_any": { "variant": "sax", - "us": 421.2, + "us": 421.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 421.2, + "us": 421.9, "level": "full" }, "parse": { - "us": 1375.9, + "us": 1393.2, "level": "full" } } @@ -4609,35 +4609,35 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 208.2, + "us": 211.7, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 208.2, + "us": 211.7, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 207.8, + "us": 214.0, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 207.8, + "us": 214.0, "level": "full" }, "variants": { - "read (reused allocator)": { - "us": 207.8, + "insitu (copy)": { + "us": 211.7, "level": "full" }, - "insitu (copy)": { - "us": 208.2, + "read (reused allocator)": { + "us": 214.0, "level": "full" }, "read": { - "us": 212.5, + "us": 214.4, "level": "full" } } @@ -4645,39 +4645,39 @@ "simdjson": { "best": { "variant": "DOM", - "us": 219.8, + "us": 228.5, "level": "full" }, "best_any": { "variant": "DOM", - "us": 219.8, + "us": 228.5, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 220.0, + "us": 227.4, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 220.0, + "us": 227.4, "level": "full" }, "variants": { - "DOM": { - "us": 219.8, + "DOM (reused)": { + "us": 227.4, "level": "full" }, - "DOM (reused)": { - "us": 220.0, + "DOM": { + "us": 228.5, "level": "full" }, "On-Demand (reused)": { - "us": 225.6, + "us": 231.8, "level": "full" }, "On-Demand": { - "us": 231.5, + "us": 237.5, "level": "full" } } @@ -4686,14 +4686,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 303.5, + "us": 309.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 303.5, + "us": 309.5, "level": "no UTF-8" } } @@ -4701,35 +4701,35 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 888.0, + "us": 900.5, "level": "full" }, "best_any": { - "variant": "generic (double, strict)", - "us": 888.0, - "level": "full" + "variant": "generic (double)", + "us": 898.3, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (double, strict)": { - "us": 888.0, - "level": "full" - }, "generic (double)": { - "us": 892.0, + "us": 898.3, "level": "partial" }, + "generic (double, strict)": { + "us": 900.5, + "level": "full" + }, "generic (strict)": { - "us": 1220.4, + "us": 1238.0, "level": "full" }, "generic": { - "us": 1222.5, + "us": 1239.5, "level": "partial" }, "lazy_json": { - "us": 1317.5, + "us": 1335.3, "level": "partial" } }, @@ -4740,39 +4740,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 449.5, + "us": 459.7, "level": "full" }, "best_any": { "variant": "SAX", - "us": 449.5, + "us": 459.7, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 449.9, + "us": 458.2, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 449.9, + "us": 458.2, "level": "full" }, "variants": { - "SAX": { - "us": 449.5, - "level": "full" - }, "SAX (reused)": { - "us": 449.9, + "us": 458.2, "level": "full" }, - "parse": { - "us": 815.0, + "SAX": { + "us": 459.7, "level": "full" }, "parser (reused)": { - "us": 815.8, + "us": 835.5, + "level": "full" + }, + "parse": { + "us": 839.3, "level": "full" } } @@ -4780,55 +4780,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1118.2, + "us": 1140.7, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 525.3, + "us": 532.4, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1212.3, + "us": 1229.2, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1055.6, + "us": 1079.5, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 525.3, + "us": 532.4, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 967.0, + "us": 982.5, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1055.6, + "us": 1079.5, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1059.4, + "us": 1082.4, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1118.2, + "us": 1140.7, "level": "full" }, "SAX": { - "us": 1132.6, - "level": "full" - }, - "Document": { - "us": 1212.2, + "us": 1148.3, "level": "full" }, "Document (reused allocator)": { - "us": 1212.3, + "us": 1229.2, + "level": "full" + }, + "Document": { + "us": 1239.6, "level": "full" } } @@ -4922,31 +4922,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 365.7, + "us": 371.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 365.7, + "us": 371.2, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 365.1, + "us": 371.0, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 365.1, + "us": 371.0, "level": "full" }, "variants": { "read (reused)": { - "us": 365.1, + "us": 371.0, "level": "full" }, "parse": { - "us": 365.7, + "us": 371.2, "level": "full" } } @@ -4954,23 +4954,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 790.8, + "us": 797.3, "level": "full" }, "best_any": { "variant": "sax", - "us": 790.8, + "us": 797.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 790.8, + "us": 797.3, "level": "full" }, "parse": { - "us": 2403.6, + "us": 2444.5, "level": "full" } } @@ -4978,35 +4978,35 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 375.1, + "us": 386.9, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 375.1, + "us": 386.9, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 379.1, + "us": 386.3, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 379.1, + "us": 386.3, "level": "full" }, "variants": { + "read (reused allocator)": { + "us": 386.3, + "level": "full" + }, "insitu (copy)": { - "us": 375.1, + "us": 386.9, "level": "full" }, "read": { - "us": 378.7, - "level": "full" - }, - "read (reused allocator)": { - "us": 379.1, + "us": 387.5, "level": "full" } } @@ -5014,39 +5014,39 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 435.9, + "us": 445.8, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 435.9, + "us": 445.8, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 438.5, + "us": 447.3, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 438.5, + "us": 447.3, "level": "full" }, "variants": { "On-Demand": { - "us": 435.9, + "us": 445.8, "level": "full" }, "On-Demand (reused)": { - "us": 438.5, + "us": 447.3, "level": "full" }, "DOM (reused)": { - "us": 451.9, + "us": 460.0, "level": "full" }, "DOM": { - "us": 452.3, + "us": 461.8, "level": "full" } } @@ -5055,14 +5055,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 643.6, + "us": 654.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 643.6, + "us": 654.3, "level": "no UTF-8" } } @@ -5070,35 +5070,35 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 1711.2, + "us": 1747.0, "level": "full" }, "best_any": { "variant": "generic (double)", - "us": 1710.2, + "us": 1739.5, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "generic (double)": { - "us": 1710.2, + "us": 1739.5, "level": "partial" }, "generic (double, strict)": { - "us": 1711.2, + "us": 1747.0, "level": "full" }, "generic (strict)": { - "us": 2488.5, + "us": 2506.0, "level": "full" }, "generic": { - "us": 2491.8, + "us": 2523.7, "level": "partial" }, "lazy_json": { - "us": 2632.1, + "us": 2689.2, "level": "partial" } }, @@ -5109,39 +5109,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 455.6, + "us": 464.0, "level": "full" }, "best_any": { "variant": "SAX", - "us": 455.6, + "us": 464.0, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 455.4, + "us": 464.2, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 455.4, + "us": 464.2, "level": "full" }, "variants": { - "SAX (reused)": { - "us": 455.4, + "SAX": { + "us": 464.0, "level": "full" }, - "SAX": { - "us": 455.6, + "SAX (reused)": { + "us": 464.2, "level": "full" }, "parser (reused)": { - "us": 1031.0, + "us": 1054.0, "level": "full" }, "parse": { - "us": 1034.5, + "us": 1055.8, "level": "full" } } @@ -5149,55 +5149,55 @@ "RapidJSON": { "best": { "variant": "SAX", - "us": 1123.4, + "us": 1151.5, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 850.1, + "us": 869.7, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1332.2, + "us": 1357.4, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1241.5, + "us": 1264.8, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 850.1, + "us": 869.7, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 1025.7, + "us": 1041.3, "level": "no UTF-8" }, "SAX": { - "us": 1123.4, + "us": 1151.5, "level": "full" }, "insitu (copy)": { - "us": 1207.4, + "us": 1230.2, "level": "full" }, "Document (no encoding check)": { - "us": 1234.7, + "us": 1263.9, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1241.5, + "us": 1264.8, "level": "no UTF-8" }, "Document": { - "us": 1313.7, + "us": 1344.6, "level": "full" }, "Document (reused allocator)": { - "us": 1332.2, + "us": 1357.4, "level": "full" } } @@ -5293,35 +5293,35 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 180.5, + "us": 185.9, "level": "full" }, "best_any": { "variant": "parse", - "us": 180.5, + "us": 185.9, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 179.3, + "us": 179.6, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 179.3, + "us": 179.6, "level": "full" }, "variants": { "read (reused)": { - "us": 179.3, + "us": 179.6, "level": "full" }, "parse": { - "us": 180.5, + "us": 185.9, "level": "full" }, "structs (from_json)": { - "us": 185.3, + "us": 188.2, "level": "full" } } @@ -5329,23 +5329,23 @@ "nlohmann json": { "best": { "variant": "parse", - "us": 1358.0, + "us": 1360.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 1358.0, + "us": 1360.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 1358.0, + "us": 1360.2, "level": "full" }, "structs (from_json)": { - "us": 1362.7, + "us": 1364.1, "level": "full" } } @@ -5353,39 +5353,39 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 188.2, + "us": 190.7, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 188.2, + "us": 190.7, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 194.5, + "us": 193.3, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 194.5, + "us": 193.3, "level": "full" }, "variants": { "insitu (copy)": { - "us": 188.2, - "level": "full" - }, - "read": { - "us": 191.8, + "us": 190.7, "level": "full" }, "read (reused allocator)": { - "us": 194.5, + "us": 193.3, + "level": "full" + }, + "read": { + "us": 195.0, "level": "full" }, "read (raw numbers)": { - "us": 205.2, + "us": 205.8, "level": "full" } } @@ -5393,47 +5393,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 195.6, + "us": 202.5, "level": "full" }, "best_any": { "variant": "On-Demand structs", - "us": 125.4, + "us": 128.2, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 202.1, + "us": 206.0, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 136.2, + "us": 139.0, "level": "partial" }, "variants": { "On-Demand structs": { - "us": 125.4, + "us": 128.2, "level": "partial" }, "On-Demand (key selectors)": { - "us": 128.8, + "us": 133.7, "level": "partial" }, "On-Demand (reused)": { - "us": 136.2, + "us": 139.0, "level": "partial" }, "On-Demand": { - "us": 137.5, + "us": 139.2, "level": "partial" }, "DOM": { - "us": 195.6, + "us": 202.5, "level": "full" }, "DOM (reused)": { - "us": 202.1, + "us": 206.0, "level": "full" } } @@ -5442,14 +5442,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 384.0, + "us": 385.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 384.0, + "us": 385.0, "level": "no UTF-8" } } @@ -5457,44 +5457,44 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 310.0, + "us": 312.8, "level": "full" }, "best_any": { "variant": "structs", - "us": 238.1, + "us": 239.0, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 238.1, + "us": 239.0, "level": "partial" }, "structs (validate_skipped)": { - "us": 310.0, + "us": 312.8, "level": "full" }, "lazy_json": { - "us": 711.2, + "us": 692.8, + "level": "partial" + }, + "generic (double)": { + "us": 980.2, "level": "partial" }, "generic (double, strict)": { - "us": 981.9, + "us": 983.5, "level": "full" }, - "generic (double)": { - "us": 982.4, - "level": "partial" - }, - "generic": { - "us": 1332.2, - "level": "partial" - }, "generic (strict)": { - "us": 1334.0, + "us": 1333.4, "level": "full" + }, + "generic": { + "us": 1338.0, + "level": "partial" } }, "excluded": { @@ -5504,35 +5504,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 622.0, + "us": 619.5, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 622.0, + "us": 619.5, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 875.8, + "us": 878.3, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 875.8, + "us": 878.3, "level": "full" }, "variants": { "parse_into structs": { - "us": 622.0, + "us": 619.5, "level": "full" }, "parser (reused)": { - "us": 875.8, + "us": 878.3, "level": "full" }, "parse": { - "us": 876.0, + "us": 880.9, "level": "full" } }, @@ -5543,55 +5543,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1314.3, + "us": 1315.7, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 697.9, + "us": 702.1, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1352.6, + "us": 1363.6, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1185.0, + "us": 1187.4, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 697.9, + "us": 702.1, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1185.0, + "us": 1187.4, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1190.2, + "us": 1198.3, "level": "no UTF-8" }, "Document (raw numbers) (no encoding check)": { - "us": 1199.8, + "us": 1210.5, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1314.3, - "level": "full" - }, - "Document (reused allocator)": { - "us": 1352.6, + "us": 1315.7, "level": "full" }, "Document": { - "us": 1359.5, + "us": 1356.3, + "level": "full" + }, + "Document (reused allocator)": { + "us": 1363.6, "level": "full" }, "Document (raw numbers)": { - "us": 1360.3, + "us": 1368.8, "level": "full" } } @@ -5677,35 +5677,35 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 363.4, + "us": 362.7, "level": "full" }, "best_any": { "variant": "parse", - "us": 363.4, + "us": 362.7, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 362.2, + "us": 362.7, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 362.2, + "us": 362.7, "level": "full" }, "variants": { - "read (reused)": { - "us": 362.2, + "parse": { + "us": 362.7, "level": "full" }, - "parse": { - "us": 363.4, + "read (reused)": { + "us": 362.7, "level": "full" }, "structs (from_json)": { - "us": 379.3, + "us": 378.8, "level": "full" } } @@ -5713,63 +5713,63 @@ "nlohmann json": { "best": { "variant": "parse", - "us": 2413.8, + "us": 2407.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 2413.8, + "us": 2407.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 2413.8, + "us": 2407.2, "level": "full" }, "structs (from_json)": { - "us": 2419.3, + "us": 2408.7, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 474.8, + "variant": "read", + "us": 475.5, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 474.8, + "variant": "read", + "us": 475.5, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 490.7, + "us": 490.8, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 490.7, + "us": 490.8, "level": "full" }, "variants": { - "insitu (copy)": { - "us": 474.8, + "read": { + "us": 475.5, "level": "full" }, - "read": { - "us": 479.5, + "insitu (copy)": { + "us": 478.0, "level": "full" }, "read (reused allocator)": { - "us": 490.7, + "us": 490.8, "level": "full" }, "read (raw numbers)": { - "us": 536.5, + "us": 539.6, "level": "full" } } @@ -5777,47 +5777,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 441.2, + "us": 453.7, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 346.0, + "us": 353.3, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 442.8, + "us": 451.8, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 346.2, + "us": 351.5, "level": "partial" }, "variants": { - "On-Demand": { - "us": 346.0, + "On-Demand (reused)": { + "us": 351.5, "level": "partial" }, - "On-Demand (reused)": { - "us": 346.2, + "On-Demand": { + "us": 353.3, "level": "partial" }, "On-Demand (key selectors)": { - "us": 350.6, + "us": 358.0, "level": "partial" }, "On-Demand structs": { - "us": 366.0, + "us": 372.1, "level": "partial" }, - "DOM": { - "us": 441.2, + "DOM (reused)": { + "us": 451.8, "level": "full" }, - "DOM (reused)": { - "us": 442.8, + "DOM": { + "us": 453.7, "level": "full" } } @@ -5826,14 +5826,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 989.7, + "us": 990.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 989.7, + "us": 990.8, "level": "no UTF-8" } } @@ -5841,23 +5841,23 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 846.5, + "us": 849.2, "level": "full" }, "best_any": { "variant": "structs", - "us": 252.1, + "us": 257.5, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 252.1, + "us": 257.5, "level": "partial" }, "structs (validate_skipped)": { - "us": 846.5, + "us": 849.2, "level": "full" }, "generic (double, strict)": { @@ -5865,19 +5865,19 @@ "level": "full" }, "generic (double)": { - "us": 1953.8, + "us": 1952.2, "level": "partial" }, "generic (strict)": { - "us": 2746.5, + "us": 2740.9, "level": "full" }, "generic": { - "us": 2750.7, + "us": 2753.3, "level": "partial" }, "lazy_json": { - "us": 5139.2, + "us": 5165.1, "level": "partial" } }, @@ -5888,35 +5888,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 1203.8, + "us": 1205.2, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 1203.8, + "us": 1205.2, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 1483.1, + "us": 1494.7, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 1483.1, + "us": 1494.7, "level": "full" }, "variants": { "parse_into structs": { - "us": 1203.8, + "us": 1205.2, "level": "full" }, "parser (reused)": { - "us": 1483.1, + "us": 1494.7, "level": "full" }, "parse": { - "us": 1484.3, + "us": 1495.2, "level": "full" } }, @@ -5927,55 +5927,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1565.8, + "us": 1568.8, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1140.8, + "us": 1168.6, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1687.1, + "us": 1694.4, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1615.0, + "us": 1616.8, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1140.8, + "us": 1168.6, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1565.8, + "us": 1568.8, "level": "full" }, - "Document (no encoding check)": { - "us": 1611.3, + "Document (reused allocator) (no encoding check)": { + "us": 1616.8, "level": "no UTF-8" }, - "Document (reused allocator) (no encoding check)": { - "us": 1615.0, + "Document (no encoding check)": { + "us": 1617.4, + "level": "no UTF-8" + }, + "Document (raw numbers) (no encoding check)": { + "us": 1688.7, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1687.1, + "us": 1694.4, "level": "full" }, "Document": { - "us": 1690.4, + "us": 1705.4, "level": "full" }, - "Document (raw numbers) (no encoding check)": { - "us": 1694.3, - "level": "no UTF-8" - }, "Document (raw numbers)": { - "us": 1776.5, + "us": 1769.4, "level": "full" } } @@ -6061,35 +6061,35 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 959.3, + "us": 927.5, "level": "full" }, "best_any": { "variant": "parse", - "us": 959.3, + "us": 927.5, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 959.1, + "us": 927.6, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 959.1, + "us": 927.6, "level": "full" }, "variants": { - "read (reused)": { - "us": 959.1, + "parse": { + "us": 927.5, "level": "full" }, - "parse": { - "us": 959.3, + "read (reused)": { + "us": 927.6, "level": "full" }, "structs (from_json)": { - "us": 959.6, + "us": 927.9, "level": "full" } } @@ -6097,23 +6097,23 @@ "nlohmann json": { "best": { "variant": "structs (from_json)", - "us": 5876.2, + "us": 6040.6, "level": "full" }, "best_any": { "variant": "structs (from_json)", - "us": 5876.2, + "us": 6040.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (from_json)": { - "us": 5876.2, + "us": 6040.6, "level": "full" }, "parse": { - "us": 5878.0, + "us": 6046.2, "level": "full" } } @@ -6121,39 +6121,39 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 1487.8, + "us": 1489.8, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 1487.8, + "us": 1489.8, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 1491.7, + "us": 1490.6, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 1491.7, + "us": 1490.6, "level": "full" }, "variants": { "insitu (copy)": { - "us": 1487.8, - "level": "full" - }, - "read": { - "us": 1489.4, + "us": 1489.8, "level": "full" }, "read (reused allocator)": { - "us": 1491.7, + "us": 1490.6, + "level": "full" + }, + "read": { + "us": 1498.0, "level": "full" }, "read (raw numbers)": { - "us": 1720.4, + "us": 1730.4, "level": "full" } } @@ -6161,47 +6161,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 1883.4, + "us": 1885.6, "level": "full" }, "best_any": { - "variant": "On-Demand", - "us": 564.3, + "variant": "On-Demand (key selectors)", + "us": 565.8, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 1881.8, + "us": 1886.9, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 564.1, + "us": 565.1, "level": "partial" }, "variants": { "On-Demand (reused)": { - "us": 564.1, - "level": "partial" - }, - "On-Demand": { - "us": 564.3, + "us": 565.1, "level": "partial" }, "On-Demand (key selectors)": { - "us": 564.8, + "us": 565.8, + "level": "partial" + }, + "On-Demand": { + "us": 566.0, "level": "partial" }, "On-Demand structs": { - "us": 693.2, + "us": 694.6, "level": "partial" }, - "DOM (reused)": { - "us": 1881.8, + "DOM": { + "us": 1885.6, "level": "full" }, - "DOM": { - "us": 1883.4, + "DOM (reused)": { + "us": 1886.9, "level": "full" } } @@ -6210,14 +6210,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 2575.5, + "us": 2585.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 2575.5, + "us": 2585.3, "level": "no UTF-8" } } @@ -6225,44 +6225,44 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 1303.9, + "us": 1302.1, "level": "full" }, "best_any": { "variant": "structs", - "us": 310.1, + "us": 310.4, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 310.1, + "us": 310.4, "level": "partial" }, "structs (validate_skipped)": { - "us": 1303.9, + "us": 1302.1, "level": "full" }, "lazy_json": { - "us": 2103.1, + "us": 1993.7, "level": "partial" }, "generic (double, strict)": { - "us": 5856.1, + "us": 5901.6, "level": "full" }, "generic (double)": { - "us": 5933.6, - "level": "partial" - }, - "generic": { - "us": 9204.1, + "us": 5974.2, "level": "partial" }, "generic (strict)": { - "us": 9235.2, + "us": 9227.3, "level": "full" + }, + "generic": { + "us": 9231.1, + "level": "partial" } }, "excluded": { @@ -6272,35 +6272,35 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 3620.6, + "us": 3633.5, "level": "full" }, "best_any": { "variant": "parse", - "us": 3620.6, + "us": 3633.5, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 3610.0, + "us": 3616.4, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 3610.0, + "us": 3616.4, "level": "full" }, "variants": { "parser (reused)": { - "us": 3610.0, + "us": 3616.4, "level": "full" }, "parse": { - "us": 3620.6, + "us": 3633.5, "level": "full" }, "parse_into structs": { - "us": 3763.8, + "us": 3768.2, "level": "full" } }, @@ -6311,56 +6311,56 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 6753.9, + "us": 6799.5, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 6753.9, - "level": "full" + "variant": "insitu (copy) (no encoding check)", + "us": 6799.1, + "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 7284.7, + "us": 7349.4, "level": "full" }, "best_reused_any": { - "variant": "Document (reused allocator)", - "us": 7284.7, - "level": "full" + "variant": "Document (reused allocator) (no encoding check)", + "us": 7341.9, + "level": "no UTF-8" }, "variants": { - "insitu (copy)": { - "us": 6753.9, - "level": "full" - }, "insitu (copy) (no encoding check)": { - "us": 6759.0, + "us": 6799.1, "level": "no UTF-8" }, - "Document (reused allocator)": { - "us": 7284.7, + "insitu (copy)": { + "us": 6799.5, "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 7287.8, + "us": 7341.9, "level": "no UTF-8" }, - "Document (no encoding check)": { - "us": 7322.6, - "level": "no UTF-8" - }, - "Document": { - "us": 7324.1, + "Document (reused allocator)": { + "us": 7349.4, "level": "full" }, - "Document (raw numbers) (no encoding check)": { - "us": 9352.6, + "Document": { + "us": 7359.5, + "level": "full" + }, + "Document (no encoding check)": { + "us": 7376.4, "level": "no UTF-8" }, "Document (raw numbers)": { - "us": 9398.2, + "us": 9444.0, "level": "full" + }, + "Document (raw numbers) (no encoding check)": { + "us": 9469.7, + "level": "no UTF-8" } } }, @@ -6445,35 +6445,35 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 24367.0, + "us": 25032.1, "level": "full" }, "best_any": { "variant": "parse", - "us": 24367.0, + "us": 25032.1, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 23950.1, + "us": 24617.8, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 23950.1, + "us": 24617.8, "level": "full" }, "variants": { "read (reused)": { - "us": 23950.1, + "us": 24617.8, "level": "full" }, "parse": { - "us": 24367.0, + "us": 25032.1, "level": "full" }, "structs (from_json)": { - "us": 30140.7, + "us": 30873.2, "level": "full" } } @@ -6481,23 +6481,23 @@ "nlohmann json": { "best": { "variant": "parse", - "us": 176913.6, + "us": 180705.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 176913.6, + "us": 180705.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 176913.6, + "us": 180705.2, "level": "full" }, "structs (from_json)": { - "us": 178319.2, + "us": 182467.2, "level": "full" } } @@ -6505,39 +6505,39 @@ "yyjson": { "best": { "variant": "read (raw numbers)", - "us": 32021.5, + "us": 33077.5, "level": "full" }, "best_any": { "variant": "read (raw numbers)", - "us": 32021.5, + "us": 33077.5, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 33191.3, + "us": 33788.2, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 33191.3, + "us": 33788.2, "level": "full" }, "variants": { "read (raw numbers)": { - "us": 32021.5, - "level": "full" - }, - "insitu (copy)": { - "us": 32777.8, + "us": 33077.5, "level": "full" }, "read": { - "us": 33155.4, + "us": 33709.1, "level": "full" }, "read (reused allocator)": { - "us": 33191.3, + "us": 33788.2, + "level": "full" + }, + "insitu (copy)": { + "us": 33901.2, "level": "full" } } @@ -6545,47 +6545,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 30127.2, + "us": 30891.8, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 19233.8, + "us": 19832.2, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 30086.1, + "us": 30849.8, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 19223.4, + "us": 19444.8, "level": "partial" }, "variants": { "On-Demand (reused)": { - "us": 19223.4, + "us": 19444.8, "level": "partial" }, "On-Demand": { - "us": 19233.8, + "us": 19832.2, "level": "partial" }, "On-Demand (key selectors)": { - "us": 21618.9, + "us": 22174.0, "level": "partial" }, "On-Demand structs": { - "us": 26944.0, + "us": 27758.5, "level": "partial" }, "DOM (reused)": { - "us": 30086.1, + "us": 30849.8, "level": "full" }, "DOM": { - "us": 30127.2, + "us": 30891.8, "level": "full" } } @@ -6594,14 +6594,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 45060.5, + "us": 46396.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 45060.5, + "us": 46396.5, "level": "no UTF-8" } } @@ -6609,44 +6609,44 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 46082.1, + "us": 47314.8, "level": "full" }, "best_any": { "variant": "structs", - "us": 36025.3, + "us": 37142.8, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 36025.3, + "us": 37142.8, "level": "partial" }, "structs (validate_skipped)": { - "us": 46082.1, + "us": 47314.8, "level": "full" }, "generic (double, strict)": { - "us": 94437.1, + "us": 95804.7, "level": "full" }, "generic (double)": { - "us": 94447.5, + "us": 96031.6, "level": "partial" }, "lazy_json": { - "us": 98217.2, - "level": "partial" - }, - "generic": { - "us": 137635.2, + "us": 101320.8, "level": "partial" }, "generic (strict)": { - "us": 138503.8, + "us": 139642.2, "level": "full" + }, + "generic": { + "us": 140696.5, + "level": "partial" } }, "excluded": { @@ -6656,35 +6656,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 66724.7, + "us": 67861.2, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 66724.7, + "us": 67861.2, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 93693.1, + "us": 95851.9, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 93693.1, + "us": 95851.9, "level": "full" }, "variants": { "parse_into structs": { - "us": 66724.7, + "us": 67861.2, "level": "full" }, "parser (reused)": { - "us": 93693.1, + "us": 95851.9, "level": "full" }, "parse": { - "us": 93845.9, + "us": 97058.1, "level": "full" } }, @@ -6695,55 +6695,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 142107.8, + "us": 145957.9, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 66119.7, + "us": 68045.2, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 156732.5, + "us": 160854.2, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 142599.5, + "us": 147010.8, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 66119.7, + "us": 68045.2, "level": "no UTF-8" }, "insitu (copy)": { - "us": 142107.8, + "us": 145957.9, "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 142599.5, - "level": "no UTF-8" - }, - "Document (no encoding check)": { - "us": 145343.2, + "us": 147010.8, "level": "no UTF-8" }, "Document (raw numbers) (no encoding check)": { - "us": 145384.2, + "us": 148843.0, + "level": "no UTF-8" + }, + "Document (no encoding check)": { + "us": 149432.4, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 156732.5, + "us": 160854.2, "level": "full" }, "Document": { - "us": 157162.0, + "us": 162240.4, "level": "full" }, "Document (raw numbers)": { - "us": 158371.3, + "us": 162931.6, "level": "full" } } @@ -6857,7 +6857,7 @@ "level": "full" }, "structs (from_json)": { - "us": 1.0, + "us": 1.1, "level": "full" } } @@ -6865,23 +6865,23 @@ "nlohmann json": { "best": { "variant": "parse", - "us": 7.5, + "us": 7.7, "level": "full" }, "best_any": { "variant": "parse", - "us": 7.5, + "us": 7.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 7.5, + "us": 7.7, "level": "full" }, "structs (from_json)": { - "us": 7.5, + "us": 7.7, "level": "full" } } @@ -6921,7 +6921,7 @@ "level": "full" }, "read (raw numbers)": { - "us": 1.1, + "us": 1.2, "level": "full" } } @@ -6929,12 +6929,12 @@ "simdjson": { "best": { "variant": "DOM", - "us": 1.1, + "us": 1.2, "level": "full" }, "best_any": { - "variant": "On-Demand (key selectors)", - "us": 0.7, + "variant": "On-Demand structs", + "us": 0.8, "level": "partial" }, "best_reused": { @@ -6948,10 +6948,6 @@ "level": "partial" }, "variants": { - "On-Demand (key selectors)": { - "us": 0.7, - "level": "partial" - }, "On-Demand (reused)": { "us": 0.8, "level": "partial" @@ -6960,6 +6956,10 @@ "us": 0.8, "level": "partial" }, + "On-Demand (key selectors)": { + "us": 0.8, + "level": "partial" + }, "DOM (reused)": { "us": 1.0, "level": "full" @@ -6969,7 +6969,7 @@ "level": "partial" }, "DOM": { - "us": 1.1, + "us": 1.2, "level": "full" } } @@ -6998,14 +6998,14 @@ }, "best_any": { "variant": "structs", - "us": 1.1, + "us": 1.2, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 1.1, + "us": 1.2, "level": "partial" }, "structs (validate_skipped)": { @@ -7017,19 +7017,19 @@ "level": "partial" }, "generic (double)": { - "us": 5.1, + "us": 5.2, "level": "partial" }, "generic (double, strict)": { - "us": 5.1, + "us": 5.2, "level": "full" }, "generic": { - "us": 7.0, + "us": 7.2, "level": "partial" }, "generic (strict)": { - "us": 7.0, + "us": 7.2, "level": "full" } }, @@ -7050,12 +7050,12 @@ }, "best_reused": { "variant": "parser (reused)", - "us": 3.5, + "us": 3.6, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 3.5, + "us": 3.6, "level": "full" }, "variants": { @@ -7064,11 +7064,11 @@ "level": "full" }, "parser (reused)": { - "us": 3.5, + "us": 3.6, "level": "full" }, "parse": { - "us": 3.8, + "us": 3.9, "level": "full" } }, @@ -7079,55 +7079,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 6.4, + "us": 6.5, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 2.6, + "us": 2.7, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 6.3, + "us": 6.4, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 5.4, + "us": 5.5, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 2.6, + "us": 2.7, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 5.4, + "us": 5.5, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 5.9, + "us": 6.0, "level": "no UTF-8" }, "Document (raw numbers) (no encoding check)": { - "us": 6.1, + "us": 6.2, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 6.3, - "level": "full" - }, - "insitu (copy)": { "us": 6.4, "level": "full" }, + "insitu (copy)": { + "us": 6.5, + "level": "full" + }, "Document": { - "us": 6.8, + "us": 6.9, "level": "full" }, "Document (raw numbers)": { - "us": 6.9, + "us": 7.0, "level": "full" } } @@ -7213,99 +7213,99 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 161.8, + "us": 164.6, "level": "full" }, "best_any": { "variant": "parse", - "us": 161.8, + "us": 164.6, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 161.4, + "us": 163.6, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 161.4, + "us": 163.6, "level": "full" }, "variants": { "read (reused)": { - "us": 161.4, + "us": 163.6, "level": "full" }, "parse": { - "us": 161.8, + "us": 164.6, "level": "full" }, "structs (from_json)": { - "us": 165.4, + "us": 168.5, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "structs (from_json)", - "us": 1321.8, + "variant": "parse", + "us": 1337.4, "level": "full" }, "best_any": { - "variant": "structs (from_json)", - "us": 1321.8, + "variant": "parse", + "us": 1337.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "structs (from_json)": { - "us": 1321.8, + "parse": { + "us": 1337.4, "level": "full" }, - "parse": { - "us": 1323.4, + "structs (from_json)": { + "us": 1338.3, "level": "full" } } }, "yyjson": { "best": { - "variant": "read", - "us": 167.2, + "variant": "insitu (copy)", + "us": 170.8, "level": "full" }, "best_any": { - "variant": "read", - "us": 167.2, + "variant": "insitu (copy)", + "us": 170.8, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 167.3, + "us": 166.9, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 167.3, + "us": 166.9, "level": "full" }, "variants": { - "read": { - "us": 167.2, - "level": "full" - }, "read (reused allocator)": { - "us": 167.3, + "us": 166.9, "level": "full" }, "insitu (copy)": { - "us": 168.4, + "us": 170.8, + "level": "full" + }, + "read": { + "us": 171.4, "level": "full" }, "read (raw numbers)": { - "us": 185.4, + "us": 187.2, "level": "full" } } @@ -7313,47 +7313,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 174.8, + "us": 180.8, "level": "full" }, "best_any": { "variant": "On-Demand structs", - "us": 106.5, + "us": 110.6, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 177.8, + "us": 185.4, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 116.8, + "us": 120.6, "level": "partial" }, "variants": { "On-Demand structs": { - "us": 106.5, + "us": 110.6, "level": "partial" }, "On-Demand (key selectors)": { - "us": 110.2, + "us": 112.9, "level": "partial" }, "On-Demand": { - "us": 115.9, + "us": 119.6, "level": "partial" }, "On-Demand (reused)": { - "us": 116.8, + "us": 120.6, "level": "partial" }, "DOM": { - "us": 174.8, + "us": 180.8, "level": "full" }, "DOM (reused)": { - "us": 177.8, + "us": 185.4, "level": "full" } } @@ -7362,14 +7362,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 261.2, + "us": 266.7, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 261.2, + "us": 266.7, "level": "no UTF-8" } } @@ -7377,44 +7377,44 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 262.8, + "us": 269.0, "level": "full" }, "best_any": { "variant": "structs", - "us": 216.0, + "us": 219.9, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 216.0, + "us": 219.9, "level": "partial" }, "structs (validate_skipped)": { - "us": 262.8, + "us": 269.0, "level": "full" }, "lazy_json": { - "us": 439.2, + "us": 436.0, "level": "partial" }, "generic (double, strict)": { - "us": 887.8, + "us": 885.6, "level": "full" }, "generic (double)": { - "us": 891.7, - "level": "partial" - }, - "generic": { - "us": 1223.0, + "us": 901.8, "level": "partial" }, "generic (strict)": { - "us": 1225.2, + "us": 1241.5, "level": "full" + }, + "generic": { + "us": 1242.0, + "level": "partial" } }, "excluded": { @@ -7424,35 +7424,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 541.4, + "us": 548.7, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 541.4, + "us": 548.7, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 782.9, + "us": 794.3, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 782.9, + "us": 794.3, "level": "full" }, "variants": { "parse_into structs": { - "us": 541.4, + "us": 548.7, "level": "full" }, "parser (reused)": { - "us": 782.9, + "us": 794.3, "level": "full" }, "parse": { - "us": 791.7, + "us": 803.9, "level": "full" } }, @@ -7463,55 +7463,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1076.2, + "us": 1095.2, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 482.0, + "us": 484.4, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1167.5, + "us": 1183.7, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1013.7, + "us": 1031.8, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 482.0, + "us": 484.4, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1013.7, + "us": 1031.8, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1020.2, + "us": 1036.8, "level": "no UTF-8" }, "Document (raw numbers) (no encoding check)": { - "us": 1037.1, + "us": 1057.7, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1076.2, + "us": 1095.2, "level": "full" }, "Document (reused allocator)": { - "us": 1167.5, + "us": 1183.7, "level": "full" }, "Document": { - "us": 1168.5, + "us": 1194.1, "level": "full" }, "Document (raw numbers)": { - "us": 1187.3, + "us": 1209.2, "level": "full" } } @@ -7597,35 +7597,35 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 246.9, + "us": 250.4, "level": "full" }, "best_any": { "variant": "parse", - "us": 246.9, + "us": 250.4, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 246.8, + "us": 250.1, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 246.8, + "us": 250.1, "level": "full" }, "variants": { "read (reused)": { - "us": 246.8, + "us": 250.1, "level": "full" }, "parse": { - "us": 246.9, + "us": 250.4, "level": "full" }, "structs (from_json)": { - "us": 262.7, + "us": 266.5, "level": "full" } } @@ -7633,63 +7633,63 @@ "nlohmann json": { "best": { "variant": "parse", - "us": 2283.7, + "us": 2321.0, "level": "full" }, "best_any": { "variant": "parse", - "us": 2283.7, + "us": 2321.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 2283.7, + "us": 2321.0, "level": "full" }, "structs (from_json)": { - "us": 2288.7, + "us": 2329.0, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 284.8, + "variant": "read", + "us": 290.6, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 284.8, + "variant": "read", + "us": 290.6, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 289.2, + "us": 291.0, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 289.2, + "us": 291.0, "level": "full" }, "variants": { - "insitu (copy)": { - "us": 284.8, - "level": "full" - }, "read": { - "us": 288.3, + "us": 290.6, "level": "full" }, "read (reused allocator)": { - "us": 289.2, + "us": 291.0, + "level": "full" + }, + "insitu (copy)": { + "us": 291.1, "level": "full" }, "read (raw numbers)": { - "us": 344.1, + "us": 349.8, "level": "full" } } @@ -7697,47 +7697,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 320.0, + "us": 328.3, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 218.8, + "us": 223.8, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 318.4, + "us": 325.5, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 217.7, + "us": 223.4, "level": "partial" }, "variants": { "On-Demand (reused)": { - "us": 217.7, + "us": 223.4, "level": "partial" }, "On-Demand": { - "us": 218.8, - "level": "partial" - }, - "On-Demand (key selectors)": { "us": 223.8, "level": "partial" }, + "On-Demand (key selectors)": { + "us": 228.0, + "level": "partial" + }, "On-Demand structs": { - "us": 236.7, + "us": 242.8, "level": "partial" }, "DOM (reused)": { - "us": 318.4, + "us": 325.5, "level": "full" }, "DOM": { - "us": 320.0, + "us": 328.3, "level": "full" } } @@ -7746,14 +7746,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 548.0, + "us": 558.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 548.0, + "us": 558.4, "level": "no UTF-8" } } @@ -7761,43 +7761,43 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 469.3, + "us": 480.0, "level": "full" }, "best_any": { "variant": "structs", - "us": 128.5, + "us": 131.9, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 128.5, + "us": 131.9, "level": "partial" }, "structs (validate_skipped)": { - "us": 469.3, + "us": 480.0, "level": "full" }, "lazy_json": { - "us": 1278.0, + "us": 1290.9, + "level": "partial" + }, + "generic (double)": { + "us": 1640.1, "level": "partial" }, "generic (double, strict)": { - "us": 1604.8, + "us": 1641.1, "level": "full" }, - "generic (double)": { - "us": 1606.9, - "level": "partial" - }, "generic (strict)": { - "us": 2385.6, + "us": 2412.0, "level": "full" }, "generic": { - "us": 2390.5, + "us": 2421.1, "level": "partial" } }, @@ -7808,35 +7808,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 688.8, + "us": 703.9, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 688.8, + "us": 703.9, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 946.8, + "us": 967.0, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 946.8, + "us": 967.0, "level": "full" }, "variants": { "parse_into structs": { - "us": 688.8, + "us": 703.9, "level": "full" }, "parser (reused)": { - "us": 946.8, + "us": 967.0, "level": "full" }, "parse": { - "us": 950.0, + "us": 970.0, "level": "full" } }, @@ -7847,55 +7847,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1107.5, + "us": 1131.0, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 746.5, + "us": 766.8, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1234.4, + "us": 1255.6, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1141.9, + "us": 1161.8, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 746.5, + "us": 766.8, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1107.5, + "us": 1131.0, "level": "full" }, "Document (no encoding check)": { - "us": 1134.5, + "us": 1160.5, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1141.9, + "us": 1161.8, "level": "no UTF-8" }, "Document": { - "us": 1211.4, + "us": 1237.7, "level": "full" }, "Document (reused allocator)": { - "us": 1234.4, + "us": 1255.6, "level": "full" }, "Document (raw numbers) (no encoding check)": { - "us": 1356.5, + "us": 1383.4, "level": "no UTF-8" }, "Document (raw numbers)": { - "us": 1423.5, + "us": 1457.2, "level": "full" } } @@ -7982,24 +7982,24 @@ "twitter": { "nlohmann json_document": { "best": { - "variant": "editable (source numbers)", - "us": 281.8, + "variant": "editable", + "us": 283.0, "level": "full" }, "best_any": { - "variant": "editable (source numbers)", - "us": 281.8, + "variant": "editable", + "us": 283.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "editable (source numbers)": { - "us": 281.8, + "editable": { + "us": 283.0, "level": "full" }, - "editable": { - "us": 283.8, + "editable (source numbers)": { + "us": 283.7, "level": "full" } } @@ -8007,23 +8007,23 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 1280.9, + "us": 1266.0, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 1280.9, + "us": 1266.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 1280.9, + "us": 1266.0, "level": "full" }, "parse": { - "us": 1624.1, + "us": 1617.0, "level": "full" } } @@ -8031,23 +8031,23 @@ "yyjson": { "best": { "variant": "mut copy", - "us": 446.3, + "us": 440.6, "level": "full" }, "best_any": { "variant": "mut copy", - "us": 446.3, + "us": 440.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "mut copy": { - "us": 446.3, + "us": 440.6, "level": "full" }, "insitu (copy) + mut copy": { - "us": 447.2, + "us": 449.2, "level": "full" } } @@ -8056,14 +8056,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 476.2, + "us": 489.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 476.2, + "us": 489.9, "level": "no UTF-8" } } @@ -8071,23 +8071,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 1529.2, + "us": 1529.1, "level": "full" }, "best_any": { "variant": "generic", - "us": 1515.5, + "us": 1523.4, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 1515.5, + "us": 1523.4, "level": "partial" }, "generic (strict)": { - "us": 1529.2, + "us": 1529.1, "level": "full" } }, @@ -8099,19 +8099,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 1363.6, + "us": 1367.0, "level": "full" }, "best_any": { "variant": "parse", - "us": 1363.6, + "us": 1367.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 1363.6, + "us": 1367.0, "level": "full" } } @@ -8119,31 +8119,31 @@ "RapidJSON": { "best": { "variant": "Document", - "us": 1916.3, + "us": 1923.9, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1351.7, + "us": 1354.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 1351.7, + "us": 1354.5, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1748.5, + "us": 1761.1, "level": "no UTF-8" }, "Document": { - "us": 1916.3, + "us": 1923.9, "level": "full" }, "insitu (copy)": { - "us": 1931.3, + "us": 1937.7, "level": "full" } } @@ -8217,23 +8217,23 @@ "nlohmann json_document": { "best": { "variant": "editable (source numbers)", - "us": 560.0, + "us": 559.5, "level": "full" }, "best_any": { "variant": "editable (source numbers)", - "us": 560.0, + "us": 559.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable (source numbers)": { - "us": 560.0, + "us": 559.5, "level": "full" }, "editable": { - "us": 560.3, + "us": 562.7, "level": "full" } } @@ -8241,23 +8241,23 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 2335.0, + "us": 2328.6, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 2335.0, + "us": 2328.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 2335.0, + "us": 2328.6, "level": "full" }, "parse": { - "us": 2720.2, + "us": 2729.2, "level": "full" } } @@ -8265,23 +8265,23 @@ "yyjson": { "best": { "variant": "insitu (copy) + mut copy", - "us": 924.0, + "us": 903.8, "level": "full" }, "best_any": { "variant": "insitu (copy) + mut copy", - "us": 924.0, + "us": 903.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) + mut copy": { - "us": 924.0, + "us": 903.8, "level": "full" }, "mut copy": { - "us": 929.8, + "us": 907.2, "level": "full" } } @@ -8290,14 +8290,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1217.5, + "us": 1228.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1217.5, + "us": 1228.8, "level": "no UTF-8" } } @@ -8305,24 +8305,24 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 3234.2, + "us": 3231.2, "level": "full" }, "best_any": { - "variant": "generic", - "us": 3229.3, - "level": "partial" + "variant": "generic (strict)", + "us": 3231.2, + "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic": { - "us": 3229.3, - "level": "partial" - }, "generic (strict)": { - "us": 3234.2, + "us": 3231.2, "level": "full" + }, + "generic": { + "us": 3236.9, + "level": "partial" } }, "excluded": { @@ -8333,19 +8333,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 1988.7, + "us": 1999.8, "level": "full" }, "best_any": { "variant": "parse", - "us": 1988.7, + "us": 1999.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 1988.7, + "us": 1999.8, "level": "full" } } @@ -8353,31 +8353,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 2396.8, + "us": 2403.9, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1968.9, + "us": 2001.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 1968.9, + "us": 2001.3, "level": "no UTF-8" }, "insitu (copy)": { - "us": 2396.8, + "us": 2403.9, "level": "full" }, "Document (no encoding check)": { - "us": 2434.8, + "us": 2450.3, "level": "no UTF-8" }, "Document": { - "us": 2510.6, + "us": 2527.0, "level": "full" } } @@ -8451,23 +8451,23 @@ "nlohmann json_document": { "best": { "variant": "editable (source numbers)", - "us": 1479.1, + "us": 1448.4, "level": "full" }, "best_any": { "variant": "editable (source numbers)", - "us": 1479.1, + "us": 1448.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable (source numbers)": { - "us": 1479.1, + "us": 1448.4, "level": "full" }, "editable": { - "us": 2761.5, + "us": 2741.0, "level": "full" } } @@ -8475,47 +8475,47 @@ "nlohmann json": { "best": { "variant": "parse", - "us": 8139.8, + "us": 8305.1, "level": "full" }, "best_any": { "variant": "parse", - "us": 8139.8, + "us": 8305.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 8139.8, + "us": 8305.1, "level": "full" }, "ordered_json": { - "us": 8158.8, + "us": 8360.3, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy) + mut copy", - "us": 3684.8, + "variant": "mut copy", + "us": 3699.7, "level": "full" }, "best_any": { - "variant": "insitu (copy) + mut copy", - "us": 3684.8, + "variant": "mut copy", + "us": 3699.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "insitu (copy) + mut copy": { - "us": 3684.8, + "mut copy": { + "us": 3699.7, "level": "full" }, - "mut copy": { - "us": 3694.3, + "insitu (copy) + mut copy": { + "us": 3717.7, "level": "full" } } @@ -8524,14 +8524,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 5619.8, + "us": 5652.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 5619.8, + "us": 5652.9, "level": "no UTF-8" } } @@ -8539,23 +8539,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 10939.3, + "us": 10937.8, "level": "full" }, "best_any": { "variant": "generic", - "us": 10910.2, + "us": 10921.1, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 10910.2, + "us": 10921.1, "level": "partial" }, "generic (strict)": { - "us": 10939.3, + "us": 10937.8, "level": "full" } }, @@ -8567,19 +8567,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 6492.5, + "us": 6557.5, "level": "full" }, "best_any": { "variant": "parse", - "us": 6492.5, + "us": 6557.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 6492.5, + "us": 6557.5, "level": "full" } } @@ -8587,31 +8587,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 13720.4, + "us": 13830.3, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 13693.8, + "us": 13824.6, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 13693.8, + "us": 13824.6, "level": "no UTF-8" }, "insitu (copy)": { - "us": 13720.4, + "us": 13830.3, "level": "full" }, "Document": { - "us": 14233.2, + "us": 14346.0, "level": "full" }, "Document (no encoding check)": { - "us": 14248.7, + "us": 14354.3, "level": "no UTF-8" } } @@ -8685,23 +8685,23 @@ "nlohmann json_document": { "best": { "variant": "editable (source numbers)", - "us": 57263.9, + "us": 58343.8, "level": "full" }, "best_any": { "variant": "editable (source numbers)", - "us": 57263.9, + "us": 58343.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable (source numbers)": { - "us": 57263.9, + "us": 58343.8, "level": "full" }, "editable": { - "us": 57380.0, + "us": 58469.5, "level": "full" } } @@ -8709,23 +8709,23 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 170559.2, + "us": 199819.1, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 170559.2, + "us": 199819.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 170559.2, + "us": 199819.1, "level": "full" }, "parse": { - "us": 242045.3, + "us": 281756.4, "level": "full" } } @@ -8733,23 +8733,23 @@ "yyjson": { "best": { "variant": "insitu (copy) + mut copy", - "us": 83706.0, + "us": 85478.1, "level": "full" }, "best_any": { "variant": "insitu (copy) + mut copy", - "us": 83706.0, + "us": 85478.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) + mut copy": { - "us": 83706.0, + "us": 85478.1, "level": "full" }, "mut copy": { - "us": 84040.3, + "us": 85521.7, "level": "full" } } @@ -8758,14 +8758,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 61631.4, + "us": 63913.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 61631.4, + "us": 63913.9, "level": "no UTF-8" } } @@ -8773,24 +8773,24 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 178985.9, + "us": 180097.8, "level": "full" }, "best_any": { - "variant": "generic", - "us": 176409.2, - "level": "partial" + "variant": "generic (strict)", + "us": 180097.8, + "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic": { - "us": 176409.2, - "level": "partial" - }, "generic (strict)": { - "us": 178985.9, + "us": 180097.8, "level": "full" + }, + "generic": { + "us": 180188.4, + "level": "partial" } }, "excluded": { @@ -8801,19 +8801,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 154518.5, + "us": 159052.7, "level": "full" }, "best_any": { "variant": "parse", - "us": 154518.5, + "us": 159052.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 154518.5, + "us": 159052.7, "level": "full" } } @@ -8821,31 +8821,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 220365.7, + "us": 226139.2, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 144422.3, + "us": 148686.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 144422.3, + "us": 148686.3, + "level": "no UTF-8" + }, + "Document (no encoding check)": { + "us": 226097.2, "level": "no UTF-8" }, "insitu (copy)": { - "us": 220365.7, + "us": 226139.2, "level": "full" }, - "Document (no encoding check)": { - "us": 220385.5, - "level": "no UTF-8" - }, "Document": { - "us": 232552.5, + "us": 239101.2, "level": "full" } } @@ -8959,7 +8959,7 @@ "level": "full" }, "parse": { - "us": 8.6, + "us": 8.7, "level": "full" } } @@ -8992,14 +8992,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 2.5, + "us": 2.6, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 2.5, + "us": 2.6, "level": "no UTF-8" } } @@ -9007,23 +9007,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 8.2, + "us": 8.4, "level": "full" }, "best_any": { "variant": "generic", - "us": 8.2, + "us": 8.4, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 8.2, + "us": 8.4, "level": "partial" }, "generic (strict)": { - "us": 8.2, + "us": 8.4, "level": "full" } }, @@ -9035,19 +9035,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 6.5, + "us": 6.6, "level": "full" }, "best_any": { "variant": "parse", - "us": 6.5, + "us": 6.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 6.5, + "us": 6.6, "level": "full" } } @@ -9055,31 +9055,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 10.2, + "us": 10.4, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 6.4, + "us": 6.6, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 6.4, + "us": 6.6, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 9.5, + "us": 9.7, "level": "no UTF-8" }, "insitu (copy)": { - "us": 10.2, + "us": 10.4, "level": "full" }, "Document": { - "us": 10.4, + "us": 10.7, "level": "full" } } @@ -9153,23 +9153,23 @@ "nlohmann json_document": { "best": { "variant": "editable (source numbers)", - "us": 260.7, + "us": 267.0, "level": "full" }, "best_any": { "variant": "editable (source numbers)", - "us": 260.7, + "us": 267.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable (source numbers)": { - "us": 260.7, + "us": 267.0, "level": "full" }, "editable": { - "us": 263.8, + "us": 267.7, "level": "full" } } @@ -9177,47 +9177,47 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 1251.4, + "us": 1252.2, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 1251.4, + "us": 1252.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 1251.4, + "us": 1252.2, "level": "full" }, "parse": { - "us": 1572.0, + "us": 1598.2, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy) + mut copy", - "us": 424.5, + "variant": "mut copy", + "us": 423.8, "level": "full" }, "best_any": { - "variant": "insitu (copy) + mut copy", - "us": 424.5, + "variant": "mut copy", + "us": 423.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "insitu (copy) + mut copy": { - "us": 424.5, + "mut copy": { + "us": 423.8, "level": "full" }, - "mut copy": { - "us": 428.4, + "insitu (copy) + mut copy": { + "us": 425.1, "level": "full" } } @@ -9226,14 +9226,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 352.2, + "us": 368.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 352.2, + "us": 368.2, "level": "no UTF-8" } } @@ -9241,23 +9241,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 1414.2, + "us": 1436.1, "level": "full" }, "best_any": { "variant": "generic", - "us": 1407.9, + "us": 1425.0, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 1407.9, + "us": 1425.0, "level": "partial" }, "generic (strict)": { - "us": 1414.2, + "us": 1436.1, "level": "full" } }, @@ -9269,19 +9269,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 1268.8, + "us": 1293.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 1268.8, + "us": 1293.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 1268.8, + "us": 1293.2, "level": "full" } } @@ -9289,31 +9289,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1679.5, + "us": 1708.5, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1131.2, + "us": 1138.6, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 1131.2, + "us": 1138.6, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1578.7, + "us": 1605.0, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1679.5, + "us": 1708.5, "level": "full" }, "Document": { - "us": 1725.1, + "us": 1747.7, "level": "full" } } @@ -9387,23 +9387,23 @@ "nlohmann json_document": { "best": { "variant": "editable (source numbers)", - "us": 443.5, + "us": 446.6, "level": "full" }, "best_any": { "variant": "editable (source numbers)", - "us": 443.5, + "us": 446.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable (source numbers)": { - "us": 443.5, + "us": 446.6, "level": "full" }, "editable": { - "us": 443.6, + "us": 450.2, "level": "full" } } @@ -9411,47 +9411,47 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 2216.8, + "us": 2214.8, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 2216.8, + "us": 2214.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 2216.8, + "us": 2214.8, "level": "full" }, "parse": { - "us": 2586.7, + "us": 2633.9, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy) + mut copy", - "us": 734.7, + "variant": "mut copy", + "us": 719.9, "level": "full" }, "best_any": { - "variant": "insitu (copy) + mut copy", - "us": 734.7, + "variant": "mut copy", + "us": 719.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "insitu (copy) + mut copy": { - "us": 734.7, + "mut copy": { + "us": 719.9, "level": "full" }, - "mut copy": { - "us": 737.0, + "insitu (copy) + mut copy": { + "us": 720.5, "level": "full" } } @@ -9460,14 +9460,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 769.4, + "us": 790.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 769.4, + "us": 790.4, "level": "no UTF-8" } } @@ -9475,24 +9475,24 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 2864.6, + "us": 2901.3, "level": "full" }, "best_any": { - "variant": "generic (strict)", - "us": 2864.6, - "level": "full" + "variant": "generic", + "us": 2901.2, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (strict)": { - "us": 2864.6, - "level": "full" - }, "generic": { - "us": 2866.2, + "us": 2901.2, "level": "partial" + }, + "generic (strict)": { + "us": 2901.3, + "level": "full" } }, "excluded": { @@ -9503,19 +9503,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 1451.5, + "us": 1480.5, "level": "full" }, "best_any": { "variant": "parse", - "us": 1451.5, + "us": 1480.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 1451.5, + "us": 1480.5, "level": "full" } } @@ -9523,31 +9523,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1932.9, + "us": 1976.2, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1574.2, + "us": 1608.6, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 1574.2, + "us": 1608.6, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1932.9, + "us": 1976.2, "level": "full" }, "Document (no encoding check)": { - "us": 1947.5, + "us": 1989.1, "level": "no UTF-8" }, "Document": { - "us": 2027.2, + "us": 2066.6, "level": "full" } } @@ -9623,35 +9623,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 254.9, + "us": 259.0, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 254.9, + "us": 259.0, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 251.5, + "us": 255.1, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 251.5, + "us": 255.1, "level": "full" }, "variants": { "read + dump (reused)": { - "us": 251.5, + "us": 255.1, "level": "full" }, "parse + dump (source numbers)": { - "us": 254.9, + "us": 259.0, "level": "full" }, "parse + dump": { - "us": 258.0, + "us": 261.0, "level": "full" } } @@ -9659,59 +9659,59 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 1591.8, + "us": 1616.0, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 1591.8, + "us": 1616.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 1591.8, + "us": 1616.0, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy) + write", - "us": 290.8, + "variant": "read + write", + "us": 298.2, "level": "full" }, "best_any": { - "variant": "insitu (copy) + write", - "us": 290.8, + "variant": "read + write", + "us": 298.2, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 296.6, + "us": 302.2, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 296.6, + "us": 302.2, "level": "full" }, "variants": { - "insitu (copy) + write": { - "us": 290.8, + "read + write": { + "us": 298.2, "level": "full" }, - "read + write": { - "us": 290.9, + "insitu (copy) + write": { + "us": 302.2, "level": "full" }, "read + write (reused allocator)": { - "us": 296.6, + "us": 302.2, "level": "full" }, "read (raw numbers) + write": { - "us": 305.5, + "us": 310.0, "level": "full" } } @@ -9719,35 +9719,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 566.0, + "us": 573.7, "level": "full" }, "best_any": { "variant": "minify", - "us": 61.3, + "us": 61.5, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 549.5, + "us": 569.6, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 549.5, + "us": 569.6, "level": "full" }, "variants": { "minify": { - "us": 61.3, + "us": 61.5, "level": "partial" }, "DOM (reused) + to_string": { - "us": 549.5, + "us": 569.6, "level": "full" }, "DOM + to_string": { - "us": 566.0, + "us": 573.7, "level": "full" } } @@ -9756,14 +9756,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 490.1, + "us": 505.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 490.1, + "us": 505.4, "level": "no UTF-8" } } @@ -9771,27 +9771,27 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 1499.9, + "us": 1516.8, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 279.8, + "us": 285.4, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 279.8, + "us": 285.4, "level": "partial" }, "generic": { - "us": 1496.0, + "us": 1514.4, "level": "partial" }, "generic (strict)": { - "us": 1499.9, + "us": 1516.8, "level": "full" } }, @@ -9803,31 +9803,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 1378.5, + "us": 1384.1, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 1378.5, + "us": 1384.1, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 1377.6, + "us": 1388.6, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 1377.6, + "us": 1388.6, "level": "full" }, "variants": { - "parser (reused) + serialize": { - "us": 1377.6, + "parse + serialize": { + "us": 1384.1, "level": "full" }, - "parse + serialize": { - "us": 1378.5, + "parser (reused) + serialize": { + "us": 1388.6, "level": "full" } } @@ -9835,55 +9835,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 1500.5, + "us": 1512.5, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 1300.3, + "us": 1327.8, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 1960.3, + "us": 1999.6, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 1802.8, + "us": 1807.8, "level": "no UTF-8" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 1300.3, + "us": 1327.8, "level": "no UTF-8" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 1325.0, + "us": 1333.5, "level": "no UTF-8" }, "SAX to Writer": { - "us": 1500.5, + "us": 1512.5, "level": "full" }, "SAX to Writer (raw numbers)": { - "us": 1509.4, + "us": 1513.9, "level": "full" }, "Document + Writer (no encoding check)": { - "us": 1787.8, + "us": 1799.0, "level": "no UTF-8" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 1802.8, + "us": 1807.8, "level": "no UTF-8" }, - "Document + Writer (reused allocator)": { - "us": 1960.3, + "Document + Writer": { + "us": 1992.7, "level": "full" }, - "Document + Writer": { - "us": 1961.7, + "Document + Writer (reused allocator)": { + "us": 1999.6, "level": "full" } } @@ -9953,35 +9953,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 493.7, + "us": 492.8, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 493.7, + "us": 492.8, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 495.2, + "us": 492.1, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 495.2, + "us": 492.1, "level": "full" }, "variants": { - "parse + dump (source numbers)": { - "us": 493.7, + "read + dump (reused)": { + "us": 492.1, "level": "full" }, - "read + dump (reused)": { - "us": 495.2, + "parse + dump (source numbers)": { + "us": 492.8, "level": "full" }, "parse + dump": { - "us": 495.8, + "us": 492.9, "level": "full" } } @@ -9989,19 +9989,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 2691.5, + "us": 2688.1, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 2691.5, + "us": 2688.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 2691.5, + "us": 2688.1, "level": "full" } } @@ -10009,39 +10009,39 @@ "yyjson": { "best": { "variant": "insitu (copy) + write", - "us": 635.4, + "us": 640.6, "level": "full" }, "best_any": { "variant": "insitu (copy) + write", - "us": 635.4, + "us": 640.6, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 644.6, + "us": 647.8, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 644.6, + "us": 647.8, "level": "full" }, "variants": { "insitu (copy) + write": { - "us": 635.4, + "us": 640.6, "level": "full" }, "read + write": { - "us": 637.6, + "us": 641.0, "level": "full" }, "read + write (reused allocator)": { - "us": 644.6, + "us": 647.8, "level": "full" }, "read (raw numbers) + write": { - "us": 703.6, + "us": 709.7, "level": "full" } } @@ -10049,35 +10049,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 906.3, + "us": 927.9, "level": "full" }, "best_any": { "variant": "minify", - "us": 168.0, + "us": 168.2, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 896.7, + "us": 914.1, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 896.7, + "us": 914.1, "level": "full" }, "variants": { "minify": { - "us": 168.0, + "us": 168.2, "level": "partial" }, "DOM (reused) + to_string": { - "us": 896.7, + "us": 914.1, "level": "full" }, "DOM + to_string": { - "us": 906.3, + "us": 927.9, "level": "full" } } @@ -10086,14 +10086,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 1211.9, + "us": 1224.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 1211.9, + "us": 1224.0, "level": "no UTF-8" } } @@ -10101,28 +10101,28 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 3191.7, + "us": 3219.6, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 725.8, + "us": 796.3, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 725.8, + "us": 796.3, + "level": "partial" + }, + "generic": { + "us": 3205.6, "level": "partial" }, "generic (strict)": { - "us": 3191.7, + "us": 3219.6, "level": "full" - }, - "generic": { - "us": 3196.7, - "level": "partial" } }, "excluded": { @@ -10133,31 +10133,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 1978.8, + "us": 1989.9, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 1978.8, + "us": 1989.9, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 1978.2, + "us": 1990.5, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 1978.2, + "us": 1990.5, "level": "full" }, "variants": { - "parser (reused) + serialize": { - "us": 1978.2, + "parse + serialize": { + "us": 1989.9, "level": "full" }, - "parse + serialize": { - "us": 1978.8, + "parser (reused) + serialize": { + "us": 1990.5, "level": "full" } } @@ -10165,55 +10165,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 1806.9, + "us": 1815.7, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 1704.8, + "us": 1714.2, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 2535.8, + "us": 2562.8, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 2451.6, + "us": 2454.9, "level": "no UTF-8" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 1704.8, + "us": 1714.2, "level": "no UTF-8" }, "SAX to Writer": { - "us": 1806.9, + "us": 1815.7, "level": "full" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 1946.1, + "us": 1956.5, "level": "no UTF-8" }, "SAX to Writer (raw numbers)": { - "us": 2054.2, + "us": 2064.8, "level": "full" }, "Document + Writer (no encoding check)": { - "us": 2427.0, + "us": 2437.7, "level": "no UTF-8" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 2451.6, + "us": 2454.9, "level": "no UTF-8" }, "Document + Writer": { - "us": 2509.5, + "us": 2533.0, "level": "full" }, "Document + Writer (reused allocator)": { - "us": 2535.8, + "us": 2562.8, "level": "full" } } @@ -10283,35 +10283,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 1358.7, + "us": 1328.4, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 1358.7, + "us": 1328.4, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 2577.0, + "us": 2552.9, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 2577.0, + "us": 2552.9, "level": "full" }, "variants": { "parse + dump (source numbers)": { - "us": 1358.7, + "us": 1328.4, "level": "full" }, "parse + dump": { - "us": 2577.0, + "us": 2549.8, "level": "full" }, "read + dump (reused)": { - "us": 2577.0, + "us": 2552.9, "level": "full" } } @@ -10319,19 +10319,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 8134.6, + "us": 8318.0, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 8134.6, + "us": 8318.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 8134.6, + "us": 8318.0, "level": "full" } } @@ -10339,39 +10339,39 @@ "yyjson": { "best": { "variant": "read (raw numbers) + write", - "us": 2513.8, + "us": 2527.0, "level": "full" }, "best_any": { "variant": "read (raw numbers) + write", - "us": 2513.8, + "us": 2527.0, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 3206.8, + "us": 3217.5, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 3206.8, + "us": 3217.5, "level": "full" }, "variants": { "read (raw numbers) + write": { - "us": 2513.8, + "us": 2527.0, "level": "full" }, "read + write (reused allocator)": { - "us": 3206.8, - "level": "full" - }, - "read + write": { - "us": 3209.2, + "us": 3217.5, "level": "full" }, "insitu (copy) + write": { - "us": 3210.5, + "us": 3219.4, + "level": "full" + }, + "read + write": { + "us": 3223.5, "level": "full" } } @@ -10379,35 +10379,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 5025.8, + "us": 5038.2, "level": "full" }, "best_any": { "variant": "minify", - "us": 227.7, + "us": 226.7, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 5030.7, + "us": 5090.9, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 5030.7, + "us": 5090.9, "level": "full" }, "variants": { "minify": { - "us": 227.7, + "us": 226.7, "level": "partial" }, "DOM + to_string": { - "us": 5025.8, + "us": 5038.2, "level": "full" }, "DOM (reused) + to_string": { - "us": 5030.7, + "us": 5090.9, "level": "full" } } @@ -10416,14 +10416,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 5619.8, + "us": 5660.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 5619.8, + "us": 5660.8, "level": "no UTF-8" } } @@ -10431,28 +10431,28 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 10948.7, + "us": 10919.7, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 1704.9, + "us": 1705.4, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 1704.9, - "level": "partial" - }, - "generic": { - "us": 10927.2, + "us": 1705.4, "level": "partial" }, "generic (strict)": { - "us": 10948.7, + "us": 10919.7, "level": "full" + }, + "generic": { + "us": 10952.1, + "level": "partial" } }, "excluded": { @@ -10463,31 +10463,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 6494.1, + "us": 6554.1, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 6494.1, + "us": 6554.1, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 6487.5, + "us": 6537.5, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 6487.5, + "us": 6537.5, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 6487.5, + "us": 6537.5, "level": "full" }, "parse + serialize": { - "us": 6494.1, + "us": 6554.1, "level": "full" } } @@ -10495,55 +10495,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer (raw numbers)", - "us": 10870.5, + "us": 10903.5, "level": "full" }, "best_any": { - "variant": "SAX to Writer (raw numbers) (no encoding check)", - "us": 10827.4, - "level": "no UTF-8" + "variant": "SAX to Writer (raw numbers)", + "us": 10903.5, + "level": "full" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 14211.4, + "us": 14337.0, "level": "full" }, "best_reused_any": { - "variant": "Document + Writer (reused allocator)", - "us": 14211.4, - "level": "full" + "variant": "Document + Writer (reused allocator) (no encoding check)", + "us": 14295.4, + "level": "no UTF-8" }, "variants": { - "SAX to Writer (raw numbers) (no encoding check)": { - "us": 10827.4, - "level": "no UTF-8" - }, "SAX to Writer (raw numbers)": { - "us": 10870.5, + "us": 10903.5, "level": "full" }, - "Document + Writer (no encoding check)": { - "us": 14207.9, - "level": "no UTF-8" - }, - "Document + Writer (reused allocator)": { - "us": 14211.4, - "level": "full" - }, - "Document + Writer (reused allocator) (no encoding check)": { - "us": 14211.8, + "SAX to Writer (raw numbers) (no encoding check)": { + "us": 10914.0, "level": "no UTF-8" }, "Document + Writer": { - "us": 14222.1, + "us": 14281.0, + "level": "full" + }, + "Document + Writer (reused allocator) (no encoding check)": { + "us": 14295.4, + "level": "no UTF-8" + }, + "Document + Writer (no encoding check)": { + "us": 14302.9, + "level": "no UTF-8" + }, + "Document + Writer (reused allocator)": { + "us": 14337.0, "level": "full" }, "SAX to Writer": { - "us": 15469.3, + "us": 15502.7, "level": "full" }, "SAX to Writer (no encoding check)": { - "us": 15469.5, + "us": 15539.2, "level": "no UTF-8" } } @@ -10612,36 +10612,36 @@ "jeopardy": { "nlohmann json_document": { "best": { - "variant": "parse + dump (source numbers)", - "us": 37197.4, + "variant": "parse + dump", + "us": 37888.0, "level": "full" }, "best_any": { - "variant": "parse + dump (source numbers)", - "us": 37197.4, + "variant": "parse + dump", + "us": 37888.0, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 36880.2, + "us": 37414.0, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 36880.2, + "us": 37414.0, "level": "full" }, "variants": { "read + dump (reused)": { - "us": 36880.2, - "level": "full" - }, - "parse + dump (source numbers)": { - "us": 37197.4, + "us": 37414.0, "level": "full" }, "parse + dump": { - "us": 37294.4, + "us": 37888.0, + "level": "full" + }, + "parse + dump (source numbers)": { + "us": 37899.0, "level": "full" } } @@ -10649,59 +10649,59 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 195656.7, + "us": 199578.8, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 195656.7, + "us": 199578.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 195656.7, + "us": 199578.8, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy) + write", - "us": 49918.6, + "variant": "read + write", + "us": 51098.8, "level": "full" }, "best_any": { - "variant": "insitu (copy) + write", - "us": 49918.6, + "variant": "read + write", + "us": 51098.8, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 49887.8, + "us": 51273.7, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 49887.8, + "us": 51273.7, "level": "full" }, "variants": { - "read + write (reused allocator)": { - "us": 49887.8, - "level": "full" - }, - "insitu (copy) + write": { - "us": 49918.6, - "level": "full" - }, "read + write": { - "us": 49921.1, + "us": 51098.8, "level": "full" }, "read (raw numbers) + write": { - "us": 49954.6, + "us": 51139.1, + "level": "full" + }, + "read + write (reused allocator)": { + "us": 51273.7, + "level": "full" + }, + "insitu (copy) + write": { + "us": 51282.8, "level": "full" } } @@ -10709,35 +10709,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 81426.3, + "us": 82978.4, "level": "full" }, "best_any": { "variant": "minify", - "us": 5652.9, + "us": 5755.1, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 81462.3, + "us": 83305.5, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 81462.3, + "us": 83305.5, "level": "full" }, "variants": { "minify": { - "us": 5652.9, + "us": 5755.1, "level": "partial" }, "DOM + to_string": { - "us": 81426.3, + "us": 82978.4, "level": "full" }, "DOM (reused) + to_string": { - "us": 81462.3, + "us": 83305.5, "level": "full" } } @@ -10746,14 +10746,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 59715.4, + "us": 61985.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 59715.4, + "us": 61985.2, "level": "no UTF-8" } } @@ -10761,27 +10761,27 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 168670.2, + "us": 168662.2, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 39265.6, + "us": 40374.0, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 39265.6, + "us": 40374.0, "level": "partial" }, "generic": { - "us": 166081.4, + "us": 166416.5, "level": "partial" }, "generic (strict)": { - "us": 168670.2, + "us": 168662.2, "level": "full" } }, @@ -10793,87 +10793,87 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 151389.0, + "us": 155141.0, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 151389.0, + "us": 155141.0, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 151063.7, + "us": 154705.5, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 151063.7, + "us": 154705.5, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 151063.7, + "us": 154705.5, "level": "full" }, "parse + serialize": { - "us": 151389.0, + "us": 155141.0, "level": "full" } } }, "RapidJSON": { "best": { - "variant": "SAX to Writer (raw numbers)", - "us": 176561.9, + "variant": "SAX to Writer", + "us": 180596.3, "level": "full" }, "best_any": { "variant": "SAX to Writer (raw numbers) (no encoding check)", - "us": 164088.8, + "us": 167694.0, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 235408.7, + "us": 241227.8, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 222404.4, + "us": 227442.0, "level": "no UTF-8" }, "variants": { "SAX to Writer (raw numbers) (no encoding check)": { - "us": 164088.8, + "us": 167694.0, "level": "no UTF-8" }, "SAX to Writer (no encoding check)": { - "us": 164204.6, + "us": 167843.2, "level": "no UTF-8" }, - "SAX to Writer (raw numbers)": { - "us": 176561.9, + "SAX to Writer": { + "us": 180596.3, "level": "full" }, - "SAX to Writer": { - "us": 176922.0, + "SAX to Writer (raw numbers)": { + "us": 180699.2, "level": "full" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 222404.4, + "us": 227442.0, "level": "no UTF-8" }, "Document + Writer (no encoding check)": { - "us": 223289.6, + "us": 228983.7, "level": "no UTF-8" }, "Document + Writer (reused allocator)": { - "us": 235408.7, + "us": 241227.8, "level": "full" }, "Document + Writer": { - "us": 236311.0, + "us": 241884.4, "level": "full" } } @@ -10942,13 +10942,13 @@ "status": { "nlohmann json_document": { "best": { - "variant": "parse + dump (source numbers)", - "us": 1.4, + "variant": "parse + dump", + "us": 1.5, "level": "full" }, "best_any": { - "variant": "parse + dump (source numbers)", - "us": 1.4, + "variant": "parse + dump", + "us": 1.5, "level": "full" }, "best_reused": { @@ -10962,10 +10962,6 @@ "level": "full" }, "variants": { - "parse + dump (source numbers)": { - "us": 1.4, - "level": "full" - }, "read + dump (reused)": { "us": 1.4, "level": "full" @@ -10973,25 +10969,29 @@ "parse + dump": { "us": 1.5, "level": "full" + }, + "parse + dump (source numbers)": { + "us": 1.5, + "level": "full" } } }, "nlohmann json": { "best": { "variant": "parse + dump", - "us": 8.6, + "us": 8.7, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 8.6, + "us": 8.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 8.6, + "us": 8.7, "level": "full" } } @@ -11031,7 +11031,7 @@ "level": "full" }, "read (raw numbers) + write": { - "us": 1.6, + "us": 1.7, "level": "full" } } @@ -11039,7 +11039,7 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 3.5, + "us": 3.6, "level": "full" }, "best_any": { @@ -11049,12 +11049,12 @@ }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 3.3, + "us": 3.4, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 3.3, + "us": 3.4, "level": "full" }, "variants": { @@ -11063,11 +11063,11 @@ "level": "partial" }, "DOM (reused) + to_string": { - "us": 3.3, + "us": 3.4, "level": "full" }, "DOM + to_string": { - "us": 3.5, + "us": 3.6, "level": "full" } } @@ -11091,7 +11091,7 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 7.9, + "us": 8.0, "level": "full" }, "best_any": { @@ -11107,11 +11107,11 @@ "level": "partial" }, "generic": { - "us": 7.8, + "us": 8.0, "level": "partial" }, "generic (strict)": { - "us": 7.9, + "us": 8.0, "level": "full" } }, @@ -11123,31 +11123,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 6.6, + "us": 6.8, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 6.6, + "us": 6.8, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 6.4, + "us": 6.5, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 6.4, + "us": 6.5, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 6.4, + "us": 6.5, "level": "full" }, "parse + serialize": { - "us": 6.6, + "us": 6.8, "level": "full" } } @@ -11155,27 +11155,27 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 7.9, + "us": 8.1, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 7.3, + "us": 7.5, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 10.3, + "us": 10.5, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 9.4, + "us": 9.6, "level": "no UTF-8" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 7.3, + "us": 7.5, "level": "no UTF-8" }, "SAX to Writer (raw numbers) (no encoding check)": { @@ -11183,27 +11183,27 @@ "level": "no UTF-8" }, "SAX to Writer": { - "us": 7.9, - "level": "full" - }, - "SAX to Writer (raw numbers)": { "us": 8.1, "level": "full" }, + "SAX to Writer (raw numbers)": { + "us": 8.2, + "level": "full" + }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 9.4, + "us": 9.6, "level": "no UTF-8" }, "Document + Writer (no encoding check)": { - "us": 9.8, + "us": 9.9, "level": "no UTF-8" }, "Document + Writer (reused allocator)": { - "us": 10.3, + "us": 10.5, "level": "full" }, "Document + Writer": { - "us": 10.7, + "us": 10.9, "level": "full" } } @@ -11273,35 +11273,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 234.1, + "us": 239.2, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 234.1, + "us": 239.2, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 232.3, + "us": 233.8, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 232.3, + "us": 233.8, "level": "full" }, "variants": { "read + dump (reused)": { - "us": 232.3, + "us": 233.8, "level": "full" }, "parse + dump (source numbers)": { - "us": 234.1, + "us": 239.2, "level": "full" }, "parse + dump": { - "us": 237.6, + "us": 240.9, "level": "full" } } @@ -11309,19 +11309,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 1541.7, + "us": 1581.6, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 1541.7, + "us": 1581.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 1541.7, + "us": 1581.6, "level": "full" } } @@ -11329,39 +11329,39 @@ "yyjson": { "best": { "variant": "read + write", - "us": 268.5, + "us": 271.6, "level": "full" }, "best_any": { "variant": "read + write", - "us": 268.5, + "us": 271.6, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 269.2, + "us": 269.8, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 269.2, + "us": 269.8, "level": "full" }, "variants": { - "read + write": { - "us": 268.5, + "read + write (reused allocator)": { + "us": 269.8, "level": "full" }, - "read + write (reused allocator)": { - "us": 269.2, + "read + write": { + "us": 271.6, "level": "full" }, "insitu (copy) + write": { - "us": 270.3, + "us": 275.5, "level": "full" }, "read (raw numbers) + write": { - "us": 284.5, + "us": 288.6, "level": "full" } } @@ -11369,35 +11369,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 539.0, + "us": 551.7, "level": "full" }, "best_any": { "variant": "minify", - "us": 45.2, + "us": 46.0, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 522.8, + "us": 538.1, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 522.8, + "us": 538.1, "level": "full" }, "variants": { "minify": { - "us": 45.2, + "us": 46.0, "level": "partial" }, "DOM (reused) + to_string": { - "us": 522.8, + "us": 538.1, "level": "full" }, "DOM + to_string": { - "us": 539.0, + "us": 551.7, "level": "full" } } @@ -11406,14 +11406,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 367.4, + "us": 378.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 367.4, + "us": 378.4, "level": "no UTF-8" } } @@ -11421,27 +11421,27 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 1388.4, + "us": 1411.8, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 241.7, + "us": 244.6, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 241.7, + "us": 244.6, "level": "partial" }, "generic": { - "us": 1380.0, + "us": 1403.0, "level": "partial" }, "generic (strict)": { - "us": 1388.4, + "us": 1411.8, "level": "full" } }, @@ -11453,31 +11453,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 1280.7, + "us": 1308.8, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 1280.7, + "us": 1308.8, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 1279.5, + "us": 1307.0, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 1279.5, + "us": 1307.0, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 1279.5, + "us": 1307.0, "level": "full" }, "parse + serialize": { - "us": 1280.7, + "us": 1308.8, "level": "full" } } @@ -11485,55 +11485,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 1354.0, + "us": 1373.6, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 1229.3, + "us": 1254.1, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 1771.3, + "us": 1798.9, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 1622.0, + "us": 1653.2, "level": "no UTF-8" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 1229.3, + "us": 1254.1, "level": "no UTF-8" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 1247.5, + "us": 1273.1, "level": "no UTF-8" }, "SAX to Writer": { - "us": 1354.0, + "us": 1373.6, "level": "full" }, "SAX to Writer (raw numbers)": { - "us": 1369.9, + "us": 1392.8, "level": "full" }, "Document + Writer (no encoding check)": { - "us": 1614.3, + "us": 1639.5, "level": "no UTF-8" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 1622.0, + "us": 1653.2, "level": "no UTF-8" }, - "Document + Writer": { - "us": 1767.2, + "Document + Writer (reused allocator)": { + "us": 1798.9, "level": "full" }, - "Document + Writer (reused allocator)": { - "us": 1771.3, + "Document + Writer": { + "us": 1806.5, "level": "full" } } @@ -11602,36 +11602,36 @@ "citm_catalog_min": { "nlohmann json_document": { "best": { - "variant": "parse + dump (source numbers)", - "us": 378.0, + "variant": "parse + dump", + "us": 382.9, "level": "full" }, "best_any": { - "variant": "parse + dump (source numbers)", - "us": 378.0, + "variant": "parse + dump", + "us": 382.9, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 379.7, + "us": 382.3, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 379.7, + "us": 382.3, "level": "full" }, "variants": { - "parse + dump (source numbers)": { - "us": 378.0, - "level": "full" - }, "read + dump (reused)": { - "us": 379.7, + "us": 382.3, "level": "full" }, "parse + dump": { - "us": 380.2, + "us": 382.9, + "level": "full" + }, + "parse + dump (source numbers)": { + "us": 383.9, "level": "full" } } @@ -11639,19 +11639,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 2560.8, + "us": 2598.2, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 2560.8, + "us": 2598.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 2560.8, + "us": 2598.2, "level": "full" } } @@ -11659,39 +11659,39 @@ "yyjson": { "best": { "variant": "read + write", - "us": 443.7, + "us": 454.2, "level": "full" }, "best_any": { "variant": "read + write", - "us": 443.7, + "us": 454.2, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 445.3, + "us": 454.2, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 445.3, + "us": 454.2, "level": "full" }, "variants": { "read + write": { - "us": 443.7, - "level": "full" - }, - "insitu (copy) + write": { - "us": 444.4, + "us": 454.2, "level": "full" }, "read + write (reused allocator)": { - "us": 445.3, + "us": 454.2, + "level": "full" + }, + "insitu (copy) + write": { + "us": 458.1, "level": "full" }, "read (raw numbers) + write": { - "us": 511.9, + "us": 522.2, "level": "full" } } @@ -11699,35 +11699,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 780.1, + "us": 800.4, "level": "full" }, "best_any": { "variant": "minify", - "us": 48.4, + "us": 49.3, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 771.5, + "us": 785.2, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 771.5, + "us": 785.2, "level": "full" }, "variants": { "minify": { - "us": 48.4, + "us": 49.3, "level": "partial" }, "DOM (reused) + to_string": { - "us": 771.5, + "us": 785.2, "level": "full" }, "DOM + to_string": { - "us": 780.1, + "us": 800.4, "level": "full" } } @@ -11736,14 +11736,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 767.6, + "us": 788.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 767.6, + "us": 788.9, "level": "no UTF-8" } } @@ -11751,28 +11751,28 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 2831.7, + "us": 2837.0, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 438.0, + "us": 446.6, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 438.0, - "level": "partial" - }, - "generic": { - "us": 2831.3, + "us": 446.6, "level": "partial" }, "generic (strict)": { - "us": 2831.7, + "us": 2837.0, "level": "full" + }, + "generic": { + "us": 2867.8, + "level": "partial" } }, "excluded": { @@ -11783,31 +11783,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 1440.6, + "us": 1470.8, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 1440.6, + "us": 1470.8, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 1439.5, + "us": 1467.8, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 1439.5, + "us": 1467.8, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 1439.5, + "us": 1467.8, "level": "full" }, "parse + serialize": { - "us": 1440.6, + "us": 1470.8, "level": "full" } } @@ -11815,55 +11815,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 1443.4, + "us": 1472.7, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 1387.8, + "us": 1414.0, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 2046.0, + "us": 2090.3, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 1967.8, + "us": 2004.3, "level": "no UTF-8" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 1387.8, + "us": 1414.0, "level": "no UTF-8" }, "SAX to Writer": { - "us": 1443.4, + "us": 1472.7, "level": "full" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 1696.8, + "us": 1729.2, "level": "no UTF-8" }, "SAX to Writer (raw numbers)": { - "us": 1743.0, + "us": 1773.8, "level": "full" }, "Document + Writer (no encoding check)": { - "us": 1952.7, + "us": 1992.8, "level": "no UTF-8" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 1967.8, + "us": 2004.3, "level": "no UTF-8" }, "Document + Writer": { - "us": 2036.2, + "us": 2080.7, "level": "full" }, "Document + Writer (reused allocator)": { - "us": 2046.0, + "us": 2090.3, "level": "full" } } @@ -11934,24 +11934,24 @@ "twitter": { "nlohmann json_document": { "best": { - "variant": "dump (source numbers)", - "us": 72.3, + "variant": "dump", + "us": 72.9, "level": "n/a" }, "best_any": { - "variant": "dump (source numbers)", - "us": 72.3, + "variant": "dump", + "us": 72.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { - "dump (source numbers)": { - "us": 72.3, + "dump": { + "us": 72.9, "level": "n/a" }, - "dump": { - "us": 75.6, + "dump (source numbers)": { + "us": 73.8, "level": "n/a" } } @@ -11959,19 +11959,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 213.9, + "us": 215.7, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 213.9, + "us": 215.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 213.9, + "us": 215.7, "level": "n/a" } } @@ -11979,19 +11979,19 @@ "yyjson": { "best": { "variant": "write", - "us": 100.8, + "us": 103.4, "level": "n/a" }, "best_any": { "variant": "write", - "us": 100.8, + "us": 103.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 100.8, + "us": 103.4, "level": "n/a" } } @@ -11999,19 +11999,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 341.5, + "us": 341.6, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 341.5, + "us": 341.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 341.5, + "us": 341.6, "level": "n/a" } } @@ -12019,19 +12019,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 592.4, + "us": 597.5, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 592.4, + "us": 597.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 592.4, + "us": 597.5, "level": "n/a" } } @@ -12039,19 +12039,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 104.5, + "us": 113.2, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 104.5, + "us": 113.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 104.5, + "us": 113.2, "level": "n/a" } } @@ -12059,23 +12059,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 210.0, + "us": 213.4, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 210.0, + "us": 213.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 210.0, + "us": 213.4, "level": "n/a" }, "generic (strict)": { - "us": 218.1, + "us": 219.2, "level": "n/a" } }, @@ -12087,19 +12087,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 497.3, + "us": 499.3, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 497.3, + "us": 499.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 497.3, + "us": 499.3, "level": "n/a" } } @@ -12168,24 +12168,24 @@ "citm_catalog": { "nlohmann json_document": { "best": { - "variant": "dump (source numbers)", - "us": 133.9, + "variant": "dump", + "us": 132.9, "level": "n/a" }, "best_any": { - "variant": "dump (source numbers)", - "us": 133.9, + "variant": "dump", + "us": 132.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { - "dump (source numbers)": { - "us": 133.9, + "dump": { + "us": 132.9, "level": "n/a" }, - "dump": { - "us": 136.2, + "dump (source numbers)": { + "us": 133.9, "level": "n/a" } } @@ -12193,19 +12193,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 285.2, + "us": 285.6, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 285.2, + "us": 285.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 285.2, + "us": 285.6, "level": "n/a" } } @@ -12213,19 +12213,19 @@ "yyjson": { "best": { "variant": "write", - "us": 164.0, + "us": 164.7, "level": "n/a" }, "best_any": { "variant": "write", - "us": 164.0, + "us": 164.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 164.0, + "us": 164.7, "level": "n/a" } } @@ -12233,19 +12233,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 450.8, + "us": 448.5, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 450.8, + "us": 448.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 450.8, + "us": 448.5, "level": "n/a" } } @@ -12253,19 +12253,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 819.5, + "us": 822.4, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 819.5, + "us": 822.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 819.5, + "us": 822.4, "level": "n/a" } } @@ -12273,19 +12273,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 228.9, + "us": 235.8, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 228.9, + "us": 235.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 228.9, + "us": 235.8, "level": "n/a" } } @@ -12293,23 +12293,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 468.5, + "us": 469.6, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 468.5, + "us": 469.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 468.5, + "us": 469.6, "level": "n/a" }, "generic (strict)": { - "us": 471.5, + "us": 473.2, "level": "n/a" } }, @@ -12321,19 +12321,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 501.2, + "us": 503.7, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 501.2, + "us": 503.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 501.2, + "us": 503.7, "level": "n/a" } } @@ -12403,23 +12403,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 398.9, + "us": 399.7, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 398.9, + "us": 399.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 398.9, + "us": 399.7, "level": "n/a" }, "dump": { - "us": 1617.8, + "us": 1622.2, "level": "n/a" } } @@ -12427,19 +12427,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 2233.6, + "us": 2250.0, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 2233.6, + "us": 2250.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 2233.6, + "us": 2250.0, "level": "n/a" } } @@ -12447,19 +12447,19 @@ "yyjson": { "best": { "variant": "write", - "us": 1715.3, + "us": 1718.9, "level": "n/a" }, "best_any": { "variant": "write", - "us": 1715.3, + "us": 1718.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 1715.3, + "us": 1718.9, "level": "n/a" } } @@ -12467,19 +12467,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 3159.0, + "us": 3195.5, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 3159.0, + "us": 3195.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 3159.0, + "us": 3195.5, "level": "n/a" } } @@ -12487,19 +12487,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 6863.5, + "us": 6889.4, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 6863.5, + "us": 6889.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 6863.5, + "us": 6889.4, "level": "n/a" } } @@ -12507,43 +12507,43 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 3039.8, + "us": 3045.7, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 3039.8, + "us": 3045.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 3039.8, + "us": 3045.7, "level": "n/a" } } }, "Glaze": { "best": { - "variant": "generic", - "us": 1694.2, + "variant": "generic (strict)", + "us": 1704.9, "level": "n/a" }, "best_any": { - "variant": "generic", - "us": 1694.2, + "variant": "generic (strict)", + "us": 1704.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic": { - "us": 1694.2, + "generic (strict)": { + "us": 1704.9, "level": "n/a" }, - "generic (strict)": { - "us": 1697.5, + "generic": { + "us": 1707.6, "level": "n/a" } }, @@ -12555,19 +12555,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 2874.5, + "us": 2891.3, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 2874.5, + "us": 2891.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 2874.5, + "us": 2891.3, "level": "n/a" } } @@ -12637,23 +12637,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 14576.5, + "us": 14731.7, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 14576.5, + "us": 14731.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 14576.5, + "us": 14731.7, "level": "n/a" }, "dump": { - "us": 14608.6, + "us": 14734.8, "level": "n/a" } } @@ -12661,19 +12661,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 30902.3, + "us": 31183.3, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 30902.3, + "us": 31183.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 30902.3, + "us": 31183.3, "level": "n/a" } } @@ -12681,19 +12681,19 @@ "yyjson": { "best": { "variant": "write", - "us": 19621.2, + "us": 19992.9, "level": "n/a" }, "best_any": { "variant": "write", - "us": 19621.2, + "us": 19992.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 19621.2, + "us": 19992.9, "level": "n/a" } } @@ -12701,19 +12701,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 52848.9, + "us": 53775.8, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 52848.9, + "us": 53775.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 52848.9, + "us": 53775.8, "level": "n/a" } } @@ -12721,19 +12721,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 79510.5, + "us": 81405.8, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 79510.5, + "us": 81405.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 79510.5, + "us": 81405.8, "level": "n/a" } } @@ -12741,19 +12741,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 18906.4, + "us": 19953.2, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 18906.4, + "us": 19953.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 18906.4, + "us": 19953.2, "level": "n/a" } } @@ -12761,23 +12761,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 33393.8, + "us": 34047.4, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 33393.8, + "us": 34047.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 33393.8, + "us": 34047.4, "level": "n/a" }, "generic (strict)": { - "us": 35978.4, + "us": 36639.7, "level": "n/a" } }, @@ -12789,19 +12789,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 62487.8, + "us": 63231.0, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 62487.8, + "us": 63231.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 62487.8, + "us": 63231.0, "level": "n/a" } } @@ -12935,19 +12935,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 2.4, + "us": 2.5, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 2.4, + "us": 2.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 2.4, + "us": 2.5, "level": "n/a" } } @@ -12955,19 +12955,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 3.8, + "us": 3.9, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 3.8, + "us": 3.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 3.8, + "us": 3.9, "level": "n/a" } } @@ -12975,19 +12975,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 0.8, + "us": 0.9, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 0.8, + "us": 0.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 0.8, + "us": 0.9, "level": "n/a" } } @@ -13011,7 +13011,7 @@ "level": "n/a" }, "generic (strict)": { - "us": 1.3, + "us": 1.4, "level": "n/a" } }, @@ -13023,19 +13023,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 2.8, + "us": 2.9, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 2.8, + "us": 2.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 2.8, + "us": 2.9, "level": "n/a" } } @@ -13104,24 +13104,24 @@ "twitter_min": { "nlohmann json_document": { "best": { - "variant": "dump (source numbers)", - "us": 72.5, + "variant": "dump", + "us": 74.0, "level": "n/a" }, "best_any": { - "variant": "dump (source numbers)", - "us": 72.5, + "variant": "dump", + "us": 74.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { - "dump (source numbers)": { - "us": 72.5, + "dump": { + "us": 74.0, "level": "n/a" }, - "dump": { - "us": 75.5, + "dump (source numbers)": { + "us": 74.0, "level": "n/a" } } @@ -13129,19 +13129,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 214.6, + "us": 221.5, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 214.6, + "us": 221.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 214.6, + "us": 221.5, "level": "n/a" } } @@ -13149,19 +13149,19 @@ "yyjson": { "best": { "variant": "write", - "us": 101.3, + "us": 105.6, "level": "n/a" }, "best_any": { "variant": "write", - "us": 101.3, + "us": 105.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 101.3, + "us": 105.6, "level": "n/a" } } @@ -13169,19 +13169,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 340.5, + "us": 347.2, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 340.5, + "us": 347.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 340.5, + "us": 347.2, "level": "n/a" } } @@ -13189,19 +13189,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 593.3, + "us": 604.4, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 593.3, + "us": 604.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 593.3, + "us": 604.4, "level": "n/a" } } @@ -13209,19 +13209,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 104.2, + "us": 112.0, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 104.2, + "us": 112.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 104.2, + "us": 112.0, "level": "n/a" } } @@ -13229,23 +13229,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 210.4, + "us": 213.0, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 210.4, + "us": 213.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 210.4, + "us": 213.0, "level": "n/a" }, "generic (strict)": { - "us": 217.7, + "us": 222.0, "level": "n/a" } }, @@ -13257,19 +13257,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 497.0, + "us": 506.2, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 497.0, + "us": 506.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 497.0, + "us": 506.2, "level": "n/a" } } @@ -13338,23 +13338,23 @@ "citm_catalog_min": { "nlohmann json_document": { "best": { - "variant": "dump (source numbers)", - "us": 134.2, + "variant": "dump", + "us": 135.6, "level": "n/a" }, "best_any": { - "variant": "dump (source numbers)", - "us": 134.2, + "variant": "dump", + "us": 135.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { - "dump (source numbers)": { - "us": 134.2, + "dump": { + "us": 135.6, "level": "n/a" }, - "dump": { + "dump (source numbers)": { "us": 136.5, "level": "n/a" } @@ -13363,19 +13363,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 285.1, + "us": 290.2, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 285.1, + "us": 290.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 285.1, + "us": 290.2, "level": "n/a" } } @@ -13383,19 +13383,19 @@ "yyjson": { "best": { "variant": "write", - "us": 163.8, + "us": 167.5, "level": "n/a" }, "best_any": { "variant": "write", - "us": 163.8, + "us": 167.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 163.8, + "us": 167.5, "level": "n/a" } } @@ -13403,19 +13403,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 448.6, + "us": 453.5, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 448.6, + "us": 453.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 448.6, + "us": 453.5, "level": "n/a" } } @@ -13423,19 +13423,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 814.4, + "us": 831.8, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 814.4, + "us": 831.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 814.4, + "us": 831.8, "level": "n/a" } } @@ -13443,19 +13443,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 221.8, + "us": 232.5, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 221.8, + "us": 232.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 221.8, + "us": 232.5, "level": "n/a" } } @@ -13463,23 +13463,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 469.3, + "us": 477.5, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 469.3, + "us": 477.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 469.3, + "us": 477.5, "level": "n/a" }, "generic (strict)": { - "us": 471.6, + "us": 479.8, "level": "n/a" } }, @@ -13491,19 +13491,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 501.7, + "us": 510.5, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 501.7, + "us": 510.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 501.7, + "us": 510.5, "level": "n/a" } } diff --git a/docs/mkdocs/scripts/figures/data/perf_usecases_x86-clang.json b/docs/mkdocs/scripts/figures/data/perf_usecases_x86-clang.json index fd283d293..55eadc7da 100644 --- a/docs/mkdocs/scripts/figures/data/perf_usecases_x86-clang.json +++ b/docs/mkdocs/scripts/figures/data/perf_usecases_x86-clang.json @@ -4,35 +4,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 253.9, + "us": 253.5, "level": "full" }, "best_any": { "variant": "accept", - "us": 253.9, + "us": 253.5, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 298.6, + "us": 295.2, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 298.6, + "us": 295.2, "level": "full" }, "variants": { "accept": { - "us": 253.9, + "us": 253.5, "level": "full" }, "read (reused)": { - "us": 298.6, + "us": 295.2, "level": "full" }, "parse": { - "us": 301.3, + "us": 300.5, "level": "full" } } @@ -40,63 +40,63 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 675.3, + "us": 654.5, "level": "full" }, "best_any": { "variant": "accept", - "us": 675.3, + "us": 654.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 675.3, + "us": 654.5, "level": "full" }, "parse": { - "us": 3385.8, + "us": 3548.0, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 379.7, + "variant": "read", + "us": 379.5, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 379.7, + "variant": "read", + "us": 379.5, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 392.5, + "us": 384.3, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 392.5, + "us": 384.3, "level": "full" }, "variants": { + "read": { + "us": 379.5, + "level": "full" + }, "insitu (copy)": { - "us": 379.7, + "us": 379.9, "level": "full" }, "read (raw numbers)": { - "us": 385.5, - "level": "full" - }, - "read": { - "us": 386.2, + "us": 380.4, "level": "full" }, "read (reused allocator)": { - "us": 392.5, + "us": 384.3, "level": "full" } } @@ -104,31 +104,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 307.5, + "us": 306.2, "level": "full" }, "best_any": { "variant": "DOM", - "us": 307.5, + "us": 306.2, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 306.3, + "us": 302.2, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 306.3, + "us": 302.2, "level": "full" }, "variants": { "DOM (reused)": { - "us": 306.3, + "us": 302.2, "level": "full" }, "DOM": { - "us": 307.5, + "us": 306.2, "level": "full" } } @@ -137,14 +137,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 451.5, + "us": 444.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 451.5, + "us": 444.9, "level": "no UTF-8" } } @@ -152,35 +152,35 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 593.4, + "us": 582.0, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 593.4, + "us": 582.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 593.4, - "level": "full" - }, - "generic (double, strict)": { - "us": 2521.4, + "us": 582.0, "level": "full" }, "generic (double)": { - "us": 2557.6, + "us": 2317.6, "level": "partial" }, + "generic (double, strict)": { + "us": 2325.5, + "level": "full" + }, "generic (strict)": { - "us": 3744.5, + "us": 3342.4, "level": "full" }, "generic": { - "us": 3748.3, + "us": 3351.4, "level": "partial" } } @@ -188,47 +188,47 @@ "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 576.4, + "us": 568.7, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 576.4, + "us": 568.7, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 579.5, + "us": 573.5, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 579.5, + "us": 573.5, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 576.4, - "level": "full" - }, - "SAX (reused)": { - "us": 579.5, + "us": 568.7, "level": "full" }, "SAX": { - "us": 580.1, + "us": 571.8, + "level": "full" + }, + "SAX (reused)": { + "us": 573.5, "level": "full" }, "parse (numbers: none)": { - "us": 1224.6, + "us": 1206.7, "level": "full" }, "parser (reused)": { - "us": 1226.1, + "us": 1212.7, "level": "full" }, "parse": { - "us": 1237.0, + "us": 1217.9, "level": "full" } } @@ -236,63 +236,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1911.5, + "us": 1808.3, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1211.5, + "us": 1170.7, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2209.7, + "us": 2210.5, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1471.3, + "us": 1466.2, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1211.5, + "us": 1170.7, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 1304.3, + "us": 1314.2, "level": "no UTF-8" }, "SAX (raw numbers) (no encoding check)": { - "us": 1365.1, - "level": "no UTF-8" - }, - "Document (reused allocator) (no encoding check)": { - "us": 1471.3, + "us": 1332.3, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1503.2, + "us": 1460.8, + "level": "no UTF-8" + }, + "Document (reused allocator) (no encoding check)": { + "us": 1466.2, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1911.5, + "us": 1808.3, "level": "full" }, "SAX": { - "us": 2051.4, + "us": 2000.8, "level": "full" }, "SAX (raw numbers)": { - "us": 2056.3, - "level": "full" - }, - "Document (reused allocator)": { - "us": 2209.7, + "us": 2028.5, "level": "full" }, "Document": { - "us": 2238.0, + "us": 2163.3, + "level": "full" + }, + "Document (reused allocator)": { + "us": 2210.5, "level": "full" } } @@ -300,27 +300,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 621.9, + "us": 624.3, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 480.2, + "us": 483.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 480.2, + "us": 483.8, "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 621.9, + "us": 624.3, "level": "full" }, "Value": { - "us": 3675.2, + "us": 3430.3, "level": "full" } } @@ -328,23 +328,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 481.8, + "us": 501.3, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 481.8, + "us": 501.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 481.8, + "us": 501.3, "level": "full" }, "Value": { - "us": 557.9, + "us": 558.3, "level": "full" } } @@ -352,35 +352,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 563.4, + "us": 567.2, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 563.4, + "us": 567.2, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 572.1, + "us": 591.7, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 572.1, + "us": 591.7, "level": "full" }, "variants": { "tape (copy)": { - "us": 563.4, + "us": 567.2, "level": "full" }, "tape (reused)": { - "us": 572.1, + "us": 591.7, "level": "full" }, "borrowed (copy)": { - "us": 1259.6, + "us": 1274.3, "level": "full" } } @@ -390,35 +390,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 544.5, + "us": 516.8, "level": "full" }, "best_any": { "variant": "accept", - "us": 544.5, + "us": 516.8, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 794.9, + "us": 763.3, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 794.9, + "us": 763.3, "level": "full" }, "variants": { "accept": { - "us": 544.5, - "level": "full" - }, - "parse": { - "us": 720.1, + "us": 516.8, "level": "full" }, "read (reused)": { - "us": 794.9, + "us": 763.3, + "level": "full" + }, + "parse": { + "us": 764.9, "level": "full" } } @@ -426,23 +426,23 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 1314.4, + "us": 1283.4, "level": "full" }, "best_any": { "variant": "accept", - "us": 1314.4, + "us": 1283.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 1314.4, + "us": 1283.4, "level": "full" }, "parse": { - "us": 6072.1, + "us": 5153.5, "level": "full" } } @@ -450,39 +450,39 @@ "yyjson": { "best": { "variant": "read", - "us": 982.1, + "us": 897.0, "level": "full" }, "best_any": { "variant": "read", - "us": 982.1, + "us": 897.0, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 1016.2, + "us": 908.8, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 1016.2, + "us": 908.8, "level": "full" }, "variants": { "read": { - "us": 982.1, + "us": 897.0, "level": "full" }, "insitu (copy)": { - "us": 982.4, + "us": 897.2, "level": "full" }, "read (raw numbers)": { - "us": 999.3, + "us": 903.7, "level": "full" }, "read (reused allocator)": { - "us": 1016.2, + "us": 908.8, "level": "full" } } @@ -490,31 +490,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 725.6, + "us": 721.9, "level": "full" }, "best_any": { "variant": "DOM", - "us": 725.6, + "us": 721.9, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 801.0, + "us": 720.5, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 801.0, + "us": 720.5, "level": "full" }, "variants": { - "DOM": { - "us": 725.6, + "DOM (reused)": { + "us": 720.5, "level": "full" }, - "DOM (reused)": { - "us": 801.0, + "DOM": { + "us": 721.9, "level": "full" } } @@ -523,14 +523,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1077.2, + "us": 1000.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1077.2, + "us": 1000.5, "level": "no UTF-8" } } @@ -538,83 +538,83 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 1271.9, + "us": 1229.4, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 1271.9, + "us": 1229.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 1271.9, + "us": 1229.4, "level": "full" }, "generic (double)": { - "us": 4051.5, + "us": 3848.8, "level": "partial" }, "generic (double, strict)": { - "us": 4062.5, - "level": "full" - }, - "generic (strict)": { - "us": 7436.6, + "us": 3882.5, "level": "full" }, "generic": { - "us": 7816.9, + "us": 6502.8, "level": "partial" + }, + "generic (strict)": { + "us": 6507.5, + "level": "full" } } }, "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 912.6, + "us": 909.3, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 912.6, + "us": 909.3, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 955.1, + "us": 917.8, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 955.1, + "us": 917.8, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 912.6, - "level": "full" - }, - "SAX": { - "us": 927.2, + "us": 909.3, "level": "full" }, "SAX (reused)": { - "us": 955.1, + "us": 917.8, + "level": "full" + }, + "SAX": { + "us": 924.6, "level": "full" }, "parse (numbers: none)": { - "us": 1585.5, - "level": "full" - }, - "parse": { - "us": 1602.7, + "us": 1557.2, "level": "full" }, "parser (reused)": { - "us": 1645.7, + "us": 1634.2, + "level": "full" + }, + "parse": { + "us": 1639.2, "level": "full" } } @@ -622,63 +622,63 @@ "RapidJSON": { "best": { "variant": "SAX", - "us": 2284.6, + "us": 2104.7, "level": "full" }, "best_any": { "variant": "SAX (no encoding check)", - "us": 1774.0, + "us": 1663.7, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2430.2, + "us": 2423.2, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 2138.8, + "us": 1951.8, "level": "no UTF-8" }, "variants": { "SAX (no encoding check)": { - "us": 1774.0, + "us": 1663.7, "level": "no UTF-8" }, "SAX (raw numbers) (no encoding check)": { - "us": 1942.8, + "us": 1895.7, "level": "no UTF-8" }, "insitu (copy) (no encoding check)": { - "us": 2009.7, + "us": 1915.8, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 2138.8, + "us": 1951.8, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 2178.8, + "us": 1968.0, "level": "no UTF-8" }, "SAX": { - "us": 2284.6, - "level": "full" - }, - "SAX (raw numbers)": { - "us": 2429.9, - "level": "full" - }, - "Document (reused allocator)": { - "us": 2430.2, + "us": 2104.7, "level": "full" }, "insitu (copy)": { - "us": 2442.4, + "us": 2284.9, + "level": "full" + }, + "SAX (raw numbers)": { + "us": 2343.0, + "level": "full" + }, + "Document (reused allocator)": { + "us": 2423.2, "level": "full" }, "Document": { - "us": 2587.0, + "us": 2435.8, "level": "full" } } @@ -686,27 +686,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 1439.7, + "us": 1440.0, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 1370.7, + "us": 1370.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 1370.7, + "us": 1370.0, "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 1439.7, + "us": 1440.0, "level": "full" }, "Value": { - "us": 5958.6, + "us": 5622.3, "level": "full" } } @@ -714,23 +714,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 969.0, + "us": 969.7, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 969.0, + "us": 969.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 969.0, + "us": 969.7, "level": "full" }, "Value": { - "us": 1191.8, + "us": 1192.0, "level": "full" } } @@ -738,35 +738,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 1402.8, + "us": 1429.6, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 1402.8, + "us": 1429.6, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 1451.4, + "us": 1442.3, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 1451.4, + "us": 1442.3, "level": "full" }, "variants": { "tape (copy)": { - "us": 1402.8, + "us": 1429.6, "level": "full" }, "tape (reused)": { - "us": 1451.4, + "us": 1442.3, "level": "full" }, "borrowed (copy)": { - "us": 3702.4, + "us": 3462.6, "level": "full" } } @@ -776,35 +776,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 1109.9, + "us": 994.6, "level": "full" }, "best_any": { "variant": "accept", - "us": 1109.9, + "us": 994.6, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 1419.5, + "us": 1385.6, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 1419.5, + "us": 1385.6, "level": "full" }, "variants": { "accept": { - "us": 1109.9, + "us": 994.6, "level": "full" }, "parse": { - "us": 1417.1, + "us": 1383.6, "level": "full" }, "read (reused)": { - "us": 1419.5, + "us": 1385.6, "level": "full" } } @@ -812,23 +812,23 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 4277.7, + "us": 4043.4, "level": "full" }, "best_any": { "variant": "accept", - "us": 4277.7, + "us": 4043.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 4277.7, + "us": 4043.4, "level": "full" }, "parse": { - "us": 12155.9, + "us": 11128.3, "level": "full" } } @@ -836,39 +836,39 @@ "yyjson": { "best": { "variant": "read (raw numbers)", - "us": 2325.4, + "us": 2572.8, "level": "full" }, "best_any": { "variant": "read (raw numbers)", - "us": 2325.4, + "us": 2572.8, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 2752.9, + "us": 2797.0, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 2752.9, + "us": 2797.0, "level": "full" }, "variants": { "read (raw numbers)": { - "us": 2325.4, - "level": "full" - }, - "read (reused allocator)": { - "us": 2752.9, - "level": "full" - }, - "read": { - "us": 2754.4, + "us": 2572.8, "level": "full" }, "insitu (copy)": { - "us": 2799.2, + "us": 2791.9, + "level": "full" + }, + "read (reused allocator)": { + "us": 2797.0, + "level": "full" + }, + "read": { + "us": 2798.2, "level": "full" } } @@ -876,31 +876,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 3190.5, + "us": 3203.3, "level": "full" }, "best_any": { "variant": "DOM", - "us": 3190.5, + "us": 3203.3, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 3178.4, + "us": 3194.8, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 3178.4, + "us": 3194.8, "level": "full" }, "variants": { "DOM (reused)": { - "us": 3178.4, + "us": 3194.8, "level": "full" }, "DOM": { - "us": 3190.5, + "us": 3203.3, "level": "full" } } @@ -909,14 +909,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 3054.3, + "us": 3041.7, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 3054.3, + "us": 3041.7, "level": "no UTF-8" } } @@ -924,83 +924,83 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 1778.3, + "us": 2011.2, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 1778.3, + "us": 2011.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 1778.3, + "us": 2011.2, "level": "full" }, "generic (double, strict)": { - "us": 11719.8, + "us": 11282.9, "level": "full" }, "generic (double)": { - "us": 11815.6, + "us": 11737.0, + "level": "partial" + }, + "generic": { + "us": 22657.0, "level": "partial" }, "generic (strict)": { - "us": 25859.6, + "us": 23091.1, "level": "full" - }, - "generic": { - "us": 26228.7, - "level": "partial" } } }, "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 1678.2, + "us": 1682.7, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 1678.2, + "us": 1682.7, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 5740.5, + "us": 5942.5, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 5740.5, + "us": 5942.5, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 1678.2, + "us": 1682.7, "level": "full" }, "parse (numbers: none)": { - "us": 2459.0, - "level": "full" - }, - "SAX (reused)": { - "us": 5740.5, + "us": 2504.2, "level": "full" }, "SAX": { - "us": 5781.4, + "us": 5898.6, + "level": "full" + }, + "SAX (reused)": { + "us": 5942.5, "level": "full" }, "parse": { - "us": 7012.2, + "us": 7023.4, "level": "full" }, "parser (reused)": { - "us": 7105.5, + "us": 7042.5, "level": "full" } } @@ -1008,91 +1008,91 @@ "RapidJSON": { "best": { "variant": "SAX (raw numbers)", - "us": 10385.0, + "us": 10540.5, "level": "full" }, "best_any": { "variant": "SAX (raw numbers)", - "us": 10385.0, + "us": 10540.5, "level": "full" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 12517.4, + "us": 12288.6, "level": "full" }, "best_reused_any": { - "variant": "Document (reused allocator)", - "us": 12517.4, - "level": "full" + "variant": "Document (reused allocator) (no encoding check)", + "us": 12109.4, + "level": "no UTF-8" }, "variants": { "SAX (raw numbers)": { - "us": 10385.0, + "us": 10540.5, "level": "full" }, "SAX (raw numbers) (no encoding check)": { - "us": 10427.3, + "us": 10561.5, + "level": "no UTF-8" + }, + "SAX (no encoding check)": { + "us": 11185.7, "level": "no UTF-8" }, "SAX": { - "us": 11443.3, - "level": "full" - }, - "SAX (no encoding check)": { - "us": 11477.0, - "level": "no UTF-8" - }, - "insitu (copy)": { - "us": 11620.4, + "us": 11300.7, "level": "full" }, "insitu (copy) (no encoding check)": { - "us": 11778.0, + "us": 11559.6, "level": "no UTF-8" }, - "Document": { - "us": 12219.9, - "level": "full" - }, - "Document (reused allocator)": { - "us": 12517.4, + "insitu (copy)": { + "us": 11581.6, "level": "full" }, "Document (no encoding check)": { - "us": 12587.0, + "us": 12070.3, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 13002.8, + "us": 12109.4, "level": "no UTF-8" + }, + "Document": { + "us": 12280.1, + "level": "full" + }, + "Document (reused allocator)": { + "us": 12288.6, + "level": "full" } } }, "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 2621.0, + "us": 2406.0, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 2537.6, + "us": 2313.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 2537.6, + "us": 2313.5, "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 2621.0, + "us": 2406.0, "level": "full" }, "Value": { - "us": 14488.3, + "us": 12777.0, "level": "full" } } @@ -1100,23 +1100,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 2489.1, + "us": 2249.1, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 2489.1, + "us": 2249.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 2489.1, + "us": 2249.1, "level": "full" }, "Value": { - "us": 4041.2, + "us": 3650.5, "level": "full" } } @@ -1124,35 +1124,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 4629.8, + "us": 4358.8, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 4629.8, + "us": 4358.8, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 4807.9, + "us": 4188.3, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 4807.9, + "us": 4188.3, "level": "full" }, "variants": { - "tape (copy)": { - "us": 4629.8, + "tape (reused)": { + "us": 4188.3, "level": "full" }, - "tape (reused)": { - "us": 4807.9, + "tape (copy)": { + "us": 4358.8, "level": "full" }, "borrowed (copy)": { - "us": 11597.1, + "us": 9740.4, "level": "full" } } @@ -1162,35 +1162,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 37851.5, + "us": 34154.0, "level": "full" }, "best_any": { "variant": "accept", - "us": 37851.5, + "us": 34154.0, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 46206.6, + "us": 41976.6, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 46206.6, + "us": 41976.6, "level": "full" }, "variants": { "accept": { - "us": 37851.5, + "us": 34154.0, "level": "full" }, "read (reused)": { - "us": 46206.6, + "us": 41976.6, "level": "full" }, "parse": { - "us": 84126.4, + "us": 78958.0, "level": "full" } } @@ -1198,23 +1198,23 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 76081.7, + "us": 70283.8, "level": "full" }, "best_any": { "variant": "accept", - "us": 76081.7, + "us": 70283.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 76081.7, + "us": 70283.8, "level": "full" }, "parse": { - "us": 597233.8, + "us": 386103.5, "level": "full" } } @@ -1222,39 +1222,39 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 127604.7, + "us": 125497.1, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 127604.7, + "us": 125497.1, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 59739.3, + "us": 55568.7, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 59739.3, + "us": 55568.7, "level": "full" }, "variants": { "read (reused allocator)": { - "us": 59739.3, + "us": 55568.7, "level": "full" }, "insitu (copy)": { - "us": 127604.7, + "us": 125497.1, "level": "full" }, "read (raw numbers)": { - "us": 129345.2, + "us": 127727.1, "level": "full" }, "read": { - "us": 130219.4, + "us": 128798.7, "level": "full" } } @@ -1262,31 +1262,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 123266.0, + "us": 118181.7, "level": "full" }, "best_any": { "variant": "DOM", - "us": 123266.0, + "us": 118181.7, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 51867.3, + "us": 47301.1, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 51867.3, + "us": 47301.1, "level": "full" }, "variants": { "DOM (reused)": { - "us": 51867.3, + "us": 47301.1, "level": "full" }, "DOM": { - "us": 123266.0, + "us": 118181.7, "level": "full" } } @@ -1295,14 +1295,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 103703.8, + "us": 100683.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 103703.8, + "us": 100683.8, "level": "no UTF-8" } } @@ -1310,83 +1310,83 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 79560.7, + "us": 72734.1, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 79560.7, + "us": 72734.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 79560.7, - "level": "full" - }, - "generic (double, strict)": { - "us": 287375.3, + "us": 72734.1, "level": "full" }, "generic (double)": { - "us": 298202.9, + "us": 230242.4, "level": "partial" }, - "generic (strict)": { - "us": 474315.3, + "generic (double, strict)": { + "us": 230300.8, "level": "full" }, "generic": { - "us": 483092.7, + "us": 372574.1, "level": "partial" + }, + "generic (strict)": { + "us": 376195.4, + "level": "full" } } }, "Boost.JSON": { "best": { - "variant": "SAX (numbers: none)", - "us": 57741.7, + "variant": "SAX", + "us": 54986.5, "level": "full" }, "best_any": { - "variant": "SAX (numbers: none)", - "us": 57741.7, + "variant": "SAX", + "us": 54986.5, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 59311.7, + "us": 54179.4, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 59311.7, + "us": 54179.4, "level": "full" }, "variants": { - "SAX (numbers: none)": { - "us": 57741.7, + "SAX (reused)": { + "us": 54179.4, "level": "full" }, "SAX": { - "us": 58468.2, + "us": 54986.5, "level": "full" }, - "SAX (reused)": { - "us": 59311.7, + "SAX (numbers: none)": { + "us": 55791.1, "level": "full" }, "parser (reused)": { - "us": 134092.5, + "us": 127237.6, "level": "full" }, "parse (numbers: none)": { - "us": 190938.4, + "us": 191366.1, "level": "full" }, "parse": { - "us": 194063.6, + "us": 192877.0, "level": "full" } } @@ -1394,63 +1394,63 @@ "RapidJSON": { "best": { "variant": "SAX (raw numbers)", - "us": 254119.5, + "us": 247331.0, "level": "full" }, "best_any": { - "variant": "SAX (raw numbers) (no encoding check)", - "us": 168143.8, + "variant": "SAX (no encoding check)", + "us": 158423.4, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 288116.6, + "us": 287947.0, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 195165.7, + "us": 191293.0, "level": "no UTF-8" }, "variants": { - "SAX (raw numbers) (no encoding check)": { - "us": 168143.8, + "SAX (no encoding check)": { + "us": 158423.4, "level": "no UTF-8" }, - "SAX (no encoding check)": { - "us": 168170.6, + "SAX (raw numbers) (no encoding check)": { + "us": 159113.4, "level": "no UTF-8" }, "insitu (copy) (no encoding check)": { - "us": 187314.8, + "us": 172257.7, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 192923.8, + "us": 189323.0, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 195165.7, + "us": 191293.0, "level": "no UTF-8" }, "SAX (raw numbers)": { - "us": 254119.5, - "level": "full" - }, - "SAX": { - "us": 255484.3, + "us": 247331.0, "level": "full" }, "insitu (copy)": { - "us": 265214.2, + "us": 250969.6, + "level": "full" + }, + "SAX": { + "us": 257737.2, "level": "full" }, "Document": { - "us": 277692.9, + "us": 282974.3, "level": "full" }, "Document (reused allocator)": { - "us": 288116.6, + "us": 287947.0, "level": "full" } } @@ -1458,27 +1458,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 65602.4, + "us": 64719.7, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 60154.2, + "us": 58247.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 60154.2, + "us": 58247.3, "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 65602.4, + "us": 64719.7, "level": "full" }, "Value": { - "us": 514855.6, + "us": 389667.2, "level": "full" } } @@ -1486,23 +1486,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 55486.2, + "us": 54369.2, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 55486.2, + "us": 54369.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 55486.2, + "us": 54369.2, "level": "full" }, "Value": { - "us": 113431.8, + "us": 113483.8, "level": "full" } } @@ -1510,35 +1510,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 212467.4, + "us": 207551.3, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 212467.4, + "us": 207551.3, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 142848.3, + "us": 139519.7, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 142848.3, + "us": 139519.7, "level": "full" }, "variants": { "tape (reused)": { - "us": 142848.3, + "us": 139519.7, "level": "full" }, "tape (copy)": { - "us": 212467.4, + "us": 207551.3, "level": "full" }, "borrowed (copy)": { - "us": 297916.2, + "us": 277163.2, "level": "full" } } @@ -1558,12 +1558,12 @@ }, "best_reused": { "variant": "read (reused)", - "us": 1.4, + "us": 1.3, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 1.4, + "us": 1.3, "level": "full" }, "variants": { @@ -1572,7 +1572,7 @@ "level": "full" }, "read (reused)": { - "us": 1.4, + "us": 1.3, "level": "full" }, "parse": { @@ -1584,23 +1584,23 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 3.7, + "us": 3.3, "level": "full" }, "best_any": { "variant": "accept", - "us": 3.7, + "us": 3.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 3.7, + "us": 3.3, "level": "full" }, "parse": { - "us": 16.5, + "us": 20.4, "level": "full" } } @@ -1608,39 +1608,39 @@ "yyjson": { "best": { "variant": "read", - "us": 1.7, + "us": 1.6, "level": "full" }, "best_any": { "variant": "read", - "us": 1.7, + "us": 1.6, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 1.6, + "us": 1.5, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 1.6, + "us": 1.5, "level": "full" }, "variants": { "read (reused allocator)": { - "us": 1.6, + "us": 1.5, "level": "full" }, "read": { - "us": 1.7, + "us": 1.6, "level": "full" }, "insitu (copy)": { - "us": 1.7, + "us": 1.6, "level": "full" }, "read (raw numbers)": { - "us": 1.7, + "us": 1.6, "level": "full" } } @@ -1648,31 +1648,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 1.9, + "us": 1.7, "level": "full" }, "best_any": { "variant": "DOM", - "us": 1.9, + "us": 1.7, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 1.5, + "us": 1.4, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 1.5, + "us": 1.4, "level": "full" }, "variants": { "DOM (reused)": { - "us": 1.5, + "us": 1.4, "level": "full" }, "DOM": { - "us": 1.9, + "us": 1.7, "level": "full" } } @@ -1681,14 +1681,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 2.1, + "us": 1.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 2.1, + "us": 1.8, "level": "no UTF-8" } } @@ -1696,35 +1696,35 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 2.6, + "us": 2.5, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 2.6, + "us": 2.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 2.6, + "us": 2.5, "level": "full" }, "generic (double, strict)": { - "us": 10.5, + "us": 8.5, "level": "full" }, "generic (double)": { - "us": 10.7, + "us": 8.6, "level": "partial" }, "generic": { - "us": 18.0, + "us": 14.5, "level": "partial" }, "generic (strict)": { - "us": 18.1, + "us": 14.7, "level": "full" } } @@ -1732,47 +1732,47 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 2.4, + "us": 2.3, "level": "full" }, "best_any": { "variant": "SAX", - "us": 2.4, + "us": 2.3, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 2.5, + "us": 2.3, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 2.5, + "us": 2.3, "level": "full" }, "variants": { "SAX": { - "us": 2.4, + "us": 2.3, "level": "full" }, "SAX (numbers: none)": { - "us": 2.5, + "us": 2.3, "level": "full" }, "SAX (reused)": { - "us": 2.5, + "us": 2.3, "level": "full" }, "parser (reused)": { - "us": 5.9, - "level": "full" - }, - "parse": { - "us": 6.1, + "us": 5.6, "level": "full" }, "parse (numbers: none)": { - "us": 6.1, + "us": 5.7, + "level": "full" + }, + "parse": { + "us": 5.8, "level": "full" } } @@ -1780,63 +1780,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 9.2, + "us": 8.1, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 4.6, + "us": 4.1, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 12.2, + "us": 11.3, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 7.8, + "us": 7.3, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 4.6, + "us": 4.1, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 7.0, + "us": 6.6, "level": "no UTF-8" }, "SAX (raw numbers) (no encoding check)": { - "us": 7.0, + "us": 6.7, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 7.8, + "us": 7.3, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 8.4, + "us": 7.8, "level": "no UTF-8" }, "insitu (copy)": { - "us": 9.2, + "us": 8.1, "level": "full" }, "SAX": { - "us": 10.9, + "us": 10.1, "level": "full" }, "SAX (raw numbers)": { - "us": 11.1, + "us": 10.3, "level": "full" }, "Document (reused allocator)": { - "us": 12.2, + "us": 11.3, "level": "full" }, "Document": { - "us": 12.4, + "us": 11.4, "level": "full" } } @@ -1844,7 +1844,7 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 2.5, + "us": 2.4, "level": "full" }, "best_any": { @@ -1860,11 +1860,11 @@ "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 2.5, + "us": 2.4, "level": "full" }, "Value": { - "us": 13.9, + "us": 12.9, "level": "full" } } @@ -1888,7 +1888,7 @@ "level": "full" }, "Value": { - "us": 2.5, + "us": 2.3, "level": "full" } } @@ -1906,17 +1906,17 @@ }, "best_reused": { "variant": "tape (reused)", - "us": 2.4, + "us": 2.6, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 2.4, + "us": 2.6, "level": "full" }, "variants": { "tape (reused)": { - "us": 2.4, + "us": 2.6, "level": "full" }, "tape (copy)": { @@ -1924,7 +1924,7 @@ "level": "full" }, "borrowed (copy)": { - "us": 5.9, + "us": 5.7, "level": "full" } } @@ -1934,35 +1934,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 212.9, + "us": 214.1, "level": "full" }, "best_any": { "variant": "accept", - "us": 212.9, + "us": 214.1, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 249.7, + "us": 250.4, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 249.7, + "us": 250.4, "level": "full" }, "variants": { "accept": { - "us": 212.9, + "us": 214.1, "level": "full" }, "read (reused)": { - "us": 249.7, + "us": 250.4, "level": "full" }, "parse": { - "us": 256.5, + "us": 257.7, "level": "full" } } @@ -1970,63 +1970,63 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 597.0, + "us": 575.2, "level": "full" }, "best_any": { "variant": "accept", - "us": 597.0, + "us": 575.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 597.0, + "us": 575.2, "level": "full" }, "parse": { - "us": 3401.3, + "us": 3591.8, "level": "full" } } }, "yyjson": { "best": { - "variant": "read", - "us": 320.2, + "variant": "insitu (copy)", + "us": 317.7, "level": "full" }, "best_any": { - "variant": "read", - "us": 320.2, + "variant": "insitu (copy)", + "us": 317.7, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 324.9, + "us": 321.6, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 324.9, + "us": 321.6, "level": "full" }, "variants": { - "read": { - "us": 320.2, + "insitu (copy)": { + "us": 317.7, "level": "full" }, - "insitu (copy)": { - "us": 323.4, + "read": { + "us": 317.9, "level": "full" }, "read (reused allocator)": { - "us": 324.9, + "us": 321.6, "level": "full" }, "read (raw numbers)": { - "us": 326.8, + "us": 325.0, "level": "full" } } @@ -2034,31 +2034,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 295.2, + "us": 287.4, "level": "full" }, "best_any": { "variant": "DOM", - "us": 295.2, + "us": 287.4, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 285.7, + "us": 287.1, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 285.7, + "us": 287.1, "level": "full" }, "variants": { "DOM (reused)": { - "us": 285.7, + "us": 287.1, "level": "full" }, "DOM": { - "us": 295.2, + "us": 287.4, "level": "full" } } @@ -2067,14 +2067,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 334.1, + "us": 335.7, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 334.1, + "us": 335.7, "level": "no UTF-8" } } @@ -2082,35 +2082,35 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 471.4, + "us": 490.6, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 471.4, + "us": 490.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 471.4, + "us": 490.6, + "level": "full" + }, + "generic (double, strict)": { + "us": 2222.0, "level": "full" }, "generic (double)": { - "us": 2357.6, + "us": 2287.8, "level": "partial" }, - "generic (double, strict)": { - "us": 2431.7, - "level": "full" - }, "generic": { - "us": 3488.7, + "us": 3233.6, "level": "partial" }, "generic (strict)": { - "us": 3559.0, + "us": 3319.5, "level": "full" } } @@ -2118,47 +2118,47 @@ "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 427.7, + "us": 422.6, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 427.7, + "us": 422.6, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 442.0, + "us": 432.8, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 442.0, + "us": 432.8, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 427.7, - "level": "full" - }, - "SAX (reused)": { - "us": 442.0, + "us": 422.6, "level": "full" }, "SAX": { - "us": 448.8, + "us": 432.5, "level": "full" }, - "parser (reused)": { - "us": 1105.5, - "level": "full" - }, - "parse": { - "us": 1147.4, + "SAX (reused)": { + "us": 432.8, "level": "full" }, "parse (numbers: none)": { - "us": 1153.5, + "us": 1102.1, + "level": "full" + }, + "parse": { + "us": 1121.9, + "level": "full" + }, + "parser (reused)": { + "us": 1141.6, "level": "full" } } @@ -2166,63 +2166,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1498.5, + "us": 1548.6, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 927.2, + "us": 901.1, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2086.8, + "us": 2182.6, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1427.8, + "us": 1418.3, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 927.2, - "level": "no UTF-8" - }, - "SAX (raw numbers) (no encoding check)": { - "us": 1219.6, + "us": 901.1, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 1223.9, + "us": 1220.7, "level": "no UTF-8" }, - "Document (no encoding check)": { - "us": 1375.1, + "SAX (raw numbers) (no encoding check)": { + "us": 1235.8, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1427.8, + "us": 1418.3, + "level": "no UTF-8" + }, + "Document (no encoding check)": { + "us": 1430.8, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1498.5, + "us": 1548.6, "level": "full" }, "SAX (raw numbers)": { - "us": 1907.4, + "us": 1918.3, "level": "full" }, "SAX": { - "us": 1997.4, + "us": 1942.1, "level": "full" }, "Document": { - "us": 2056.6, + "us": 2157.8, "level": "full" }, "Document (reused allocator)": { - "us": 2086.8, + "us": 2182.6, "level": "full" } } @@ -2230,27 +2230,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 476.4, + "us": 475.9, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 345.3, + "us": 347.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 345.3, + "us": 347.5, "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 476.4, + "us": 475.9, "level": "full" }, "Value": { - "us": 3489.5, + "us": 3319.6, "level": "full" } } @@ -2258,23 +2258,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 340.0, + "us": 336.8, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 340.0, + "us": 336.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 340.0, + "us": 336.8, "level": "full" }, "Value": { - "us": 418.5, + "us": 416.3, "level": "full" } } @@ -2282,35 +2282,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 515.3, + "us": 516.9, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 515.3, + "us": 516.9, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 518.0, + "us": 541.7, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 518.0, + "us": 541.7, "level": "full" }, "variants": { "tape (copy)": { - "us": 515.3, + "us": 516.9, "level": "full" }, "tape (reused)": { - "us": 518.0, + "us": 541.7, "level": "full" }, "borrowed (copy)": { - "us": 1217.8, + "us": 1254.2, "level": "full" } } @@ -2320,35 +2320,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 309.3, + "us": 309.5, "level": "full" }, "best_any": { "variant": "accept", - "us": 309.3, + "us": 309.5, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 476.9, + "us": 481.8, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 476.9, + "us": 481.8, "level": "full" }, "variants": { "accept": { - "us": 309.3, + "us": 309.5, "level": "full" }, "read (reused)": { - "us": 476.9, + "us": 481.8, "level": "full" }, "parse": { - "us": 478.1, + "us": 483.7, "level": "full" } } @@ -2356,63 +2356,63 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 1089.0, + "us": 1068.7, "level": "full" }, "best_any": { "variant": "accept", - "us": 1089.0, + "us": 1068.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 1089.0, + "us": 1068.7, "level": "full" }, "parse": { - "us": 5379.3, + "us": 5093.1, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 480.6, + "variant": "read", + "us": 484.5, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 480.6, + "variant": "read", + "us": 484.5, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 495.4, + "us": 485.2, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 495.4, + "us": 485.2, "level": "full" }, "variants": { - "insitu (copy)": { - "us": 480.6, - "level": "full" - }, "read": { - "us": 481.7, + "us": 484.5, "level": "full" }, "read (reused allocator)": { - "us": 495.4, + "us": 485.2, + "level": "full" + }, + "insitu (copy)": { + "us": 485.6, "level": "full" }, "read (raw numbers)": { - "us": 541.9, + "us": 514.8, "level": "full" } } @@ -2420,31 +2420,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 568.2, + "us": 565.1, "level": "full" }, "best_any": { "variant": "DOM", - "us": 568.2, + "us": 565.1, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 568.1, + "us": 566.9, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 568.1, + "us": 566.9, "level": "full" }, "variants": { - "DOM (reused)": { - "us": 568.1, + "DOM": { + "us": 565.1, "level": "full" }, - "DOM": { - "us": 568.2, + "DOM (reused)": { + "us": 566.9, "level": "full" } } @@ -2453,14 +2453,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 683.3, + "us": 679.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 683.3, + "us": 679.8, "level": "no UTF-8" } } @@ -2468,147 +2468,147 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 681.5, + "us": 663.9, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 681.5, + "us": 663.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 681.5, + "us": 663.9, + "level": "full" + }, + "generic (double, strict)": { + "us": 3268.1, "level": "full" }, "generic (double)": { - "us": 3531.4, - "level": "partial" - }, - "generic (double, strict)": { - "us": 3533.6, - "level": "full" - }, - "generic": { - "us": 6918.0, + "us": 3397.1, "level": "partial" }, "generic (strict)": { - "us": 7081.2, + "us": 6080.5, "level": "full" + }, + "generic": { + "us": 6090.0, + "level": "partial" } } }, "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 527.9, + "us": 526.6, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 527.9, + "us": 526.6, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 581.7, + "us": 587.6, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 581.7, + "us": 587.6, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 527.9, - "level": "full" - }, - "SAX (reused)": { - "us": 581.7, + "us": 526.6, "level": "full" }, "SAX": { - "us": 583.9, + "us": 587.2, + "level": "full" + }, + "SAX (reused)": { + "us": 587.6, "level": "full" }, "parse (numbers: none)": { - "us": 1294.0, + "us": 1375.5, "level": "full" }, "parser (reused)": { - "us": 1376.8, + "us": 1413.7, "level": "full" }, "parse": { - "us": 1389.3, + "us": 1415.3, "level": "full" } } }, "RapidJSON": { "best": { - "variant": "SAX", - "us": 1779.3, + "variant": "insitu (copy)", + "us": 1742.9, "level": "full" }, "best_any": { "variant": "SAX (no encoding check)", - "us": 1429.0, + "us": 1387.9, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2235.4, + "us": 2203.6, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1711.8, + "us": 1704.9, "level": "no UTF-8" }, "variants": { "SAX (no encoding check)": { - "us": 1429.0, + "us": 1387.9, "level": "no UTF-8" }, "insitu (copy) (no encoding check)": { - "us": 1477.0, + "us": 1455.8, "level": "no UTF-8" }, "SAX (raw numbers) (no encoding check)": { - "us": 1606.4, + "us": 1643.9, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1711.8, + "us": 1704.9, "level": "no UTF-8" }, - "SAX": { - "us": 1779.3, - "level": "full" - }, - "insitu (copy)": { - "us": 1848.4, - "level": "full" - }, "Document (no encoding check)": { - "us": 1872.4, + "us": 1714.7, "level": "no UTF-8" }, + "insitu (copy)": { + "us": 1742.9, + "level": "full" + }, + "SAX": { + "us": 1787.8, + "level": "full" + }, "SAX (raw numbers)": { - "us": 2141.2, + "us": 2086.5, "level": "full" }, "Document (reused allocator)": { - "us": 2235.4, + "us": 2203.6, "level": "full" }, "Document": { - "us": 2335.0, + "us": 2230.5, "level": "full" } } @@ -2616,27 +2616,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 637.2, + "us": 647.4, "level": "full" }, "best_any": { - "variant": "from_utf8 + IgnoredAny", - "us": 637.2, - "level": "full" + "variant": "IgnoredAny", + "us": 641.0, + "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { - "from_utf8 + IgnoredAny": { - "us": 637.2, - "level": "full" - }, "IgnoredAny": { - "us": 665.8, + "us": 641.0, "level": "no UTF-8" }, + "from_utf8 + IgnoredAny": { + "us": 647.4, + "level": "full" + }, "Value": { - "us": 5301.8, + "us": 5357.5, "level": "full" } } @@ -2644,23 +2644,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 640.9, + "us": 610.9, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 640.9, + "us": 610.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 640.9, + "us": 610.9, "level": "full" }, "Value": { - "us": 819.1, + "us": 903.1, "level": "full" } } @@ -2668,35 +2668,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 1159.4, + "us": 1075.7, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 1159.4, + "us": 1075.7, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 1092.3, + "us": 1077.7, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 1092.3, + "us": 1077.7, "level": "full" }, "variants": { - "tape (reused)": { - "us": 1092.3, + "tape (copy)": { + "us": 1075.7, "level": "full" }, - "tape (copy)": { - "us": 1159.4, + "tape (reused)": { + "us": 1077.7, "level": "full" }, "borrowed (copy)": { - "us": 3638.6, + "us": 3360.4, "level": "full" } } @@ -2708,31 +2708,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 374.6, + "us": 372.0, "level": "full" }, "best_any": { "variant": "parse", - "us": 374.6, + "us": 372.0, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 366.3, + "us": 363.8, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 366.3, + "us": 363.8, "level": "full" }, "variants": { "read (reused)": { - "us": 366.3, + "us": 363.8, "level": "full" }, "parse": { - "us": 374.6, + "us": 372.0, "level": "full" } } @@ -2740,59 +2740,59 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 744.6, + "us": 719.9, "level": "full" }, "best_any": { "variant": "sax", - "us": 744.6, + "us": 719.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 744.6, + "us": 719.9, "level": "full" }, "parse": { - "us": 3624.6, + "us": 3725.8, "level": "full" } } }, "yyjson": { "best": { - "variant": "read", - "us": 434.6, + "variant": "insitu (copy)", + "us": 435.4, "level": "full" }, "best_any": { - "variant": "read", - "us": 434.6, + "variant": "insitu (copy)", + "us": 435.4, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 447.8, + "us": 440.1, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 447.8, + "us": 440.1, "level": "full" }, "variants": { - "read": { - "us": 434.6, + "insitu (copy)": { + "us": 435.4, "level": "full" }, - "insitu (copy)": { - "us": 435.0, + "read": { + "us": 439.2, "level": "full" }, "read (reused allocator)": { - "us": 447.8, + "us": 440.1, "level": "full" } } @@ -2800,39 +2800,39 @@ "simdjson": { "best": { "variant": "DOM", - "us": 394.8, + "us": 398.1, "level": "full" }, "best_any": { "variant": "DOM", - "us": 394.8, + "us": 398.1, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 390.3, + "us": 396.0, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 390.3, + "us": 396.0, "level": "full" }, "variants": { "DOM (reused)": { - "us": 390.3, + "us": 396.0, "level": "full" }, "DOM": { - "us": 394.8, + "us": 398.1, "level": "full" }, "On-Demand": { - "us": 565.1, + "us": 566.9, "level": "full" }, "On-Demand (reused)": { - "us": 567.0, + "us": 566.9, "level": "full" } } @@ -2841,14 +2841,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 503.3, + "us": 508.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 503.3, + "us": 508.5, "level": "no UTF-8" } } @@ -2856,36 +2856,36 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 2521.8, + "us": 2392.1, "level": "full" }, "best_any": { - "variant": "generic (double, strict)", - "us": 2521.8, - "level": "full" + "variant": "generic (double)", + "us": 2382.9, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (double, strict)": { - "us": 2521.8, - "level": "full" - }, "generic (double)": { - "us": 2533.3, + "us": 2382.9, "level": "partial" }, + "generic (double, strict)": { + "us": 2392.1, + "level": "full" + }, "lazy_json": { - "us": 2622.9, + "us": 2570.8, + "level": "partial" + }, + "generic": { + "us": 3396.8, "level": "partial" }, "generic (strict)": { - "us": 3736.2, + "us": 3399.0, "level": "full" - }, - "generic": { - "us": 3847.9, - "level": "partial" } }, "excluded": { @@ -2895,39 +2895,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 582.2, + "us": 580.4, "level": "full" }, "best_any": { "variant": "SAX", - "us": 582.2, + "us": 580.4, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 583.1, + "us": 585.2, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 583.1, + "us": 585.2, "level": "full" }, "variants": { "SAX": { - "us": 582.2, + "us": 580.4, "level": "full" }, "SAX (reused)": { - "us": 583.1, + "us": 585.2, "level": "full" }, "parser (reused)": { - "us": 1283.4, + "us": 1281.8, "level": "full" }, "parse": { - "us": 1296.0, + "us": 1286.3, "level": "full" } } @@ -2935,55 +2935,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1869.4, + "us": 1865.2, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1231.2, + "us": 1231.6, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2225.8, + "us": 2276.9, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1541.4, + "us": 1533.1, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1231.2, + "us": 1231.6, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 1399.8, + "us": 1355.4, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1527.8, + "us": 1531.9, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1541.4, + "us": 1533.1, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1869.4, + "us": 1865.2, "level": "full" }, "SAX": { - "us": 2043.4, - "level": "full" - }, - "Document (reused allocator)": { - "us": 2225.8, + "us": 2041.9, "level": "full" }, "Document": { - "us": 2235.5, + "us": 2237.7, + "level": "full" + }, + "Document (reused allocator)": { + "us": 2276.9, "level": "full" } } @@ -2991,23 +2991,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 1310.8, + "us": 1311.0, "level": "full" }, "best_any": { "variant": "visitor", - "us": 1310.8, + "us": 1311.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 1310.8, + "us": 1311.0, "level": "full" }, "Value": { - "us": 3672.0, + "us": 3539.8, "level": "full" } } @@ -3015,23 +3015,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 503.3, + "us": 501.0, "level": "full" }, "best_any": { "variant": "visitor", - "us": 503.3, + "us": 501.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 503.3, + "us": 501.0, "level": "full" }, "Value": { - "us": 815.3, + "us": 813.3, "level": "full" } } @@ -3039,35 +3039,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 667.8, + "us": 681.3, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 667.8, + "us": 681.3, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 1440.1, + "us": 1417.9, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 1440.1, + "us": 1417.9, "level": "full" }, "variants": { "visitor (copy)": { - "us": 667.8, - "level": "full" - }, - "borrowed (reused)": { - "us": 1440.1, + "us": 681.3, "level": "full" }, "borrowed (copy)": { - "us": 1456.2, + "us": 1398.0, + "level": "full" + }, + "borrowed (reused)": { + "us": 1417.9, "level": "full" } } @@ -3077,31 +3077,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 897.9, + "us": 947.8, "level": "full" }, "best_any": { "variant": "parse", - "us": 897.9, + "us": 947.8, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 890.5, + "us": 946.9, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 890.5, + "us": 946.9, "level": "full" }, "variants": { "read (reused)": { - "us": 890.5, + "us": 946.9, "level": "full" }, "parse": { - "us": 897.9, + "us": 947.8, "level": "full" } } @@ -3109,23 +3109,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 1619.1, + "us": 1381.8, "level": "full" }, "best_any": { "variant": "sax", - "us": 1619.1, + "us": 1381.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 1619.1, + "us": 1381.8, "level": "full" }, "parse": { - "us": 6306.2, + "us": 5431.3, "level": "full" } } @@ -3133,35 +3133,35 @@ "yyjson": { "best": { "variant": "read", - "us": 1085.5, + "us": 1054.3, "level": "full" }, "best_any": { "variant": "read", - "us": 1085.5, + "us": 1054.3, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 1209.7, + "us": 1061.7, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 1209.7, + "us": 1061.7, "level": "full" }, "variants": { "read": { - "us": 1085.5, + "us": 1054.3, "level": "full" }, "insitu (copy)": { - "us": 1106.5, + "us": 1055.3, "level": "full" }, "read (reused allocator)": { - "us": 1209.7, + "us": 1061.7, "level": "full" } } @@ -3169,39 +3169,39 @@ "simdjson": { "best": { "variant": "DOM", - "us": 1028.2, + "us": 981.3, "level": "full" }, "best_any": { "variant": "DOM", - "us": 1028.2, + "us": 981.3, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 996.0, + "us": 978.2, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 996.0, + "us": 978.2, "level": "full" }, "variants": { "DOM (reused)": { - "us": 996.0, + "us": 978.2, "level": "full" }, "DOM": { - "us": 1028.2, + "us": 981.3, "level": "full" }, "On-Demand (reused)": { - "us": 1389.4, + "us": 1347.7, "level": "full" }, "On-Demand": { - "us": 1449.8, + "us": 1350.5, "level": "full" } } @@ -3210,14 +3210,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1181.0, + "us": 1171.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1181.0, + "us": 1171.3, "level": "no UTF-8" } } @@ -3225,35 +3225,35 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 4277.6, + "us": 4048.0, "level": "full" }, "best_any": { - "variant": "generic (double, strict)", - "us": 4277.6, - "level": "full" + "variant": "generic (double)", + "us": 4010.5, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (double, strict)": { - "us": 4277.6, - "level": "full" - }, "generic (double)": { - "us": 4502.3, + "us": 4010.5, "level": "partial" }, - "generic (strict)": { - "us": 7986.7, + "generic (double, strict)": { + "us": 4048.0, "level": "full" }, "generic": { - "us": 7997.3, + "us": 6676.2, "level": "partial" }, + "generic (strict)": { + "us": 6741.0, + "level": "full" + }, "lazy_json": { - "us": 11771.0, + "us": 10826.8, "level": "partial" } }, @@ -3264,39 +3264,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 939.2, + "us": 924.0, "level": "full" }, "best_any": { "variant": "SAX", - "us": 939.2, + "us": 924.0, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 957.3, + "us": 924.1, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 957.3, + "us": 924.1, "level": "full" }, "variants": { "SAX": { - "us": 939.2, + "us": 924.0, "level": "full" }, "SAX (reused)": { - "us": 957.3, + "us": 924.1, "level": "full" }, "parser (reused)": { - "us": 1805.8, + "us": 1808.0, "level": "full" }, "parse": { - "us": 1861.8, + "us": 1820.4, "level": "full" } } @@ -3304,55 +3304,55 @@ "RapidJSON": { "best": { "variant": "SAX", - "us": 2305.2, + "us": 2173.2, "level": "full" }, "best_any": { "variant": "SAX (no encoding check)", - "us": 1954.2, + "us": 1756.8, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2705.0, + "us": 2599.0, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 2240.6, + "us": 2115.9, "level": "no UTF-8" }, "variants": { "SAX (no encoding check)": { - "us": 1954.2, + "us": 1756.8, "level": "no UTF-8" }, "insitu (copy) (no encoding check)": { - "us": 2229.8, + "us": 2087.6, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 2240.6, + "us": 2115.9, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 2295.3, + "us": 2139.8, "level": "no UTF-8" }, "SAX": { - "us": 2305.2, + "us": 2173.2, "level": "full" }, "insitu (copy)": { - "us": 2582.3, + "us": 2455.0, "level": "full" }, "Document (reused allocator)": { - "us": 2705.0, + "us": 2599.0, "level": "full" }, "Document": { - "us": 2761.1, + "us": 2615.6, "level": "full" } } @@ -3360,23 +3360,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 2316.5, + "us": 2287.8, "level": "full" }, "best_any": { "variant": "visitor", - "us": 2316.5, + "us": 2287.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 2316.5, + "us": 2287.8, "level": "full" }, "Value": { - "us": 6263.6, + "us": 5984.9, "level": "full" } } @@ -3384,23 +3384,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 1122.8, + "us": 1122.9, "level": "full" }, "best_any": { "variant": "visitor", - "us": 1122.8, + "us": 1122.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 1122.8, + "us": 1122.9, "level": "full" }, "Value": { - "us": 1850.5, + "us": 1829.3, "level": "full" } } @@ -3408,35 +3408,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 1687.6, + "us": 1649.9, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 1687.6, + "us": 1649.9, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 3929.4, + "us": 3680.4, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 3929.4, + "us": 3680.4, "level": "full" }, "variants": { "visitor (copy)": { - "us": 1687.6, - "level": "full" - }, - "borrowed (reused)": { - "us": 3929.4, + "us": 1649.9, "level": "full" }, "borrowed (copy)": { - "us": 3960.3, + "us": 3653.1, + "level": "full" + }, + "borrowed (reused)": { + "us": 3680.4, "level": "full" } } @@ -3446,31 +3446,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 3822.2, + "us": 3719.7, "level": "full" }, "best_any": { "variant": "parse", - "us": 3822.2, + "us": 3719.7, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 3863.4, + "us": 3721.0, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 3863.4, + "us": 3721.0, "level": "full" }, "variants": { "parse": { - "us": 3822.2, + "us": 3719.7, "level": "full" }, "read (reused)": { - "us": 3863.4, + "us": 3721.0, "level": "full" } } @@ -3478,59 +3478,59 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 5469.7, + "us": 5162.3, "level": "full" }, "best_any": { "variant": "sax", - "us": 5469.7, + "us": 5162.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 5469.7, + "us": 5162.3, "level": "full" }, "parse": { - "us": 13314.7, + "us": 11600.8, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 3458.3, + "variant": "read", + "us": 3455.6, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 3458.3, + "variant": "read", + "us": 3455.6, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 3527.2, + "us": 3526.9, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 3527.2, + "us": 3526.9, "level": "full" }, "variants": { + "read": { + "us": 3455.6, + "level": "full" + }, "insitu (copy)": { - "us": 3458.3, + "us": 3456.5, "level": "full" }, "read (reused allocator)": { - "us": 3527.2, - "level": "full" - }, - "read": { - "us": 3666.9, + "us": 3526.9, "level": "full" } } @@ -3538,39 +3538,39 @@ "simdjson": { "best": { "variant": "DOM", - "us": 4221.1, + "us": 4130.6, "level": "full" }, "best_any": { "variant": "DOM", - "us": 4221.1, + "us": 4130.6, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 4229.7, + "us": 4139.0, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 4229.7, + "us": 4139.0, "level": "full" }, "variants": { "DOM": { - "us": 4221.1, + "us": 4130.6, "level": "full" }, "DOM (reused)": { - "us": 4229.7, - "level": "full" - }, - "On-Demand": { - "us": 5873.5, + "us": 4139.0, "level": "full" }, "On-Demand (reused)": { - "us": 5911.3, + "us": 5627.1, + "level": "full" + }, + "On-Demand": { + "us": 5735.9, "level": "full" } } @@ -3579,14 +3579,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 3913.3, + "us": 3660.7, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 3913.3, + "us": 3660.7, "level": "no UTF-8" } } @@ -3594,36 +3594,36 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 12460.5, + "us": 11814.1, "level": "full" }, "best_any": { "variant": "generic (double, strict)", - "us": 12460.5, + "us": 11814.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "generic (double, strict)": { - "us": 12460.5, + "us": 11814.1, "level": "full" }, "generic (double)": { - "us": 12498.6, + "us": 12213.8, "level": "partial" }, "lazy_json": { - "us": 18199.5, + "us": 17324.1, + "level": "partial" + }, + "generic": { + "us": 23177.0, "level": "partial" }, "generic (strict)": { - "us": 26979.4, + "us": 23748.2, "level": "full" - }, - "generic": { - "us": 27426.8, - "level": "partial" } }, "excluded": { @@ -3633,39 +3633,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 6061.2, + "us": 5914.7, "level": "full" }, "best_any": { "variant": "SAX", - "us": 6061.2, + "us": 5914.7, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 6066.5, + "us": 5906.2, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 6066.5, + "us": 5906.2, "level": "full" }, "variants": { - "SAX": { - "us": 6061.2, + "SAX (reused)": { + "us": 5906.2, "level": "full" }, - "SAX (reused)": { - "us": 6066.5, + "SAX": { + "us": 5914.7, "level": "full" }, "parser (reused)": { - "us": 7697.1, + "us": 7502.7, "level": "full" }, "parse": { - "us": 7698.9, + "us": 7544.5, "level": "full" } } @@ -3673,79 +3673,79 @@ "RapidJSON": { "best": { "variant": "SAX", - "us": 12616.6, + "us": 11995.0, "level": "full" }, "best_any": { "variant": "SAX", - "us": 12616.6, + "us": 11995.0, "level": "full" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 13573.4, + "us": 12777.0, "level": "full" }, "best_reused_any": { - "variant": "Document (reused allocator)", - "us": 13573.4, - "level": "full" + "variant": "Document (reused allocator) (no encoding check)", + "us": 12578.1, + "level": "no UTF-8" }, "variants": { "SAX": { - "us": 12616.6, - "level": "full" - }, - "insitu (copy)": { - "us": 12681.3, + "us": 11995.0, "level": "full" }, "SAX (no encoding check)": { - "us": 12682.1, + "us": 12123.0, "level": "no UTF-8" }, "insitu (copy) (no encoding check)": { - "us": 12682.6, + "us": 12161.9, "level": "no UTF-8" }, - "Document": { - "us": 13493.1, + "insitu (copy)": { + "us": 12193.6, "level": "full" }, - "Document (reused allocator)": { - "us": 13573.4, - "level": "full" - }, - "Document (no encoding check)": { - "us": 13878.4, - "level": "no UTF-8" - }, "Document (reused allocator) (no encoding check)": { - "us": 13910.5, + "us": 12578.1, "level": "no UTF-8" + }, + "Document (no encoding check)": { + "us": 12646.8, + "level": "no UTF-8" + }, + "Document (reused allocator)": { + "us": 12777.0, + "level": "full" + }, + "Document": { + "us": 12890.7, + "level": "full" } } }, "serde_json": { "best": { "variant": "visitor", - "us": 7240.7, + "us": 7126.8, "level": "full" }, "best_any": { "variant": "visitor", - "us": 7240.7, + "us": 7126.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 7240.7, + "us": 7126.8, "level": "full" }, "Value": { - "us": 13909.9, + "us": 13663.1, "level": "full" } } @@ -3753,23 +3753,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 4418.5, + "us": 4397.1, "level": "full" }, "best_any": { "variant": "visitor", - "us": 4418.5, + "us": 4397.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 4418.5, + "us": 4397.1, "level": "full" }, "Value": { - "us": 7197.0, + "us": 7133.8, "level": "full" } } @@ -3777,35 +3777,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 5134.0, + "us": 5083.0, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 5134.0, + "us": 5083.0, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 11297.7, + "us": 10643.9, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 11297.7, + "us": 10643.9, "level": "full" }, "variants": { "visitor (copy)": { - "us": 5134.0, - "level": "full" - }, - "borrowed (copy)": { - "us": 11077.3, + "us": 5083.0, "level": "full" }, "borrowed (reused)": { - "us": 11297.7, + "us": 10643.9, + "level": "full" + }, + "borrowed (copy)": { + "us": 10771.4, "level": "full" } } @@ -3815,31 +3815,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 94038.8, + "us": 86351.3, "level": "full" }, "best_any": { "variant": "parse", - "us": 94038.8, + "us": 86351.3, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 54769.6, + "us": 54182.6, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 54769.6, + "us": 54182.6, "level": "full" }, "variants": { "read (reused)": { - "us": 54769.6, + "us": 54182.6, "level": "full" }, "parse": { - "us": 94038.8, + "us": 86351.3, "level": "full" } } @@ -3847,59 +3847,59 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 100260.0, + "us": 87316.0, "level": "full" }, "best_any": { "variant": "sax", - "us": 100260.0, + "us": 87316.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 100260.0, + "us": 87316.0, "level": "full" }, "parse": { - "us": 656812.3, + "us": 424984.3, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 141006.2, + "variant": "read", + "us": 131400.5, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 141006.2, + "variant": "read", + "us": 131400.5, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 70644.5, + "us": 67174.7, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 70644.5, + "us": 67174.7, "level": "full" }, "variants": { "read (reused allocator)": { - "us": 70644.5, - "level": "full" - }, - "insitu (copy)": { - "us": 141006.2, + "us": 67174.7, "level": "full" }, "read": { - "us": 145608.0, + "us": 131400.5, + "level": "full" + }, + "insitu (copy)": { + "us": 134258.6, "level": "full" } } @@ -3907,39 +3907,39 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 121943.9, + "us": 116924.0, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 121943.9, + "us": 116924.0, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 67549.1, + "us": 61476.9, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 67549.1, + "us": 61476.9, "level": "full" }, "variants": { "DOM (reused)": { - "us": 67549.1, + "us": 61476.9, "level": "full" }, "On-Demand (reused)": { - "us": 81626.1, + "us": 73021.5, "level": "full" }, "On-Demand": { - "us": 121943.9, + "us": 116924.0, "level": "full" }, "DOM": { - "us": 134955.7, + "us": 126789.3, "level": "full" } } @@ -3948,14 +3948,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 116463.5, + "us": 110606.7, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 116463.5, + "us": 110606.7, "level": "no UTF-8" } } @@ -3963,36 +3963,36 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 334494.0, + "us": 264674.9, "level": "full" }, "best_any": { "variant": "lazy_json", - "us": 221801.8, + "us": 198417.5, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "lazy_json": { - "us": 221801.8, + "us": 198417.5, "level": "partial" }, "generic (double)": { - "us": 326022.5, + "us": 261586.8, "level": "partial" }, "generic (double, strict)": { - "us": 334494.0, - "level": "full" - }, - "generic (strict)": { - "us": 522207.3, + "us": 264674.9, "level": "full" }, "generic": { - "us": 526829.0, + "us": 401730.7, "level": "partial" + }, + "generic (strict)": { + "us": 418700.1, + "level": "full" } }, "excluded": { @@ -4002,95 +4002,95 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 60121.8, + "us": 60350.8, "level": "full" }, "best_any": { "variant": "SAX", - "us": 60121.8, + "us": 60350.8, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 60074.2, + "us": 58391.4, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 60074.2, + "us": 58391.4, "level": "full" }, "variants": { "SAX (reused)": { - "us": 60074.2, + "us": 58391.4, "level": "full" }, "SAX": { - "us": 60121.8, + "us": 60350.8, "level": "full" }, "parser (reused)": { - "us": 151157.6, + "us": 148478.1, "level": "full" }, "parse": { - "us": 208392.7, + "us": 216900.8, "level": "full" } } }, "RapidJSON": { "best": { - "variant": "insitu (copy)", - "us": 269631.0, + "variant": "SAX", + "us": 258526.5, "level": "full" }, "best_any": { "variant": "SAX (no encoding check)", - "us": 185360.0, + "us": 166047.2, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 302286.7, + "us": 289995.2, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 213803.2, + "us": 209384.5, "level": "no UTF-8" }, "variants": { "SAX (no encoding check)": { - "us": 185360.0, + "us": 166047.2, "level": "no UTF-8" }, "insitu (copy) (no encoding check)": { - "us": 196220.7, - "level": "no UTF-8" - }, - "Document (reused allocator) (no encoding check)": { - "us": 213803.2, + "us": 186769.2, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 219776.5, + "us": 203077.9, "level": "no UTF-8" }, - "insitu (copy)": { - "us": 269631.0, - "level": "full" + "Document (reused allocator) (no encoding check)": { + "us": 209384.5, + "level": "no UTF-8" }, "SAX": { - "us": 281224.1, + "us": 258526.5, + "level": "full" + }, + "insitu (copy)": { + "us": 259229.5, "level": "full" }, "Document (reused allocator)": { - "us": 302286.7, + "us": 289995.2, "level": "full" }, "Document": { - "us": 316304.9, + "us": 297763.7, "level": "full" } } @@ -4098,23 +4098,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 130249.3, + "us": 129497.0, "level": "full" }, "best_any": { "variant": "visitor", - "us": 130249.3, + "us": 129497.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 130249.3, + "us": 129497.0, "level": "full" }, "Value": { - "us": 544041.8, + "us": 403258.0, "level": "full" } } @@ -4122,23 +4122,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 59992.8, + "us": 59583.3, "level": "full" }, "best_any": { "variant": "visitor", - "us": 59992.8, + "us": 59583.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 59992.8, + "us": 59583.3, "level": "full" }, "Value": { - "us": 149296.9, + "us": 139337.6, "level": "full" } } @@ -4146,35 +4146,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 224411.1, + "us": 210185.2, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 224411.1, + "us": 210185.2, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 236685.9, + "us": 220283.6, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 236685.9, + "us": 220283.6, "level": "full" }, "variants": { "visitor (copy)": { - "us": 224411.1, + "us": 210185.2, "level": "full" }, "borrowed (reused)": { - "us": 236685.9, + "us": 220283.6, "level": "full" }, "borrowed (copy)": { - "us": 310720.1, + "us": 282561.7, "level": "full" } } @@ -4216,23 +4216,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 4.4, + "us": 3.9, "level": "full" }, "best_any": { "variant": "sax", - "us": 4.4, + "us": 3.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 4.4, + "us": 3.9, "level": "full" }, "parse": { - "us": 17.3, + "us": 19.3, "level": "full" } } @@ -4276,39 +4276,39 @@ "simdjson": { "best": { "variant": "DOM", - "us": 2.4, + "us": 2.3, "level": "full" }, "best_any": { "variant": "DOM", - "us": 2.4, + "us": 2.3, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 1.9, + "us": 2.1, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 1.9, + "us": 2.1, "level": "full" }, "variants": { "DOM (reused)": { - "us": 1.9, + "us": 2.1, "level": "full" }, "DOM": { - "us": 2.4, + "us": 2.3, "level": "full" }, "On-Demand (reused)": { - "us": 2.9, + "us": 2.8, "level": "full" }, "On-Demand": { - "us": 3.1, + "us": 3.0, "level": "full" } } @@ -4317,14 +4317,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 2.4, + "us": 2.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 2.4, + "us": 2.2, "level": "no UTF-8" } } @@ -4332,36 +4332,36 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 11.1, + "us": 8.9, "level": "full" }, "best_any": { "variant": "lazy_json", - "us": 6.2, + "us": 5.7, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "lazy_json": { - "us": 6.2, + "us": 5.7, "level": "partial" }, "generic (double)": { - "us": 11.1, + "us": 8.9, "level": "partial" }, "generic (double, strict)": { - "us": 11.1, - "level": "full" - }, - "generic (strict)": { - "us": 18.8, + "us": 8.9, "level": "full" }, "generic": { - "us": 19.1, + "us": 14.9, "level": "partial" + }, + "generic (strict)": { + "us": 15.0, + "level": "full" } }, "excluded": { @@ -4371,39 +4371,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 2.5, + "us": 2.3, "level": "full" }, "best_any": { "variant": "SAX", - "us": 2.5, + "us": 2.3, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 2.4, + "us": 2.3, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 2.4, + "us": 2.3, "level": "full" }, "variants": { - "SAX (reused)": { - "us": 2.4, + "SAX": { + "us": 2.3, "level": "full" }, - "SAX": { - "us": 2.5, + "SAX (reused)": { + "us": 2.3, "level": "full" }, "parser (reused)": { - "us": 6.2, + "us": 5.9, "level": "full" }, "parse": { - "us": 6.5, + "us": 6.2, "level": "full" } } @@ -4411,55 +4411,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 9.0, + "us": 8.5, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 4.8, + "us": 4.4, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 12.4, + "us": 11.7, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 8.5, + "us": 7.7, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 4.8, + "us": 4.4, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 7.3, + "us": 6.7, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 8.5, + "us": 7.7, + "level": "no UTF-8" + }, + "Document (no encoding check)": { + "us": 8.1, "level": "no UTF-8" }, "insitu (copy)": { - "us": 9.0, + "us": 8.5, "level": "full" }, - "Document (no encoding check)": { - "us": 9.0, - "level": "no UTF-8" - }, "SAX": { - "us": 11.7, + "us": 10.5, "level": "full" }, "Document (reused allocator)": { - "us": 12.4, + "us": 11.7, "level": "full" }, "Document": { - "us": 13.3, + "us": 11.8, "level": "full" } } @@ -4467,23 +4467,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 5.1, + "us": 4.6, "level": "full" }, "best_any": { "variant": "visitor", - "us": 5.1, + "us": 4.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 5.1, + "us": 4.6, "level": "full" }, "Value": { - "us": 14.2, + "us": 13.2, "level": "full" } } @@ -4491,23 +4491,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 2.8, + "us": 2.5, "level": "full" }, "best_any": { "variant": "visitor", - "us": 2.8, + "us": 2.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 2.8, + "us": 2.5, "level": "full" }, "Value": { - "us": 4.5, + "us": 3.9, "level": "full" } } @@ -4515,35 +4515,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 4.0, + "us": 3.5, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 4.0, + "us": 3.5, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 6.7, + "us": 5.8, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 6.7, + "us": 5.8, "level": "full" }, "variants": { "visitor (copy)": { - "us": 4.0, + "us": 3.5, "level": "full" }, "borrowed (reused)": { - "us": 6.7, + "us": 5.8, "level": "full" }, "borrowed (copy)": { - "us": 7.4, + "us": 6.1, "level": "full" } } @@ -4553,31 +4553,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 351.8, + "us": 323.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 351.8, + "us": 323.2, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 336.1, + "us": 318.4, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 336.1, + "us": 318.4, "level": "full" }, "variants": { "read (reused)": { - "us": 336.1, + "us": 318.4, "level": "full" }, "parse": { - "us": 351.8, + "us": 323.2, "level": "full" } } @@ -4585,59 +4585,59 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 751.4, + "us": 673.5, "level": "full" }, "best_any": { "variant": "sax", - "us": 751.4, + "us": 673.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 751.4, + "us": 673.5, "level": "full" }, "parse": { - "us": 3896.1, + "us": 3801.1, "level": "full" } } }, "yyjson": { "best": { - "variant": "read", - "us": 401.7, + "variant": "insitu (copy)", + "us": 375.0, "level": "full" }, "best_any": { - "variant": "read", - "us": 401.7, + "variant": "insitu (copy)", + "us": 375.0, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 374.6, + "us": 386.5, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 374.6, + "us": 386.5, "level": "full" }, "variants": { - "read (reused allocator)": { - "us": 374.6, + "insitu (copy)": { + "us": 375.0, "level": "full" }, "read": { - "us": 401.7, + "us": 377.2, "level": "full" }, - "insitu (copy)": { - "us": 402.4, + "read (reused allocator)": { + "us": 386.5, "level": "full" } } @@ -4645,39 +4645,39 @@ "simdjson": { "best": { "variant": "DOM", - "us": 406.7, + "us": 379.2, "level": "full" }, "best_any": { "variant": "DOM", - "us": 406.7, + "us": 379.2, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 396.2, + "us": 375.8, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 396.2, + "us": 375.8, "level": "full" }, "variants": { "DOM (reused)": { - "us": 396.2, + "us": 375.8, "level": "full" }, "DOM": { - "us": 406.7, - "level": "full" - }, - "On-Demand (reused)": { - "us": 588.4, + "us": 379.2, "level": "full" }, "On-Demand": { - "us": 609.2, + "us": 543.5, + "level": "full" + }, + "On-Demand (reused)": { + "us": 546.3, "level": "full" } } @@ -4686,14 +4686,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 409.9, + "us": 387.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 409.9, + "us": 387.4, "level": "no UTF-8" } } @@ -4701,36 +4701,36 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 2550.1, + "us": 2285.6, "level": "full" }, "best_any": { "variant": "lazy_json", - "us": 1798.4, + "us": 1752.1, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "lazy_json": { - "us": 1798.4, + "us": 1752.1, + "level": "partial" + }, + "generic (double)": { + "us": 2230.9, "level": "partial" }, "generic (double, strict)": { - "us": 2550.1, - "level": "full" - }, - "generic (double)": { - "us": 2562.7, - "level": "partial" - }, - "generic (strict)": { - "us": 3930.6, + "us": 2285.6, "level": "full" }, "generic": { - "us": 3985.2, + "us": 3393.6, "level": "partial" + }, + "generic (strict)": { + "us": 3409.5, + "level": "full" } }, "excluded": { @@ -4740,39 +4740,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 462.8, + "us": 463.2, "level": "full" }, "best_any": { "variant": "SAX", - "us": 462.8, + "us": 463.2, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 469.0, + "us": 448.6, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 469.0, + "us": 448.6, "level": "full" }, "variants": { - "SAX": { - "us": 462.8, + "SAX (reused)": { + "us": 448.6, "level": "full" }, - "SAX (reused)": { - "us": 469.0, + "SAX": { + "us": 463.2, "level": "full" }, "parse": { - "us": 1324.6, + "us": 1204.6, "level": "full" }, "parser (reused)": { - "us": 1328.3, + "us": 1228.4, "level": "full" } } @@ -4780,55 +4780,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1748.1, + "us": 1545.5, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1036.6, + "us": 984.4, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2384.7, + "us": 2302.6, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1632.7, + "us": 1499.4, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1036.6, + "us": 984.4, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 1390.8, - "level": "no UTF-8" - }, - "Document (no encoding check)": { - "us": 1602.6, + "us": 1239.9, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1632.7, + "us": 1499.4, + "level": "no UTF-8" + }, + "Document (no encoding check)": { + "us": 1524.6, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1748.1, + "us": 1545.5, "level": "full" }, "SAX": { - "us": 2207.6, - "level": "full" - }, - "Document (reused allocator)": { - "us": 2384.7, + "us": 1975.9, "level": "full" }, "Document": { - "us": 2406.3, + "us": 2238.7, + "level": "full" + }, + "Document (reused allocator)": { + "us": 2302.6, "level": "full" } } @@ -4836,23 +4836,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 1040.4, + "us": 1119.0, "level": "full" }, "best_any": { "variant": "visitor", - "us": 1040.4, + "us": 1119.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 1040.4, + "us": 1119.0, "level": "full" }, "Value": { - "us": 3494.0, + "us": 3713.4, "level": "full" } } @@ -4860,23 +4860,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 397.3, + "us": 443.3, "level": "full" }, "best_any": { "variant": "visitor", - "us": 397.3, + "us": 443.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 397.3, + "us": 443.3, "level": "full" }, "Value": { - "us": 674.0, + "us": 684.6, "level": "full" } } @@ -4884,35 +4884,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 619.8, + "us": 635.0, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 619.8, + "us": 635.0, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 1381.5, + "us": 1433.7, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 1381.5, + "us": 1433.7, "level": "full" }, "variants": { "visitor (copy)": { - "us": 619.8, + "us": 635.0, "level": "full" }, "borrowed (reused)": { - "us": 1381.5, + "us": 1433.7, "level": "full" }, "borrowed (copy)": { - "us": 1415.1, + "us": 1434.6, "level": "full" } } @@ -4922,31 +4922,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 654.4, + "us": 659.8, "level": "full" }, "best_any": { "variant": "parse", - "us": 654.4, + "us": 659.8, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 662.6, + "us": 659.0, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 662.6, + "us": 659.0, "level": "full" }, "variants": { - "parse": { - "us": 654.4, + "read (reused)": { + "us": 659.0, "level": "full" }, - "read (reused)": { - "us": 662.6, + "parse": { + "us": 659.8, "level": "full" } } @@ -4954,23 +4954,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 1224.1, + "us": 1159.3, "level": "full" }, "best_any": { "variant": "sax", - "us": 1224.1, + "us": 1159.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 1224.1, + "us": 1159.3, "level": "full" }, "parse": { - "us": 5671.7, + "us": 5265.9, "level": "full" } } @@ -4978,35 +4978,35 @@ "yyjson": { "best": { "variant": "read", - "us": 644.5, + "us": 640.5, "level": "full" }, "best_any": { "variant": "read", - "us": 644.5, + "us": 640.5, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 648.9, + "us": 641.8, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 648.9, + "us": 641.8, "level": "full" }, "variants": { "read": { - "us": 644.5, + "us": 640.5, "level": "full" }, "read (reused allocator)": { - "us": 648.9, + "us": 641.8, "level": "full" }, "insitu (copy)": { - "us": 649.2, + "us": 647.9, "level": "full" } } @@ -5014,39 +5014,39 @@ "simdjson": { "best": { "variant": "DOM", - "us": 812.9, + "us": 824.8, "level": "full" }, "best_any": { "variant": "DOM", - "us": 812.9, + "us": 824.8, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 820.9, + "us": 817.8, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 820.9, + "us": 817.8, "level": "full" }, "variants": { - "DOM": { - "us": 812.9, - "level": "full" - }, "DOM (reused)": { - "us": 820.9, + "us": 817.8, "level": "full" }, - "On-Demand": { - "us": 1181.6, + "DOM": { + "us": 824.8, "level": "full" }, "On-Demand (reused)": { - "us": 1184.9, + "us": 1199.1, + "level": "full" + }, + "On-Demand": { + "us": 1200.3, "level": "full" } } @@ -5055,14 +5055,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 858.5, + "us": 853.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 858.5, + "us": 853.3, "level": "no UTF-8" } } @@ -5070,36 +5070,36 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 3607.3, + "us": 3594.8, "level": "full" }, "best_any": { "variant": "lazy_json", - "us": 3308.1, + "us": 3328.6, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "lazy_json": { - "us": 3308.1, + "us": 3328.6, + "level": "partial" + }, + "generic (double)": { + "us": 3460.0, "level": "partial" }, "generic (double, strict)": { - "us": 3607.3, + "us": 3594.8, "level": "full" }, - "generic (double)": { - "us": 3641.9, - "level": "partial" - }, - "generic": { - "us": 7069.4, - "level": "partial" - }, "generic (strict)": { - "us": 7156.8, + "us": 6165.9, "level": "full" + }, + "generic": { + "us": 6397.9, + "level": "partial" } }, "excluded": { @@ -5109,39 +5109,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 610.8, + "us": 607.3, "level": "full" }, "best_any": { "variant": "SAX", - "us": 610.8, + "us": 607.3, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 617.2, + "us": 609.1, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 617.2, + "us": 609.1, "level": "full" }, "variants": { "SAX": { - "us": 610.8, + "us": 607.3, "level": "full" }, "SAX (reused)": { - "us": 617.2, - "level": "full" - }, - "parser (reused)": { - "us": 1522.4, + "us": 609.1, "level": "full" }, "parse": { - "us": 1561.5, + "us": 1589.9, + "level": "full" + }, + "parser (reused)": { + "us": 1599.8, "level": "full" } } @@ -5149,55 +5149,55 @@ "RapidJSON": { "best": { "variant": "SAX", - "us": 1919.8, + "us": 1865.8, "level": "full" }, "best_any": { "variant": "SAX (no encoding check)", - "us": 1453.9, + "us": 1480.6, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2456.8, + "us": 2445.5, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1886.3, + "us": 1913.7, "level": "no UTF-8" }, "variants": { "SAX (no encoding check)": { - "us": 1453.9, + "us": 1480.6, "level": "no UTF-8" }, "insitu (copy) (no encoding check)": { - "us": 1626.5, - "level": "no UTF-8" - }, - "Document (reused allocator) (no encoding check)": { - "us": 1886.3, + "us": 1621.8, "level": "no UTF-8" }, "SAX": { - "us": 1919.8, - "level": "full" - }, - "insitu (copy)": { - "us": 1944.3, + "us": 1865.8, "level": "full" }, "Document (no encoding check)": { - "us": 1960.6, + "us": 1898.1, "level": "no UTF-8" }, - "Document": { - "us": 2380.3, + "Document (reused allocator) (no encoding check)": { + "us": 1913.7, + "level": "no UTF-8" + }, + "insitu (copy)": { + "us": 1920.7, "level": "full" }, "Document (reused allocator)": { - "us": 2456.8, + "us": 2445.5, + "level": "full" + }, + "Document": { + "us": 2474.5, "level": "full" } } @@ -5205,23 +5205,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 1337.4, + "us": 1259.6, "level": "full" }, "best_any": { "variant": "visitor", - "us": 1337.4, + "us": 1259.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 1337.4, + "us": 1259.6, "level": "full" }, "Value": { - "us": 5475.1, + "us": 5376.8, "level": "full" } } @@ -5229,23 +5229,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 836.5, + "us": 840.4, "level": "full" }, "best_any": { "variant": "visitor", - "us": 836.5, + "us": 840.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 836.5, + "us": 840.4, "level": "full" }, "Value": { - "us": 1438.7, + "us": 1438.3, "level": "full" } } @@ -5253,35 +5253,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 1252.6, + "us": 1231.2, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 1252.6, + "us": 1231.2, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 3572.8, + "us": 3329.6, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 3572.8, + "us": 3329.6, "level": "full" }, "variants": { "visitor (copy)": { - "us": 1252.6, + "us": 1231.2, "level": "full" }, "borrowed (reused)": { - "us": 3572.8, + "us": 3329.6, "level": "full" }, "borrowed (copy)": { - "us": 3644.7, + "us": 3447.9, "level": "full" } } @@ -5293,35 +5293,35 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 320.4, + "us": 314.4, "level": "full" }, "best_any": { "variant": "parse", - "us": 320.4, + "us": 314.4, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 313.9, + "us": 310.1, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 313.9, + "us": 310.1, "level": "full" }, "variants": { "read (reused)": { - "us": 313.9, + "us": 310.1, "level": "full" }, "parse": { - "us": 320.4, + "us": 314.4, "level": "full" }, "structs (from_json)": { - "us": 322.5, + "us": 321.5, "level": "full" } } @@ -5329,63 +5329,63 @@ "nlohmann json": { "best": { "variant": "parse", - "us": 3763.8, + "us": 3520.8, "level": "full" }, "best_any": { "variant": "parse", - "us": 3763.8, + "us": 3520.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 3763.8, + "us": 3520.8, "level": "full" }, "structs (from_json)": { - "us": 3795.8, + "us": 3542.8, "level": "full" } } }, "yyjson": { "best": { - "variant": "read", - "us": 392.0, + "variant": "insitu (copy)", + "us": 389.3, "level": "full" }, "best_any": { - "variant": "read", - "us": 392.0, + "variant": "insitu (copy)", + "us": 389.3, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 401.8, + "us": 390.0, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 401.8, + "us": 390.0, "level": "full" }, "variants": { - "read": { - "us": 392.0, + "insitu (copy)": { + "us": 389.3, "level": "full" }, - "insitu (copy)": { - "us": 394.9, + "read": { + "us": 389.6, "level": "full" }, "read (reused allocator)": { - "us": 401.8, + "us": 390.0, "level": "full" }, "read (raw numbers)": { - "us": 406.4, + "us": 393.6, "level": "full" } } @@ -5393,47 +5393,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 318.4, + "us": 315.9, "level": "full" }, "best_any": { - "variant": "On-Demand structs", - "us": 183.2, + "variant": "On-Demand", + "us": 181.5, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 317.2, + "us": 318.5, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 181.3, + "us": 179.5, "level": "partial" }, "variants": { "On-Demand (reused)": { - "us": 181.3, - "level": "partial" - }, - "On-Demand structs": { - "us": 183.2, + "us": 179.5, "level": "partial" }, "On-Demand": { - "us": 184.6, + "us": 181.5, + "level": "partial" + }, + "On-Demand structs": { + "us": 182.3, "level": "partial" }, "On-Demand (key selectors)": { - "us": 185.2, + "us": 183.3, "level": "partial" }, - "DOM (reused)": { - "us": 317.2, + "DOM": { + "us": 315.9, "level": "full" }, - "DOM": { - "us": 318.4, + "DOM (reused)": { + "us": 318.5, "level": "full" } } @@ -5442,14 +5442,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 458.4, + "us": 456.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 458.4, + "us": 456.2, "level": "no UTF-8" } } @@ -5457,44 +5457,44 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 552.5, + "us": 542.5, "level": "full" }, "best_any": { "variant": "structs", - "us": 344.0, + "us": 337.3, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 344.0, + "us": 337.3, "level": "partial" }, "structs (validate_skipped)": { - "us": 552.5, + "us": 542.5, "level": "full" }, "lazy_json": { - "us": 788.2, + "us": 759.6, + "level": "partial" + }, + "generic (double)": { + "us": 2447.7, "level": "partial" }, "generic (double, strict)": { - "us": 2667.1, - "level": "full" - }, - "generic (double)": { - "us": 2746.6, - "level": "partial" - }, - "generic (strict)": { - "us": 3979.3, + "us": 2469.8, "level": "full" }, "generic": { - "us": 4024.4, + "us": 3474.6, "level": "partial" + }, + "generic (strict)": { + "us": 3478.7, + "level": "full" } }, "excluded": { @@ -5504,35 +5504,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 788.1, + "us": 767.0, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 788.1, + "us": 767.0, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 1254.5, + "us": 1242.1, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 1254.5, + "us": 1242.1, "level": "full" }, "variants": { "parse_into structs": { - "us": 788.1, + "us": 767.0, "level": "full" }, "parser (reused)": { - "us": 1254.5, + "us": 1242.1, "level": "full" }, "parse": { - "us": 1257.1, + "us": 1249.2, "level": "full" } }, @@ -5543,55 +5543,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1814.6, + "us": 1812.7, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1183.7, + "us": 1180.8, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2166.0, + "us": 2224.6, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1484.3, + "us": 1476.2, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1183.7, + "us": 1180.8, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1480.1, + "us": 1474.7, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1484.3, + "us": 1476.2, "level": "no UTF-8" }, "Document (raw numbers) (no encoding check)": { - "us": 1549.3, + "us": 1510.3, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1814.6, - "level": "full" - }, - "Document (reused allocator)": { - "us": 2166.0, - "level": "full" - }, - "Document (raw numbers)": { - "us": 2221.0, + "us": 1812.7, "level": "full" }, "Document": { - "us": 2284.2, + "us": 2175.0, + "level": "full" + }, + "Document (raw numbers)": { + "us": 2202.7, + "level": "full" + }, + "Document (reused allocator)": { + "us": 2224.6, "level": "full" } } @@ -5599,27 +5599,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 721.9, + "us": 700.6, "level": "full" }, "best_any": { "variant": "from_utf8 + structs", - "us": 721.9, + "us": 700.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "from_utf8 + structs": { - "us": 721.9, + "us": 700.6, "level": "full" }, "structs": { - "us": 785.8, + "us": 739.3, "level": "no UTF-8" }, "Value": { - "us": 4043.7, + "us": 3473.7, "level": "full" } } @@ -5627,23 +5627,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 538.0, + "us": 504.2, "level": "full" }, "best_any": { "variant": "structs", - "us": 538.0, + "us": 504.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 538.0, + "us": 504.2, "level": "full" }, "Value": { - "us": 601.3, + "us": 585.5, "level": "full" } } @@ -5651,23 +5651,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 740.4, + "us": 678.8, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 740.4, + "us": 678.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 740.4, + "us": 678.8, "level": "full" }, "borrowed (copy)": { - "us": 1364.7, + "us": 1284.4, "level": "full" } } @@ -5677,59 +5677,59 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 779.2, + "us": 778.5, "level": "full" }, "best_any": { "variant": "parse", - "us": 779.2, + "us": 778.5, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 730.2, + "us": 777.9, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 730.2, + "us": 777.9, "level": "full" }, "variants": { "read (reused)": { - "us": 730.2, + "us": 777.9, "level": "full" }, "parse": { - "us": 779.2, + "us": 778.5, "level": "full" }, "structs (from_json)": { - "us": 833.8, + "us": 832.7, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "parse", - "us": 5991.2, + "variant": "structs (from_json)", + "us": 5192.3, "level": "full" }, "best_any": { - "variant": "parse", - "us": 5991.2, + "variant": "structs (from_json)", + "us": 5192.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "parse": { - "us": 5991.2, + "structs (from_json)": { + "us": 5192.3, "level": "full" }, - "structs (from_json)": { - "us": 6076.6, + "parse": { + "us": 5204.7, "level": "full" } } @@ -5737,39 +5737,39 @@ "yyjson": { "best": { "variant": "read", - "us": 934.5, + "us": 899.9, "level": "full" }, "best_any": { "variant": "read", - "us": 934.5, + "us": 899.9, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 1010.6, + "us": 914.7, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 1010.6, + "us": 914.7, "level": "full" }, "variants": { "read": { - "us": 934.5, + "us": 899.9, "level": "full" }, "insitu (copy)": { - "us": 989.9, + "us": 902.2, "level": "full" }, "read (reused allocator)": { - "us": 1010.6, + "us": 914.7, "level": "full" }, "read (raw numbers)": { - "us": 1043.2, + "us": 924.4, "level": "full" } } @@ -5777,47 +5777,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 798.4, + "us": 735.8, "level": "full" }, "best_any": { - "variant": "On-Demand (key selectors)", - "us": 500.0, + "variant": "On-Demand", + "us": 494.6, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 778.7, + "us": 730.2, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 529.8, + "us": 496.1, "level": "partial" }, "variants": { - "On-Demand (key selectors)": { - "us": 500.0, + "On-Demand": { + "us": 494.6, "level": "partial" }, "On-Demand (reused)": { - "us": 529.8, + "us": 496.1, "level": "partial" }, - "On-Demand": { - "us": 530.8, + "On-Demand (key selectors)": { + "us": 507.3, "level": "partial" }, "On-Demand structs": { - "us": 557.5, + "us": 550.0, "level": "partial" }, "DOM (reused)": { - "us": 778.7, + "us": 730.2, "level": "full" }, "DOM": { - "us": 798.4, + "us": 735.8, "level": "full" } } @@ -5826,14 +5826,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1038.2, + "us": 1013.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1038.2, + "us": 1013.0, "level": "no UTF-8" } } @@ -5841,44 +5841,44 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 1462.3, + "us": 1370.5, "level": "full" }, "best_any": { "variant": "structs", - "us": 442.0, + "us": 417.5, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 442.0, + "us": 417.5, "level": "partial" }, "structs (validate_skipped)": { - "us": 1462.3, - "level": "full" - }, - "generic (double, strict)": { - "us": 4251.8, + "us": 1370.5, "level": "full" }, "generic (double)": { - "us": 4363.6, + "us": 3889.8, "level": "partial" }, + "generic (double, strict)": { + "us": 3918.6, + "level": "full" + }, "lazy_json": { - "us": 6942.2, - "level": "partial" - }, - "generic": { - "us": 7585.5, + "us": 6592.8, "level": "partial" }, "generic (strict)": { - "us": 7970.1, + "us": 6607.8, "level": "full" + }, + "generic": { + "us": 6648.2, + "level": "partial" } }, "excluded": { @@ -5888,35 +5888,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 1479.2, + "us": 1389.1, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 1479.2, + "us": 1389.1, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 1701.4, + "us": 1654.5, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 1701.4, + "us": 1654.5, "level": "full" }, "variants": { "parse_into structs": { - "us": 1479.2, - "level": "full" - }, - "parser (reused)": { - "us": 1701.4, + "us": 1389.1, "level": "full" }, "parse": { - "us": 1714.2, + "us": 1654.4, + "level": "full" + }, + "parser (reused)": { + "us": 1654.5, "level": "full" } }, @@ -5927,55 +5927,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 2518.9, + "us": 2305.7, "level": "full" }, "best_any": { - "variant": "Document (no encoding check)", - "us": 2076.0, + "variant": "insitu (copy) (no encoding check)", + "us": 1931.8, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2607.3, + "us": 2440.1, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1978.5, + "us": 1956.4, "level": "no UTF-8" }, "variants": { + "insitu (copy) (no encoding check)": { + "us": 1931.8, + "level": "no UTF-8" + }, "Document (reused allocator) (no encoding check)": { - "us": 1978.5, + "us": 1956.4, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 2076.0, - "level": "no UTF-8" - }, - "insitu (copy) (no encoding check)": { - "us": 2115.2, + "us": 1980.3, "level": "no UTF-8" }, "Document (raw numbers) (no encoding check)": { - "us": 2417.6, + "us": 2219.3, "level": "no UTF-8" }, "insitu (copy)": { - "us": 2518.9, + "us": 2305.7, "level": "full" }, "Document (reused allocator)": { - "us": 2607.3, + "us": 2440.1, "level": "full" }, "Document": { - "us": 2614.2, + "us": 2482.1, "level": "full" }, "Document (raw numbers)": { - "us": 2934.9, + "us": 2707.5, "level": "full" } } @@ -5983,27 +5983,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 1558.9, + "us": 1532.5, "level": "full" }, "best_any": { "variant": "structs", - "us": 1515.6, + "us": 1526.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 1515.6, + "us": 1526.5, "level": "no UTF-8" }, "from_utf8 + structs": { - "us": 1558.9, + "us": 1532.5, "level": "full" }, "Value": { - "us": 6063.1, + "us": 5821.5, "level": "full" } } @@ -6011,23 +6011,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 1027.5, + "us": 1033.2, "level": "full" }, "best_any": { "variant": "structs", - "us": 1027.5, + "us": 1033.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 1027.5, + "us": 1033.2, "level": "full" }, "Value": { - "us": 1219.0, + "us": 1226.3, "level": "full" } } @@ -6035,23 +6035,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 1801.5, + "us": 1731.1, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 1801.5, + "us": 1731.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 1801.5, + "us": 1731.1, "level": "full" }, "borrowed (copy)": { - "us": 3775.9, + "us": 3476.9, "level": "full" } } @@ -6061,59 +6061,59 @@ "nlohmann json_document": { "best": { "variant": "structs (from_json)", - "us": 1446.3, + "us": 1387.1, "level": "full" }, "best_any": { "variant": "structs (from_json)", - "us": 1446.3, + "us": 1387.1, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 1419.9, + "us": 1389.7, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 1419.9, + "us": 1389.7, "level": "full" }, "variants": { - "read (reused)": { - "us": 1419.9, + "structs (from_json)": { + "us": 1387.1, "level": "full" }, - "structs (from_json)": { - "us": 1446.3, + "read (reused)": { + "us": 1389.7, "level": "full" }, "parse": { - "us": 1489.3, + "us": 1409.8, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "parse", - "us": 12786.8, + "variant": "structs (from_json)", + "us": 11196.3, "level": "full" }, "best_any": { - "variant": "parse", - "us": 12786.8, + "variant": "structs (from_json)", + "us": 11196.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "parse": { - "us": 12786.8, + "structs (from_json)": { + "us": 11196.3, "level": "full" }, - "structs (from_json)": { - "us": 12952.0, + "parse": { + "us": 11301.0, "level": "full" } } @@ -6121,39 +6121,39 @@ "yyjson": { "best": { "variant": "read (raw numbers)", - "us": 2384.6, + "us": 2627.2, "level": "full" }, "best_any": { "variant": "read (raw numbers)", - "us": 2384.6, + "us": 2627.2, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 2909.7, + "us": 2854.8, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 2909.7, + "us": 2854.8, "level": "full" }, "variants": { "read (raw numbers)": { - "us": 2384.6, + "us": 2627.2, "level": "full" }, "read": { - "us": 2807.0, - "level": "full" - }, - "insitu (copy)": { - "us": 2886.6, + "us": 2816.3, "level": "full" }, "read (reused allocator)": { - "us": 2909.7, + "us": 2854.8, + "level": "full" + }, + "insitu (copy)": { + "us": 2875.3, "level": "full" } } @@ -6161,47 +6161,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 3368.8, + "us": 3272.5, "level": "full" }, "best_any": { - "variant": "On-Demand", - "us": 704.9, + "variant": "On-Demand (key selectors)", + "us": 698.3, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 3227.0, + "us": 3255.2, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 713.3, + "us": 693.2, "level": "partial" }, "variants": { - "On-Demand": { - "us": 704.9, - "level": "partial" - }, "On-Demand (reused)": { - "us": 713.3, + "us": 693.2, "level": "partial" }, "On-Demand (key selectors)": { - "us": 719.5, + "us": 698.3, + "level": "partial" + }, + "On-Demand": { + "us": 703.0, "level": "partial" }, "On-Demand structs": { - "us": 934.3, + "us": 923.4, "level": "partial" }, "DOM (reused)": { - "us": 3227.0, + "us": 3255.2, "level": "full" }, "DOM": { - "us": 3368.8, + "us": 3272.5, "level": "full" } } @@ -6210,14 +6210,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 3127.1, + "us": 3104.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 3127.1, + "us": 3104.0, "level": "no UTF-8" } } @@ -6225,43 +6225,43 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 1832.7, + "us": 1870.1, "level": "full" }, "best_any": { "variant": "structs", - "us": 464.1, + "us": 445.6, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 464.1, + "us": 445.6, "level": "partial" }, "structs (validate_skipped)": { - "us": 1832.7, + "us": 1870.1, "level": "full" }, "lazy_json": { - "us": 2945.1, - "level": "partial" - }, - "generic (double)": { - "us": 12152.5, + "us": 2761.2, "level": "partial" }, "generic (double, strict)": { - "us": 12366.2, + "us": 11820.1, "level": "full" }, + "generic (double)": { + "us": 12164.4, + "level": "partial" + }, "generic": { - "us": 26564.7, + "us": 23111.5, "level": "partial" }, "generic (strict)": { - "us": 27182.9, + "us": 24204.0, "level": "full" } }, @@ -6272,35 +6272,35 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 7216.1, + "us": 7309.8, "level": "full" }, "best_any": { "variant": "parse", - "us": 7216.1, + "us": 7309.8, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 7238.3, + "us": 6999.7, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 7238.3, + "us": 6999.7, "level": "full" }, "variants": { - "parse": { - "us": 7216.1, + "parser (reused)": { + "us": 6999.7, "level": "full" }, - "parser (reused)": { - "us": 7238.3, + "parse": { + "us": 7309.8, "level": "full" }, "parse_into structs": { - "us": 8727.4, + "us": 8373.8, "level": "full" } }, @@ -6311,55 +6311,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 12154.5, + "us": 11749.9, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 12154.5, + "us": 11749.9, "level": "full" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 12792.1, + "us": 12705.3, "level": "full" }, "best_reused_any": { - "variant": "Document (reused allocator)", - "us": 12792.1, - "level": "full" + "variant": "Document (reused allocator) (no encoding check)", + "us": 12368.8, + "level": "no UTF-8" }, "variants": { "insitu (copy)": { - "us": 12154.5, + "us": 11749.9, "level": "full" }, "insitu (copy) (no encoding check)": { - "us": 12454.8, - "level": "no UTF-8" - }, - "Document (raw numbers)": { - "us": 12750.0, - "level": "full" - }, - "Document (reused allocator)": { - "us": 12792.1, - "level": "full" - }, - "Document (raw numbers) (no encoding check)": { - "us": 12993.8, + "us": 11914.2, "level": "no UTF-8" }, "Document": { - "us": 13160.5, + "us": 12324.9, + "level": "full" + }, + "Document (reused allocator) (no encoding check)": { + "us": 12368.8, + "level": "no UTF-8" + }, + "Document (reused allocator)": { + "us": 12705.3, "level": "full" }, "Document (no encoding check)": { - "us": 13440.2, + "us": 12707.4, "level": "no UTF-8" }, - "Document (reused allocator) (no encoding check)": { - "us": 13636.1, + "Document (raw numbers)": { + "us": 12872.3, + "level": "full" + }, + "Document (raw numbers) (no encoding check)": { + "us": 12950.5, "level": "no UTF-8" } } @@ -6367,27 +6367,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 2585.2, + "us": 2529.2, "level": "full" }, "best_any": { "variant": "structs", - "us": 2447.5, + "us": 2402.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 2447.5, + "us": 2402.0, "level": "no UTF-8" }, "from_utf8 + structs": { - "us": 2585.2, + "us": 2529.2, "level": "full" }, "Value": { - "us": 13748.4, + "us": 13616.4, "level": "full" } } @@ -6395,23 +6395,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 2283.1, + "us": 2328.5, "level": "full" }, "best_any": { "variant": "structs", - "us": 2283.1, + "us": 2328.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 2283.1, + "us": 2328.5, "level": "full" }, "Value": { - "us": 3833.4, + "us": 3907.0, "level": "full" } } @@ -6419,23 +6419,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 4997.1, + "us": 5143.5, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 4997.1, + "us": 5143.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 4997.1, + "us": 5143.5, "level": "full" }, "borrowed (copy)": { - "us": 10749.4, + "us": 10672.8, "level": "full" } } @@ -6445,35 +6445,35 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 97120.8, + "us": 87988.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 97120.8, + "us": 87988.2, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 57668.3, + "us": 57099.8, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 57668.3, + "us": 57099.8, "level": "full" }, "variants": { "read (reused)": { - "us": 57668.3, + "us": 57099.8, "level": "full" }, "parse": { - "us": 97120.8, + "us": 87988.2, "level": "full" }, "structs (from_json)": { - "us": 114369.5, + "us": 107207.2, "level": "full" } } @@ -6481,63 +6481,63 @@ "nlohmann json": { "best": { "variant": "structs (from_json)", - "us": 673471.9, + "us": 453587.2, "level": "full" }, "best_any": { "variant": "structs (from_json)", - "us": 673471.9, + "us": 453587.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (from_json)": { - "us": 673471.9, + "us": 453587.2, "level": "full" }, "parse": { - "us": 681193.7, + "us": 458701.6, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 142562.4, + "variant": "read (raw numbers)", + "us": 134300.6, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 142562.4, + "variant": "read (raw numbers)", + "us": 134300.6, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 74233.6, + "us": 67881.0, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 74233.6, + "us": 67881.0, "level": "full" }, "variants": { "read (reused allocator)": { - "us": 74233.6, - "level": "full" - }, - "insitu (copy)": { - "us": 142562.4, + "us": 67881.0, "level": "full" }, "read (raw numbers)": { - "us": 143647.7, + "us": 134300.6, + "level": "full" + }, + "insitu (copy)": { + "us": 139920.2, "level": "full" }, "read": { - "us": 144141.0, + "us": 140022.9, "level": "full" } } @@ -6545,47 +6545,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 135711.0, + "us": 121563.3, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 54240.7, + "us": 47588.3, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 62866.3, + "us": 56438.9, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 32171.0, + "us": 28646.2, "level": "partial" }, "variants": { "On-Demand (reused)": { - "us": 32171.0, + "us": 28646.2, "level": "partial" }, "On-Demand": { - "us": 54240.7, + "us": 47588.3, "level": "partial" }, "On-Demand (key selectors)": { - "us": 57238.9, + "us": 54625.1, "level": "partial" }, "DOM (reused)": { - "us": 62866.3, + "us": 56438.9, "level": "full" }, "On-Demand structs": { - "us": 78441.2, + "us": 68830.1, "level": "partial" }, "DOM": { - "us": 135711.0, + "us": 121563.3, "level": "full" } } @@ -6594,14 +6594,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 119384.2, + "us": 113400.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 119384.2, + "us": 113400.2, "level": "no UTF-8" } } @@ -6609,44 +6609,44 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 96314.8, + "us": 82551.3, "level": "full" }, "best_any": { "variant": "structs", - "us": 74133.7, + "us": 67046.6, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 74133.7, + "us": 67046.6, "level": "partial" }, "structs (validate_skipped)": { - "us": 96314.8, + "us": 82551.3, "level": "full" }, "lazy_json": { - "us": 114392.9, - "level": "partial" - }, - "generic (double)": { - "us": 315461.9, + "us": 99953.0, "level": "partial" }, "generic (double, strict)": { - "us": 324643.0, + "us": 251645.2, "level": "full" }, - "generic": { - "us": 507162.9, + "generic (double)": { + "us": 252002.9, "level": "partial" }, "generic (strict)": { - "us": 521394.1, + "us": 408702.6, "level": "full" + }, + "generic": { + "us": 408859.7, + "level": "partial" } }, "excluded": { @@ -6656,35 +6656,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 103495.0, + "us": 95891.1, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 103495.0, + "us": 95891.1, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 147560.3, + "us": 147318.6, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 147560.3, + "us": 147318.6, "level": "full" }, "variants": { "parse_into structs": { - "us": 103495.0, + "us": 95891.1, "level": "full" }, "parser (reused)": { - "us": 147560.3, + "us": 147318.6, "level": "full" }, "parse": { - "us": 192418.0, + "us": 195684.9, "level": "full" } }, @@ -6695,55 +6695,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 263951.1, + "us": 253906.8, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 195046.3, + "us": 182669.1, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 299452.8, + "us": 301324.1, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 208914.5, + "us": 199391.0, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 195046.3, + "us": 182669.1, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 208914.5, - "level": "no UTF-8" - }, - "Document (no encoding check)": { - "us": 216436.3, + "us": 199391.0, "level": "no UTF-8" }, "Document (raw numbers) (no encoding check)": { - "us": 216793.3, + "us": 199781.8, + "level": "no UTF-8" + }, + "Document (no encoding check)": { + "us": 204984.1, "level": "no UTF-8" }, "insitu (copy)": { - "us": 263951.1, - "level": "full" - }, - "Document (reused allocator)": { - "us": 299452.8, + "us": 253906.8, "level": "full" }, "Document (raw numbers)": { - "us": 306311.0, + "us": 291681.3, + "level": "full" + }, + "Document (reused allocator)": { + "us": 301324.1, "level": "full" }, "Document": { - "us": 307816.4, + "us": 301639.6, "level": "full" } } @@ -6751,27 +6751,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 114700.9, + "us": 107315.7, "level": "full" }, "best_any": { "variant": "from_utf8 + structs", - "us": 114700.9, + "us": 107315.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "from_utf8 + structs": { - "us": 114700.9, + "us": 107315.7, "level": "full" }, "structs": { - "us": 142510.2, + "us": 134637.9, "level": "no UTF-8" }, "Value": { - "us": 525827.6, + "us": 410661.1, "level": "full" } } @@ -6779,23 +6779,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 91949.7, + "us": 90485.8, "level": "full" }, "best_any": { "variant": "structs", - "us": 91949.7, + "us": 90485.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 91949.7, + "us": 90485.8, "level": "full" }, "Value": { - "us": 135637.3, + "us": 130216.1, "level": "full" } } @@ -6803,23 +6803,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 258565.9, + "us": 239164.4, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 258565.9, + "us": 239164.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 258565.9, + "us": 239164.4, "level": "full" }, "borrowed (copy)": { - "us": 304889.5, + "us": 293642.8, "level": "full" } } @@ -6828,12 +6828,12 @@ "status": { "nlohmann json_document": { "best": { - "variant": "structs (from_json)", + "variant": "parse", "us": 1.6, "level": "full" }, "best_any": { - "variant": "structs (from_json)", + "variant": "parse", "us": 1.6, "level": "full" }, @@ -6852,36 +6852,36 @@ "us": 1.5, "level": "full" }, - "structs (from_json)": { + "parse": { "us": 1.6, "level": "full" }, - "parse": { - "us": 1.7, + "structs (from_json)": { + "us": 1.6, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "structs (from_json)", - "us": 17.9, + "variant": "parse", + "us": 20.0, "level": "full" }, "best_any": { - "variant": "structs (from_json)", - "us": 17.9, + "variant": "parse", + "us": 20.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "structs (from_json)": { - "us": 17.9, + "parse": { + "us": 20.0, "level": "full" }, - "parse": { - "us": 18.2, + "structs (from_json)": { + "us": 20.1, "level": "full" } } @@ -6921,7 +6921,7 @@ "level": "full" }, "read (raw numbers)": { - "us": 1.8, + "us": 1.7, "level": "full" } } @@ -6933,13 +6933,13 @@ "level": "full" }, "best_any": { - "variant": "On-Demand structs", - "us": 1.3, + "variant": "On-Demand (key selectors)", + "us": 1.1, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 1.6, + "us": 1.8, "level": "full" }, "best_reused_any": { @@ -6952,20 +6952,20 @@ "us": 1.0, "level": "partial" }, + "On-Demand (key selectors)": { + "us": 1.1, + "level": "partial" + }, "On-Demand structs": { - "us": 1.3, + "us": 1.2, "level": "partial" }, "On-Demand": { - "us": 1.4, - "level": "partial" - }, - "On-Demand (key selectors)": { - "us": 1.5, + "us": 1.3, "level": "partial" }, "DOM (reused)": { - "us": 1.6, + "us": 1.8, "level": "full" }, "DOM": { @@ -6978,14 +6978,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 2.1, + "us": 1.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 2.1, + "us": 1.9, "level": "no UTF-8" } } @@ -6998,39 +6998,39 @@ }, "best_any": { "variant": "structs", - "us": 1.7, + "us": 1.6, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 1.7, + "us": 1.6, + "level": "partial" + }, + "lazy_json": { + "us": 2.0, "level": "partial" }, "structs (validate_skipped)": { "us": 2.2, "level": "full" }, - "lazy_json": { - "us": 2.2, - "level": "partial" - }, "generic (double, strict)": { - "us": 11.7, + "us": 9.7, "level": "full" }, "generic (double)": { - "us": 11.8, + "us": 9.8, + "level": "partial" + }, + "generic": { + "us": 15.8, "level": "partial" }, "generic (strict)": { - "us": 19.0, + "us": 15.9, "level": "full" - }, - "generic": { - "us": 19.3, - "level": "partial" } }, "excluded": { @@ -7040,35 +7040,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 3.3, + "us": 3.2, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 3.3, + "us": 3.2, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 6.1, + "us": 5.7, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 6.1, + "us": 5.7, "level": "full" }, "variants": { "parse_into structs": { - "us": 3.3, - "level": "full" - }, - "parse": { - "us": 6.1, + "us": 3.2, "level": "full" }, "parser (reused)": { - "us": 6.1, + "us": 5.7, + "level": "full" + }, + "parse": { + "us": 5.9, "level": "full" } }, @@ -7079,55 +7079,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 8.4, + "us": 8.3, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 4.6, + "us": 4.1, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 12.4, + "us": 11.5, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 7.9, + "us": 7.4, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 4.6, + "us": 4.1, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 7.9, + "us": 7.4, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 8.0, + "us": 7.9, + "level": "no UTF-8" + }, + "Document (raw numbers) (no encoding check)": { + "us": 8.1, "level": "no UTF-8" }, "insitu (copy)": { - "us": 8.4, + "us": 8.3, "level": "full" }, - "Document (raw numbers) (no encoding check)": { - "us": 8.8, - "level": "no UTF-8" - }, "Document (reused allocator)": { - "us": 12.4, - "level": "full" - }, - "Document (raw numbers)": { - "us": 12.8, + "us": 11.5, "level": "full" }, "Document": { - "us": 12.9, + "us": 11.7, + "level": "full" + }, + "Document (raw numbers)": { + "us": 11.8, "level": "full" } } @@ -7155,7 +7155,7 @@ "level": "full" }, "Value": { - "us": 13.0, + "us": 13.1, "level": "full" } } @@ -7179,7 +7179,7 @@ "level": "full" }, "Value": { - "us": 3.0, + "us": 2.8, "level": "full" } } @@ -7187,19 +7187,19 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 3.7, + "us": 3.5, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 3.7, + "us": 3.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 3.7, + "us": 3.5, "level": "full" }, "borrowed (copy)": { @@ -7213,99 +7213,99 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 271.0, + "us": 271.8, "level": "full" }, "best_any": { "variant": "parse", - "us": 271.0, + "us": 271.8, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 265.0, + "us": 265.8, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 265.0, + "us": 265.8, "level": "full" }, "variants": { "read (reused)": { - "us": 265.0, + "us": 265.8, "level": "full" }, "parse": { - "us": 271.0, + "us": 271.8, "level": "full" }, "structs (from_json)": { - "us": 274.7, + "us": 275.3, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "parse", - "us": 3678.2, + "variant": "structs (from_json)", + "us": 3409.4, "level": "full" }, "best_any": { - "variant": "parse", - "us": 3678.2, + "variant": "structs (from_json)", + "us": 3409.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "parse": { - "us": 3678.2, + "structs (from_json)": { + "us": 3409.4, "level": "full" }, - "structs (from_json)": { - "us": 3871.4, + "parse": { + "us": 3415.3, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 349.7, + "variant": "read", + "us": 329.6, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 349.7, + "variant": "read", + "us": 329.6, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 346.9, + "us": 327.4, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 346.9, + "us": 327.4, "level": "full" }, "variants": { "read (reused allocator)": { - "us": 346.9, - "level": "full" - }, - "insitu (copy)": { - "us": 349.7, + "us": 327.4, "level": "full" }, "read": { - "us": 352.9, + "us": 329.6, + "level": "full" + }, + "insitu (copy)": { + "us": 330.9, "level": "full" }, "read (raw numbers)": { - "us": 356.6, + "us": 337.5, "level": "full" } } @@ -7313,47 +7313,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 300.4, + "us": 299.3, "level": "full" }, "best_any": { "variant": "On-Demand structs", - "us": 164.9, + "us": 159.7, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 314.8, + "us": 300.3, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 158.0, + "us": 158.6, "level": "partial" }, "variants": { "On-Demand (reused)": { - "us": 158.0, + "us": 158.6, "level": "partial" }, "On-Demand structs": { - "us": 164.9, - "level": "partial" - }, - "On-Demand (key selectors)": { - "us": 169.0, + "us": 159.7, "level": "partial" }, "On-Demand": { - "us": 171.2, + "us": 163.4, + "level": "partial" + }, + "On-Demand (key selectors)": { + "us": 164.8, "level": "partial" }, "DOM": { - "us": 300.4, + "us": 299.3, "level": "full" }, "DOM (reused)": { - "us": 314.8, + "us": 300.3, "level": "full" } } @@ -7362,14 +7362,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 355.9, + "us": 345.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 355.9, + "us": 345.5, "level": "no UTF-8" } } @@ -7377,44 +7377,44 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 469.3, + "us": 439.7, "level": "full" }, "best_any": { "variant": "structs", - "us": 322.5, + "us": 294.5, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 322.5, + "us": 294.5, "level": "partial" }, "lazy_json": { - "us": 449.4, + "us": 421.2, "level": "partial" }, "structs (validate_skipped)": { - "us": 469.3, + "us": 439.7, "level": "full" }, "generic (double, strict)": { - "us": 2504.0, + "us": 2270.0, "level": "full" }, "generic (double)": { - "us": 2529.7, - "level": "partial" - }, - "generic": { - "us": 3977.9, + "us": 2280.6, "level": "partial" }, "generic (strict)": { - "us": 4053.7, + "us": 3281.9, "level": "full" + }, + "generic": { + "us": 3299.1, + "level": "partial" } }, "excluded": { @@ -7424,35 +7424,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 720.4, + "us": 657.5, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 720.4, + "us": 657.5, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 1252.9, + "us": 1142.2, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 1252.9, + "us": 1142.2, "level": "full" }, "variants": { "parse_into structs": { - "us": 720.4, - "level": "full" - }, - "parse": { - "us": 1214.4, + "us": 657.5, "level": "full" }, "parser (reused)": { - "us": 1252.9, + "us": 1142.2, + "level": "full" + }, + "parse": { + "us": 1146.8, "level": "full" } }, @@ -7463,55 +7463,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1629.8, + "us": 1495.9, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1030.4, + "us": 905.9, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2261.3, + "us": 2132.7, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1498.5, + "us": 1380.8, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1030.4, + "us": 905.9, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1498.5, + "us": 1380.8, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1499.5, + "us": 1388.9, "level": "no UTF-8" }, "Document (raw numbers) (no encoding check)": { - "us": 1565.9, + "us": 1410.8, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1629.8, - "level": "full" - }, - "Document (reused allocator)": { - "us": 2261.3, - "level": "full" - }, - "Document (raw numbers)": { - "us": 2321.1, + "us": 1495.9, "level": "full" }, "Document": { - "us": 2346.5, + "us": 2069.6, + "level": "full" + }, + "Document (raw numbers)": { + "us": 2101.7, + "level": "full" + }, + "Document (reused allocator)": { + "us": 2132.7, "level": "full" } } @@ -7519,27 +7519,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 543.5, + "us": 540.9, "level": "full" }, "best_any": { "variant": "from_utf8 + structs", - "us": 543.5, + "us": 540.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "from_utf8 + structs": { - "us": 543.5, + "us": 540.9, "level": "full" }, "structs": { - "us": 580.2, + "us": 579.6, "level": "no UTF-8" }, "Value": { - "us": 3409.8, + "us": 3279.9, "level": "full" } } @@ -7547,23 +7547,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 374.9, + "us": 371.4, "level": "full" }, "best_any": { "variant": "structs", - "us": 374.9, + "us": 371.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 374.9, + "us": 371.4, "level": "full" }, "Value": { - "us": 439.6, + "us": 445.2, "level": "full" } } @@ -7571,23 +7571,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 658.8, + "us": 649.2, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 658.8, + "us": 649.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 658.8, + "us": 649.2, "level": "full" }, "borrowed (copy)": { - "us": 1225.0, + "us": 1242.3, "level": "full" } } @@ -7597,35 +7597,35 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 491.4, + "us": 501.0, "level": "full" }, "best_any": { "variant": "parse", - "us": 491.4, + "us": 501.0, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 490.3, + "us": 500.8, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 490.3, + "us": 500.8, "level": "full" }, "variants": { "read (reused)": { - "us": 490.3, + "us": 500.8, "level": "full" }, "parse": { - "us": 491.4, + "us": 501.0, "level": "full" }, "structs (from_json)": { - "us": 538.5, + "us": 545.9, "level": "full" } } @@ -7633,23 +7633,23 @@ "nlohmann json": { "best": { "variant": "parse", - "us": 5428.7, + "us": 5003.0, "level": "full" }, "best_any": { "variant": "parse", - "us": 5428.7, + "us": 5003.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 5428.7, + "us": 5003.0, "level": "full" }, "structs (from_json)": { - "us": 5510.3, + "us": 5042.3, "level": "full" } } @@ -7657,39 +7657,39 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 486.3, + "us": 490.5, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 486.3, + "us": 490.5, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 488.7, + "us": 491.9, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 488.7, + "us": 491.9, "level": "full" }, "variants": { "insitu (copy)": { - "us": 486.3, - "level": "full" - }, - "read (reused allocator)": { - "us": 488.7, + "us": 490.5, "level": "full" }, "read": { - "us": 489.5, + "us": 490.8, + "level": "full" + }, + "read (reused allocator)": { + "us": 491.9, "level": "full" }, "read (raw numbers)": { - "us": 528.2, + "us": 529.9, "level": "full" } } @@ -7697,47 +7697,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 576.4, + "us": 575.9, "level": "full" }, "best_any": { - "variant": "On-Demand (key selectors)", - "us": 338.4, + "variant": "On-Demand", + "us": 323.6, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 576.9, + "us": 575.7, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 339.0, + "us": 322.3, "level": "partial" }, "variants": { - "On-Demand (key selectors)": { - "us": 338.4, - "level": "partial" - }, "On-Demand (reused)": { - "us": 339.0, + "us": 322.3, "level": "partial" }, "On-Demand": { - "us": 340.0, + "us": 323.6, + "level": "partial" + }, + "On-Demand (key selectors)": { + "us": 335.9, "level": "partial" }, "On-Demand structs": { - "us": 378.9, + "us": 378.8, "level": "partial" }, - "DOM": { - "us": 576.4, + "DOM (reused)": { + "us": 575.7, "level": "full" }, - "DOM (reused)": { - "us": 576.9, + "DOM": { + "us": 575.9, "level": "full" } } @@ -7746,14 +7746,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 694.6, + "us": 691.1, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 694.6, + "us": 691.1, "level": "no UTF-8" } } @@ -7761,43 +7761,43 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 702.8, + "us": 698.9, "level": "full" }, "best_any": { "variant": "structs", - "us": 208.7, + "us": 212.8, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 208.7, + "us": 212.8, "level": "partial" }, "structs (validate_skipped)": { - "us": 702.8, + "us": 698.9, "level": "full" }, "lazy_json": { - "us": 1438.8, + "us": 1417.4, + "level": "partial" + }, + "generic (double)": { + "us": 3385.4, "level": "partial" }, "generic (double, strict)": { - "us": 3537.6, + "us": 3449.1, "level": "full" }, - "generic (double)": { - "us": 3617.2, - "level": "partial" - }, "generic (strict)": { - "us": 6809.3, + "us": 6090.3, "level": "full" }, "generic": { - "us": 6994.5, + "us": 6260.9, "level": "partial" } }, @@ -7808,35 +7808,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 1140.1, + "us": 1144.1, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 1140.1, + "us": 1144.1, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 1357.0, + "us": 1426.8, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 1357.0, + "us": 1426.8, "level": "full" }, "variants": { "parse_into structs": { - "us": 1140.1, + "us": 1144.1, "level": "full" }, "parser (reused)": { - "us": 1357.0, + "us": 1426.8, "level": "full" }, "parse": { - "us": 1361.2, + "us": 1445.5, "level": "full" } }, @@ -7847,55 +7847,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1762.0, + "us": 1761.5, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1457.3, + "us": 1457.0, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2246.1, + "us": 2265.5, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1707.1, + "us": 1716.7, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1457.3, + "us": 1457.0, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1707.1, + "us": 1716.7, + "level": "no UTF-8" + }, + "Document (no encoding check)": { + "us": 1752.2, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1762.0, + "us": 1761.5, "level": "full" }, - "Document (no encoding check)": { - "us": 1795.9, - "level": "no UTF-8" - }, "Document (raw numbers) (no encoding check)": { - "us": 1986.4, + "us": 1970.8, "level": "no UTF-8" }, - "Document (reused allocator)": { - "us": 2246.1, + "Document": { + "us": 2232.0, "level": "full" }, - "Document": { - "us": 2301.3, + "Document (reused allocator)": { + "us": 2265.5, "level": "full" }, "Document (raw numbers)": { - "us": 2482.9, + "us": 2548.8, "level": "full" } } @@ -7903,27 +7903,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 694.2, + "us": 694.6, "level": "full" }, "best_any": { "variant": "from_utf8 + structs", - "us": 694.2, + "us": 694.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "from_utf8 + structs": { - "us": 694.2, + "us": 694.6, "level": "full" }, "structs": { - "us": 727.6, + "us": 726.2, "level": "no UTF-8" }, "Value": { - "us": 5020.7, + "us": 4784.9, "level": "full" } } @@ -7931,23 +7931,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 649.8, + "us": 653.4, "level": "full" }, "best_any": { "variant": "structs", - "us": 649.8, + "us": 653.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 649.8, + "us": 653.4, "level": "full" }, "Value": { - "us": 866.6, + "us": 836.8, "level": "full" } } @@ -7955,23 +7955,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 1329.8, + "us": 1327.6, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 1329.8, + "us": 1327.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 1329.8, + "us": 1327.6, "level": "full" }, "borrowed (copy)": { - "us": 3306.8, + "us": 3067.6, "level": "full" } } @@ -7983,23 +7983,23 @@ "nlohmann json_document": { "best": { "variant": "editable (source numbers)", - "us": 524.1, + "us": 519.1, "level": "full" }, "best_any": { "variant": "editable (source numbers)", - "us": 524.1, + "us": 519.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable (source numbers)": { - "us": 524.1, + "us": 519.1, "level": "full" }, "editable": { - "us": 525.1, + "us": 523.6, "level": "full" } } @@ -8007,47 +8007,47 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 2951.5, + "us": 2784.4, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 2951.5, + "us": 2784.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 2951.5, + "us": 2784.4, "level": "full" }, "parse": { - "us": 4348.8, + "us": 3961.0, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy) + mut copy", - "us": 812.7, + "variant": "mut copy", + "us": 869.0, "level": "full" }, "best_any": { - "variant": "insitu (copy) + mut copy", - "us": 812.7, + "variant": "mut copy", + "us": 869.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "insitu (copy) + mut copy": { - "us": 812.7, + "mut copy": { + "us": 869.0, "level": "full" }, - "mut copy": { - "us": 817.7, + "insitu (copy) + mut copy": { + "us": 890.4, "level": "full" } } @@ -8056,14 +8056,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 656.0, + "us": 634.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 656.0, + "us": 634.2, "level": "no UTF-8" } } @@ -8071,24 +8071,24 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 4374.6, + "us": 3866.4, "level": "full" }, "best_any": { - "variant": "generic (strict)", - "us": 4374.6, - "level": "full" + "variant": "generic", + "us": 3863.7, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (strict)": { - "us": 4374.6, - "level": "full" - }, "generic": { - "us": 4504.2, + "us": 3863.7, "level": "partial" + }, + "generic (strict)": { + "us": 3866.4, + "level": "full" } }, "excluded": { @@ -8099,19 +8099,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 1733.2, + "us": 1722.9, "level": "full" }, "best_any": { "variant": "parse", - "us": 1733.2, + "us": 1722.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 1733.2, + "us": 1722.9, "level": "full" } } @@ -8119,31 +8119,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 2481.4, + "us": 2470.5, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1876.7, + "us": 1839.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 1876.7, + "us": 1839.0, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 2040.2, + "us": 2039.2, "level": "no UTF-8" }, "insitu (copy)": { - "us": 2481.4, + "us": 2470.5, "level": "full" }, "Document": { - "us": 2809.1, + "us": 2740.8, "level": "full" } } @@ -8151,19 +8151,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 4036.2, + "us": 4041.7, "level": "full" }, "best_any": { "variant": "Value", - "us": 4036.2, + "us": 4041.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 4036.2, + "us": 4041.7, "level": "full" } } @@ -8171,19 +8171,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 1200.7, + "us": 1196.7, "level": "full" }, "best_any": { "variant": "Value", - "us": 1200.7, + "us": 1196.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 1200.7, + "us": 1196.7, "level": "full" } } @@ -8191,23 +8191,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 1923.5, + "us": 1862.2, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 1923.5, + "us": 1862.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 1923.5, + "us": 1862.2, "level": "full" }, "owned (copy)": { - "us": 2634.1, + "us": 2560.0, "level": "full" } } @@ -8217,23 +8217,23 @@ "nlohmann json_document": { "best": { "variant": "editable", - "us": 1168.8, + "us": 1142.6, "level": "full" }, "best_any": { "variant": "editable", - "us": 1168.8, + "us": 1142.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable": { - "us": 1168.8, + "us": 1142.6, "level": "full" }, "editable (source numbers)": { - "us": 1174.1, + "us": 1144.3, "level": "full" } } @@ -8241,47 +8241,47 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 5505.4, + "us": 4911.2, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 5505.4, + "us": 4911.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 5505.4, + "us": 4911.2, "level": "full" }, "parse": { - "us": 6812.2, + "us": 5742.2, "level": "full" } } }, "yyjson": { "best": { - "variant": "mut copy", - "us": 1844.7, + "variant": "insitu (copy) + mut copy", + "us": 1674.0, "level": "full" }, "best_any": { - "variant": "mut copy", - "us": 1844.7, + "variant": "insitu (copy) + mut copy", + "us": 1674.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "mut copy": { - "us": 1844.7, + "insitu (copy) + mut copy": { + "us": 1674.0, "level": "full" }, - "insitu (copy) + mut copy": { - "us": 1883.8, + "mut copy": { + "us": 1679.8, "level": "full" } } @@ -8290,14 +8290,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1541.6, + "us": 1458.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1541.6, + "us": 1458.3, "level": "no UTF-8" } } @@ -8305,24 +8305,24 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 8829.0, + "us": 7304.8, "level": "full" }, "best_any": { - "variant": "generic", - "us": 8524.0, - "level": "partial" + "variant": "generic (strict)", + "us": 7304.8, + "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic": { - "us": 8524.0, - "level": "partial" - }, "generic (strict)": { - "us": 8829.0, + "us": 7304.8, "level": "full" + }, + "generic": { + "us": 7354.8, + "level": "partial" } }, "excluded": { @@ -8333,19 +8333,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 2760.9, + "us": 2574.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 2760.9, + "us": 2574.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 2760.9, + "us": 2574.2, "level": "full" } } @@ -8353,31 +8353,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 3414.1, + "us": 3194.4, "level": "full" }, "best_any": { "variant": "Document (no encoding check)", - "us": 3057.2, + "us": 2862.1, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document (no encoding check)": { - "us": 3057.2, + "us": 2862.1, "level": "no UTF-8" }, "insitu (copy) (no encoding check)": { - "us": 3121.5, + "us": 2868.2, "level": "no UTF-8" }, "insitu (copy)": { - "us": 3414.1, + "us": 3194.4, "level": "full" }, "Document": { - "us": 3593.0, + "us": 3345.2, "level": "full" } } @@ -8385,19 +8385,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 7180.9, + "us": 6586.4, "level": "full" }, "best_any": { "variant": "Value", - "us": 7180.9, + "us": 6586.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 7180.9, + "us": 6586.4, "level": "full" } } @@ -8405,19 +8405,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 2415.5, + "us": 2388.6, "level": "full" }, "best_any": { "variant": "Value", - "us": 2415.5, + "us": 2388.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 2415.5, + "us": 2388.6, "level": "full" } } @@ -8425,23 +8425,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 4575.1, + "us": 4193.6, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 4575.1, + "us": 4193.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 4575.1, + "us": 4193.6, "level": "full" }, "owned (copy)": { - "us": 5459.1, + "us": 4989.9, "level": "full" } } @@ -8451,47 +8451,47 @@ "nlohmann json_document": { "best": { "variant": "editable (source numbers)", - "us": 2710.4, + "us": 2442.9, "level": "full" }, "best_any": { "variant": "editable (source numbers)", - "us": 2710.4, + "us": 2442.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable (source numbers)": { - "us": 2710.4, + "us": 2442.9, "level": "full" }, "editable": { - "us": 6141.8, + "us": 5462.0, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "ordered_json", - "us": 17698.3, + "variant": "parse", + "us": 15563.3, "level": "full" }, "best_any": { - "variant": "ordered_json", - "us": 17698.3, + "variant": "parse", + "us": 15563.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "ordered_json": { - "us": 17698.3, + "parse": { + "us": 15563.3, "level": "full" }, - "parse": { - "us": 18128.9, + "ordered_json": { + "us": 16389.6, "level": "full" } } @@ -8499,23 +8499,23 @@ "yyjson": { "best": { "variant": "mut copy", - "us": 7647.9, + "us": 7099.1, "level": "full" }, "best_any": { "variant": "mut copy", - "us": 7647.9, + "us": 7099.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "mut copy": { - "us": 7647.9, + "us": 7099.1, "level": "full" }, "insitu (copy) + mut copy": { - "us": 7830.8, + "us": 7126.6, "level": "full" } } @@ -8524,14 +8524,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 8629.8, + "us": 7851.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 8629.8, + "us": 7851.5, "level": "no UTF-8" } } @@ -8539,24 +8539,24 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 33432.0, + "us": 27388.1, "level": "full" }, "best_any": { - "variant": "generic (strict)", - "us": 33432.0, - "level": "full" + "variant": "generic", + "us": 26776.2, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (strict)": { - "us": 33432.0, - "level": "full" - }, "generic": { - "us": 33543.0, + "us": 26776.2, "level": "partial" + }, + "generic (strict)": { + "us": 27388.1, + "level": "full" } }, "excluded": { @@ -8567,19 +8567,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 14207.6, + "us": 12679.1, "level": "full" }, "best_any": { "variant": "parse", - "us": 14207.6, + "us": 12679.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 14207.6, + "us": 12679.1, "level": "full" } } @@ -8587,31 +8587,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 23990.4, + "us": 21015.8, "level": "full" }, "best_any": { - "variant": "insitu (copy) (no encoding check)", - "us": 23979.4, - "level": "no UTF-8" + "variant": "insitu (copy)", + "us": 21015.8, + "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "insitu (copy) (no encoding check)": { - "us": 23979.4, - "level": "no UTF-8" - }, "insitu (copy)": { - "us": 23990.4, + "us": 21015.8, "level": "full" }, + "insitu (copy) (no encoding check)": { + "us": 21059.8, + "level": "no UTF-8" + }, "Document (no encoding check)": { - "us": 24183.3, + "us": 21609.4, "level": "no UTF-8" }, "Document": { - "us": 24395.5, + "us": 21805.3, "level": "full" } } @@ -8619,19 +8619,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 17371.4, + "us": 16630.9, "level": "full" }, "best_any": { "variant": "Value", - "us": 17371.4, + "us": 16630.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 17371.4, + "us": 16630.9, "level": "full" } } @@ -8639,19 +8639,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 7957.7, + "us": 7743.7, "level": "full" }, "best_any": { "variant": "Value", - "us": 7957.7, + "us": 7743.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 7957.7, + "us": 7743.7, "level": "full" } } @@ -8659,23 +8659,23 @@ "simd-json": { "best": { "variant": "owned (copy)", - "us": 15746.3, + "us": 14895.5, "level": "full" }, "best_any": { "variant": "owned (copy)", - "us": 15746.3, + "us": 14895.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "owned (copy)": { - "us": 15746.3, + "us": 14895.5, "level": "full" }, "borrowed (copy)": { - "us": 16036.0, + "us": 14942.9, "level": "full" } } @@ -8685,23 +8685,23 @@ "nlohmann json_document": { "best": { "variant": "editable", - "us": 188749.8, + "us": 202684.1, "level": "full" }, "best_any": { "variant": "editable", - "us": 188749.8, + "us": 202684.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable": { - "us": 188749.8, + "us": 202684.1, "level": "full" }, "editable (source numbers)": { - "us": 208390.6, + "us": 202876.0, "level": "full" } } @@ -8709,23 +8709,23 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 857063.6, + "us": 659023.4, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 857063.6, + "us": 659023.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 857063.6, + "us": 659023.4, "level": "full" }, "parse": { - "us": 1181989.9, + "us": 889544.3, "level": "full" } } @@ -8733,23 +8733,23 @@ "yyjson": { "best": { "variant": "mut copy", - "us": 301255.5, + "us": 309767.3, "level": "full" }, "best_any": { "variant": "mut copy", - "us": 301255.5, + "us": 309767.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "mut copy": { - "us": 301255.5, + "us": 309767.3, "level": "full" }, "insitu (copy) + mut copy": { - "us": 319262.2, + "us": 318132.6, "level": "full" } } @@ -8758,14 +8758,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 185270.2, + "us": 183531.6, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 185270.2, + "us": 183531.6, "level": "no UTF-8" } } @@ -8773,23 +8773,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 863138.8, + "us": 744825.8, "level": "full" }, "best_any": { "variant": "generic (strict)", - "us": 863138.8, + "us": 744825.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "generic (strict)": { - "us": 863138.8, + "us": 744825.8, "level": "full" }, "generic": { - "us": 914360.3, + "us": 751647.7, "level": "partial" } }, @@ -8801,19 +8801,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 330404.3, + "us": 358087.7, "level": "full" }, "best_any": { "variant": "parse", - "us": 330404.3, + "us": 358087.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 330404.3, + "us": 358087.7, "level": "full" } } @@ -8821,31 +8821,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 401007.4, + "us": 380502.8, "level": "full" }, "best_any": { - "variant": "Document (no encoding check)", - "us": 315135.5, + "variant": "insitu (copy) (no encoding check)", + "us": 311506.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { - "Document (no encoding check)": { - "us": 315135.5, + "insitu (copy) (no encoding check)": { + "us": 311506.0, "level": "no UTF-8" }, - "insitu (copy) (no encoding check)": { - "us": 325452.1, + "Document (no encoding check)": { + "us": 320950.2, "level": "no UTF-8" }, "insitu (copy)": { - "us": 401007.4, + "us": 380502.8, "level": "full" }, "Document": { - "us": 411223.0, + "us": 408469.6, "level": "full" } } @@ -8853,19 +8853,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 843034.0, + "us": 632766.1, "level": "full" }, "best_any": { "variant": "Value", - "us": 843034.0, + "us": 632766.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 843034.0, + "us": 632766.1, "level": "full" } } @@ -8873,19 +8873,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 421718.3, + "us": 390951.9, "level": "full" }, "best_any": { "variant": "Value", - "us": 421718.3, + "us": 390951.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 421718.3, + "us": 390951.9, "level": "full" } } @@ -8893,23 +8893,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 435817.2, + "us": 391369.2, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 435817.2, + "us": 391369.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 435817.2, + "us": 391369.2, "level": "full" }, "owned (copy)": { - "us": 696004.8, + "us": 574174.1, "level": "full" } } @@ -8919,19 +8919,19 @@ "nlohmann json_document": { "best": { "variant": "editable", - "us": 3.0, + "us": 2.9, "level": "full" }, "best_any": { "variant": "editable", - "us": 3.0, + "us": 2.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable": { - "us": 3.0, + "us": 2.9, "level": "full" }, "editable (source numbers)": { @@ -8943,23 +8943,23 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 15.1, + "us": 13.1, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 15.1, + "us": 13.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 15.1, + "us": 13.1, "level": "full" }, "parse": { - "us": 19.5, + "us": 21.7, "level": "full" } } @@ -8967,23 +8967,23 @@ "yyjson": { "best": { "variant": "mut copy", - "us": 4.0, + "us": 3.9, "level": "full" }, "best_any": { "variant": "mut copy", - "us": 4.0, + "us": 3.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "mut copy": { - "us": 4.0, + "us": 3.9, "level": "full" }, "insitu (copy) + mut copy": { - "us": 4.2, + "us": 3.9, "level": "full" } } @@ -8992,14 +8992,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 3.5, + "us": 3.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 3.5, + "us": 3.3, "level": "no UTF-8" } } @@ -9007,24 +9007,24 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 21.5, + "us": 18.5, "level": "full" }, "best_any": { - "variant": "generic (strict)", - "us": 21.5, - "level": "full" + "variant": "generic", + "us": 18.2, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (strict)": { - "us": 21.5, - "level": "full" - }, "generic": { - "us": 21.8, + "us": 18.2, "level": "partial" + }, + "generic (strict)": { + "us": 18.5, + "level": "full" } }, "excluded": { @@ -9035,19 +9035,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 9.0, + "us": 8.4, "level": "full" }, "best_any": { "variant": "parse", - "us": 9.0, + "us": 8.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 9.0, + "us": 8.4, "level": "full" } } @@ -9055,31 +9055,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 12.0, + "us": 12.1, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 8.4, + "us": 7.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 8.4, + "us": 7.8, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 11.8, + "us": 11.4, "level": "no UTF-8" }, "insitu (copy)": { - "us": 12.0, + "us": 12.1, "level": "full" }, "Document": { - "us": 15.7, + "us": 15.1, "level": "full" } } @@ -9087,19 +9087,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 16.9, + "us": 17.6, "level": "full" }, "best_any": { "variant": "Value", - "us": 16.9, + "us": 17.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 16.9, + "us": 17.6, "level": "full" } } @@ -9127,23 +9127,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 9.6, + "us": 9.0, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 9.6, + "us": 9.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 9.6, + "us": 9.0, "level": "full" }, "owned (copy)": { - "us": 14.3, + "us": 13.1, "level": "full" } } @@ -9152,24 +9152,24 @@ "twitter_min": { "nlohmann json_document": { "best": { - "variant": "editable", - "us": 477.5, + "variant": "editable (source numbers)", + "us": 466.0, "level": "full" }, "best_any": { - "variant": "editable", - "us": 477.5, + "variant": "editable (source numbers)", + "us": 466.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "editable": { - "us": 477.5, + "editable (source numbers)": { + "us": 466.0, "level": "full" }, - "editable (source numbers)": { - "us": 481.1, + "editable": { + "us": 467.2, "level": "full" } } @@ -9177,47 +9177,47 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 2955.0, + "us": 2688.7, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 2955.0, + "us": 2688.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 2955.0, + "us": 2688.7, "level": "full" }, "parse": { - "us": 4546.9, + "us": 3939.1, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy) + mut copy", - "us": 820.9, + "variant": "mut copy", + "us": 801.7, "level": "full" }, "best_any": { - "variant": "insitu (copy) + mut copy", - "us": 820.9, + "variant": "mut copy", + "us": 801.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "insitu (copy) + mut copy": { - "us": 820.9, + "mut copy": { + "us": 801.7, "level": "full" }, - "mut copy": { - "us": 841.9, + "insitu (copy) + mut copy": { + "us": 809.5, "level": "full" } } @@ -9226,14 +9226,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 571.6, + "us": 518.7, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 571.6, + "us": 518.7, "level": "no UTF-8" } } @@ -9241,24 +9241,24 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 4360.0, + "us": 3942.8, "level": "full" }, "best_any": { - "variant": "generic (strict)", - "us": 4360.0, - "level": "full" + "variant": "generic", + "us": 3813.5, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (strict)": { - "us": 4360.0, - "level": "full" - }, "generic": { - "us": 4541.7, + "us": 3813.5, "level": "partial" + }, + "generic (strict)": { + "us": 3942.8, + "level": "full" } }, "excluded": { @@ -9269,19 +9269,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 1782.3, + "us": 1629.6, "level": "full" }, "best_any": { "variant": "parse", - "us": 1782.3, + "us": 1629.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 1782.3, + "us": 1629.6, "level": "full" } } @@ -9289,31 +9289,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 2331.4, + "us": 2194.8, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1708.9, + "us": 1615.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 1708.9, + "us": 1615.3, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 2160.9, + "us": 1964.5, "level": "no UTF-8" }, "insitu (copy)": { - "us": 2331.4, + "us": 2194.8, "level": "full" }, "Document": { - "us": 2802.4, + "us": 2681.0, "level": "full" } } @@ -9321,19 +9321,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 3752.3, + "us": 3816.4, "level": "full" }, "best_any": { "variant": "Value", - "us": 3752.3, + "us": 3816.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 3752.3, + "us": 3816.4, "level": "full" } } @@ -9341,19 +9341,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 1050.0, + "us": 1061.1, "level": "full" }, "best_any": { "variant": "Value", - "us": 1050.0, + "us": 1061.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 1050.0, + "us": 1061.1, "level": "full" } } @@ -9361,23 +9361,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 1851.6, + "us": 1793.6, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 1851.6, + "us": 1793.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 1851.6, + "us": 1793.6, "level": "full" }, "owned (copy)": { - "us": 2606.9, + "us": 2514.9, "level": "full" } } @@ -9386,24 +9386,24 @@ "citm_catalog_min": { "nlohmann json_document": { "best": { - "variant": "editable (source numbers)", - "us": 848.2, + "variant": "editable", + "us": 853.6, "level": "full" }, "best_any": { - "variant": "editable (source numbers)", - "us": 848.2, + "variant": "editable", + "us": 853.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "editable (source numbers)": { - "us": 848.2, + "editable": { + "us": 853.6, "level": "full" }, - "editable": { - "us": 851.8, + "editable (source numbers)": { + "us": 856.9, "level": "full" } } @@ -9411,23 +9411,23 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 4998.0, + "us": 4947.2, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 4998.0, + "us": 4947.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 4998.0, + "us": 4947.2, "level": "full" }, "parse": { - "us": 6225.9, + "us": 5853.2, "level": "full" } } @@ -9435,23 +9435,23 @@ "yyjson": { "best": { "variant": "insitu (copy) + mut copy", - "us": 1262.9, + "us": 1295.3, "level": "full" }, "best_any": { "variant": "insitu (copy) + mut copy", - "us": 1262.9, + "us": 1295.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) + mut copy": { - "us": 1262.9, + "us": 1295.3, "level": "full" }, "mut copy": { - "us": 1291.2, + "us": 1310.8, "level": "full" } } @@ -9460,14 +9460,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1166.7, + "us": 1139.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1166.7, + "us": 1139.9, "level": "no UTF-8" } } @@ -9475,24 +9475,24 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 7558.6, + "us": 7107.4, "level": "full" }, "best_any": { - "variant": "generic (strict)", - "us": 7558.6, - "level": "full" + "variant": "generic", + "us": 7078.3, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (strict)": { - "us": 7558.6, - "level": "full" - }, "generic": { - "us": 7632.5, + "us": 7078.3, "level": "partial" + }, + "generic (strict)": { + "us": 7107.4, + "level": "full" } }, "excluded": { @@ -9503,19 +9503,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 2347.7, + "us": 2345.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 2347.7, + "us": 2345.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 2347.7, + "us": 2345.2, "level": "full" } } @@ -9523,31 +9523,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 2799.9, + "us": 2780.5, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 2430.6, + "us": 2451.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 2430.6, + "us": 2451.2, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 2711.7, + "us": 2721.7, "level": "no UTF-8" }, "insitu (copy)": { - "us": 2799.9, + "us": 2780.5, "level": "full" }, "Document": { - "us": 3291.2, + "us": 3274.0, "level": "full" } } @@ -9555,19 +9555,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 5491.4, + "us": 5854.0, "level": "full" }, "best_any": { "variant": "Value", - "us": 5491.4, + "us": 5854.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 5491.4, + "us": 5854.0, "level": "full" } } @@ -9575,19 +9575,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 2034.0, + "us": 1970.9, "level": "full" }, "best_any": { "variant": "Value", - "us": 2034.0, + "us": 1970.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 2034.0, + "us": 1970.9, "level": "full" } } @@ -9595,23 +9595,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 4140.4, + "us": 3891.2, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 4140.4, + "us": 3891.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 4140.4, + "us": 3891.2, "level": "full" }, "owned (copy)": { - "us": 5070.4, + "us": 4690.0, "level": "full" } } @@ -9622,36 +9622,36 @@ "twitter": { "nlohmann json_document": { "best": { - "variant": "parse + dump", - "us": 470.7, + "variant": "parse + dump (source numbers)", + "us": 466.4, "level": "full" }, "best_any": { - "variant": "parse + dump", - "us": 470.7, + "variant": "parse + dump (source numbers)", + "us": 466.4, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 466.9, + "us": 469.3, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 466.9, + "us": 469.3, "level": "full" }, "variants": { + "parse + dump (source numbers)": { + "us": 466.4, + "level": "full" + }, "read + dump (reused)": { - "us": 466.9, + "us": 469.3, "level": "full" }, "parse + dump": { - "us": 470.7, - "level": "full" - }, - "parse + dump (source numbers)": { - "us": 475.7, + "us": 474.2, "level": "full" } } @@ -9659,19 +9659,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 4075.6, + "us": 3990.5, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 4075.6, + "us": 3990.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 4075.6, + "us": 3990.5, "level": "full" } } @@ -9679,39 +9679,39 @@ "yyjson": { "best": { "variant": "read + write", - "us": 629.0, + "us": 630.7, "level": "full" }, "best_any": { "variant": "read + write", - "us": 629.0, + "us": 630.7, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 631.1, + "us": 634.6, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 631.1, + "us": 634.6, "level": "full" }, "variants": { "read + write": { - "us": 629.0, - "level": "full" - }, - "read + write (reused allocator)": { - "us": 631.1, + "us": 630.7, "level": "full" }, "insitu (copy) + write": { - "us": 631.4, + "us": 630.9, "level": "full" }, "read (raw numbers) + write": { - "us": 638.0, + "us": 631.8, + "level": "full" + }, + "read + write (reused allocator)": { + "us": 634.6, "level": "full" } } @@ -9719,35 +9719,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 840.9, + "us": 842.5, "level": "full" }, "best_any": { "variant": "minify", - "us": 103.8, + "us": 98.8, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 826.3, + "us": 836.2, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 826.3, + "us": 836.2, "level": "full" }, "variants": { "minify": { - "us": 103.8, + "us": 98.8, "level": "partial" }, "DOM (reused) + to_string": { - "us": 826.3, + "us": 836.2, "level": "full" }, "DOM + to_string": { - "us": 840.9, + "us": 842.5, "level": "full" } } @@ -9756,14 +9756,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 661.7, + "us": 646.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 661.7, + "us": 646.3, "level": "no UTF-8" } } @@ -9771,27 +9771,27 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 4282.0, + "us": 3833.7, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 419.3, + "us": 422.3, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 419.3, + "us": 422.3, "level": "partial" }, "generic": { - "us": 4204.9, + "us": 3766.3, "level": "partial" }, "generic (strict)": { - "us": 4282.0, + "us": 3833.7, "level": "full" } }, @@ -9803,31 +9803,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 1744.7, + "us": 1753.4, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 1744.7, + "us": 1753.4, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 1748.5, + "us": 1732.4, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 1748.5, + "us": 1732.4, "level": "full" }, "variants": { - "parse + serialize": { - "us": 1744.7, + "parser (reused) + serialize": { + "us": 1732.4, "level": "full" }, - "parser (reused) + serialize": { - "us": 1748.5, + "parse + serialize": { + "us": 1753.4, "level": "full" } } @@ -9835,55 +9835,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 2467.4, + "us": 2415.8, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 1790.5, + "us": 1751.2, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 2795.0, + "us": 2820.2, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 2092.9, + "us": 2080.0, "level": "no UTF-8" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 1790.5, + "us": 1751.2, "level": "no UTF-8" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 1817.9, + "us": 1795.8, "level": "no UTF-8" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 2092.9, + "us": 2080.0, "level": "no UTF-8" }, "Document + Writer (no encoding check)": { - "us": 2138.0, + "us": 2090.5, "level": "no UTF-8" }, "SAX to Writer": { - "us": 2467.4, + "us": 2415.8, "level": "full" }, "SAX to Writer (raw numbers)": { - "us": 2583.9, - "level": "full" - }, - "Document + Writer (reused allocator)": { - "us": 2795.0, + "us": 2462.3, "level": "full" }, "Document + Writer": { - "us": 2865.1, + "us": 2790.1, + "level": "full" + }, + "Document + Writer (reused allocator)": { + "us": 2820.2, "level": "full" } } @@ -9891,19 +9891,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 4220.0, + "us": 4012.4, "level": "full" }, "best_any": { "variant": "Value", - "us": 4220.0, + "us": 4012.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 4220.0, + "us": 4012.4, "level": "full" } } @@ -9911,19 +9911,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 1003.1, + "us": 1000.4, "level": "full" }, "best_any": { "variant": "Value", - "us": 1003.1, + "us": 1000.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 1003.1, + "us": 1000.4, "level": "full" } } @@ -9931,19 +9931,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 1877.7, + "us": 1888.9, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 1877.7, + "us": 1888.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 1877.7, + "us": 1888.9, "level": "full" } } @@ -9952,36 +9952,36 @@ "citm_catalog": { "nlohmann json_document": { "best": { - "variant": "parse + dump", - "us": 1018.4, + "variant": "parse + dump (source numbers)", + "us": 1047.8, "level": "full" }, "best_any": { - "variant": "parse + dump", - "us": 1018.4, + "variant": "parse + dump (source numbers)", + "us": 1047.8, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 994.1, + "us": 1053.4, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 994.1, + "us": 1053.4, "level": "full" }, "variants": { - "read + dump (reused)": { - "us": 994.1, + "parse + dump (source numbers)": { + "us": 1047.8, "level": "full" }, "parse + dump": { - "us": 1018.4, + "us": 1050.5, "level": "full" }, - "parse + dump (source numbers)": { - "us": 1032.8, + "read + dump (reused)": { + "us": 1053.4, "level": "full" } } @@ -9989,59 +9989,59 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 6339.6, + "us": 5718.6, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 6339.6, + "us": 5718.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 6339.6, + "us": 5718.6, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy) + write", - "us": 1281.0, + "variant": "read (raw numbers) + write", + "us": 1246.1, "level": "full" }, "best_any": { - "variant": "insitu (copy) + write", - "us": 1281.0, + "variant": "read (raw numbers) + write", + "us": 1246.1, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 1371.2, + "us": 1325.4, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 1371.2, + "us": 1325.4, "level": "full" }, "variants": { - "insitu (copy) + write": { - "us": 1281.0, + "read (raw numbers) + write": { + "us": 1246.1, "level": "full" }, - "read (raw numbers) + write": { - "us": 1305.2, + "insitu (copy) + write": { + "us": 1262.0, "level": "full" }, "read + write": { - "us": 1309.3, + "us": 1263.6, "level": "full" }, "read + write (reused allocator)": { - "us": 1371.2, + "us": 1325.4, "level": "full" } } @@ -10049,35 +10049,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 1430.2, + "us": 1430.4, "level": "full" }, "best_any": { "variant": "minify", - "us": 256.4, + "us": 269.4, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 1420.3, + "us": 1418.0, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 1420.3, + "us": 1418.0, "level": "full" }, "variants": { "minify": { - "us": 256.4, + "us": 269.4, "level": "partial" }, "DOM (reused) + to_string": { - "us": 1420.3, + "us": 1418.0, "level": "full" }, "DOM + to_string": { - "us": 1430.2, + "us": 1430.4, "level": "full" } } @@ -10086,14 +10086,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 1523.1, + "us": 1482.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 1523.1, + "us": 1482.5, "level": "no UTF-8" } } @@ -10101,28 +10101,28 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 8703.5, + "us": 7268.6, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 1023.9, + "us": 1058.0, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 1023.9, - "level": "partial" - }, - "generic": { - "us": 8479.4, + "us": 1058.0, "level": "partial" }, "generic (strict)": { - "us": 8703.5, + "us": 7268.6, "level": "full" + }, + "generic": { + "us": 7369.2, + "level": "partial" } }, "excluded": { @@ -10133,31 +10133,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 2653.9, + "us": 2590.6, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 2653.9, + "us": 2590.6, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 2650.8, + "us": 2559.3, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 2650.8, + "us": 2559.3, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 2650.8, + "us": 2559.3, "level": "full" }, "parse + serialize": { - "us": 2653.9, + "us": 2590.6, "level": "full" } } @@ -10165,55 +10165,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 2971.5, + "us": 2869.6, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 2577.0, + "us": 2380.4, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 3514.6, + "us": 3414.9, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 3000.6, + "us": 2892.0, "level": "no UTF-8" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 2577.0, + "us": 2380.4, "level": "no UTF-8" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 2764.3, + "us": 2741.8, "level": "no UTF-8" }, "SAX to Writer": { - "us": 2971.5, + "us": 2869.6, "level": "full" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 3000.6, + "us": 2892.0, "level": "no UTF-8" }, "Document + Writer (no encoding check)": { - "us": 3146.4, + "us": 2950.5, "level": "no UTF-8" }, "SAX to Writer (raw numbers)": { - "us": 3465.5, - "level": "full" - }, - "Document + Writer (reused allocator)": { - "us": 3514.6, + "us": 3179.9, "level": "full" }, "Document + Writer": { - "us": 3521.0, + "us": 3405.2, + "level": "full" + }, + "Document + Writer (reused allocator)": { + "us": 3414.9, "level": "full" } } @@ -10221,19 +10221,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 6875.5, + "us": 6582.6, "level": "full" }, "best_any": { "variant": "Value", - "us": 6875.5, + "us": 6582.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 6875.5, + "us": 6582.6, "level": "full" } } @@ -10241,19 +10241,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 2174.1, + "us": 2096.9, "level": "full" }, "best_any": { "variant": "Value", - "us": 2174.1, + "us": 2096.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 2174.1, + "us": 2096.9, "level": "full" } } @@ -10261,19 +10261,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 4655.1, + "us": 4196.0, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 4655.1, + "us": 4196.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 4655.1, + "us": 4196.0, "level": "full" } } @@ -10283,35 +10283,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 2437.6, + "us": 2402.5, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 2437.6, + "us": 2402.5, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 5073.0, + "us": 5075.6, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 5073.0, + "us": 5075.6, "level": "full" }, "variants": { "parse + dump (source numbers)": { - "us": 2437.6, + "us": 2402.5, "level": "full" }, "read + dump (reused)": { - "us": 5073.0, + "us": 5075.6, "level": "full" }, "parse + dump": { - "us": 5143.6, + "us": 5332.8, "level": "full" } } @@ -10319,19 +10319,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 16899.3, + "us": 16153.3, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 16899.3, + "us": 16153.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 16899.3, + "us": 16153.3, "level": "full" } } @@ -10339,39 +10339,39 @@ "yyjson": { "best": { "variant": "read (raw numbers) + write", - "us": 3187.7, + "us": 3613.8, "level": "full" }, "best_any": { "variant": "read (raw numbers) + write", - "us": 3187.7, + "us": 3613.8, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 6145.1, + "us": 6512.5, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 6145.1, + "us": 6512.5, "level": "full" }, "variants": { "read (raw numbers) + write": { - "us": 3187.7, - "level": "full" - }, - "read + write (reused allocator)": { - "us": 6145.1, - "level": "full" - }, - "read + write": { - "us": 6146.3, + "us": 3613.8, "level": "full" }, "insitu (copy) + write": { - "us": 6263.3, + "us": 6304.4, + "level": "full" + }, + "read + write": { + "us": 6459.2, + "level": "full" + }, + "read + write (reused allocator)": { + "us": 6512.5, "level": "full" } } @@ -10379,35 +10379,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 8343.1, + "us": 8104.9, "level": "full" }, "best_any": { "variant": "minify", - "us": 374.6, + "us": 332.1, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 8117.9, + "us": 8218.6, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 8117.9, + "us": 8218.6, "level": "full" }, "variants": { "minify": { - "us": 374.6, + "us": 332.1, "level": "partial" }, - "DOM (reused) + to_string": { - "us": 8117.9, + "DOM + to_string": { + "us": 8104.9, "level": "full" }, - "DOM + to_string": { - "us": 8343.1, + "DOM (reused) + to_string": { + "us": 8218.6, "level": "full" } } @@ -10416,14 +10416,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 8111.0, + "us": 8135.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 8111.0, + "us": 8135.4, "level": "no UTF-8" } } @@ -10431,27 +10431,27 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 29994.8, + "us": 27453.5, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 2462.9, + "us": 2149.8, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 2462.9, + "us": 2149.8, "level": "partial" }, "generic (strict)": { - "us": 29994.8, + "us": 27453.5, "level": "full" }, "generic": { - "us": 30142.4, + "us": 27781.3, "level": "partial" } }, @@ -10463,31 +10463,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 12599.4, + "us": 13210.4, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 12599.4, + "us": 13210.4, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 12593.8, + "us": 12926.5, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 12593.8, + "us": 12926.5, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 12593.8, + "us": 12926.5, "level": "full" }, "parse + serialize": { - "us": 12599.4, + "us": 13210.4, "level": "full" } } @@ -10495,75 +10495,75 @@ "RapidJSON": { "best": { "variant": "SAX to Writer (raw numbers)", - "us": 14796.0, + "us": 15836.3, "level": "full" }, "best_any": { - "variant": "SAX to Writer (raw numbers)", - "us": 14796.0, - "level": "full" + "variant": "SAX to Writer (raw numbers) (no encoding check)", + "us": 14655.3, + "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 22383.8, + "us": 22954.9, "level": "full" }, "best_reused_any": { - "variant": "Document + Writer (reused allocator)", - "us": 22383.8, - "level": "full" + "variant": "Document + Writer (reused allocator) (no encoding check)", + "us": 21967.0, + "level": "no UTF-8" }, "variants": { - "SAX to Writer (raw numbers)": { - "us": 14796.0, - "level": "full" - }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 14948.7, + "us": 14655.3, "level": "no UTF-8" }, - "Document + Writer (no encoding check)": { - "us": 22376.8, - "level": "no UTF-8" - }, - "Document + Writer (reused allocator)": { - "us": 22383.8, - "level": "full" - }, - "Document + Writer": { - "us": 22419.4, + "SAX to Writer (raw numbers)": { + "us": 15836.3, "level": "full" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 22945.3, + "us": 21967.0, "level": "no UTF-8" }, - "SAX to Writer": { - "us": 23746.3, + "Document + Writer (no encoding check)": { + "us": 22055.0, + "level": "no UTF-8" + }, + "Document + Writer": { + "us": 22073.2, + "level": "full" + }, + "Document + Writer (reused allocator)": { + "us": 22954.9, "level": "full" }, "SAX to Writer (no encoding check)": { - "us": 24015.3, + "us": 23982.0, "level": "no UTF-8" + }, + "SAX to Writer": { + "us": 24500.5, + "level": "full" } } }, "serde_json": { "best": { "variant": "Value", - "us": 17275.8, + "us": 17306.0, "level": "full" }, "best_any": { "variant": "Value", - "us": 17275.8, + "us": 17306.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 17275.8, + "us": 17306.0, "level": "full" } } @@ -10571,19 +10571,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 7753.0, + "us": 7795.3, "level": "full" }, "best_any": { "variant": "Value", - "us": 7753.0, + "us": 7795.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 7753.0, + "us": 7795.3, "level": "full" } } @@ -10591,19 +10591,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 15954.8, + "us": 15716.2, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 15954.8, + "us": 15716.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 15954.8, + "us": 15716.2, "level": "full" } } @@ -10612,36 +10612,36 @@ "jeopardy": { "nlohmann json_document": { "best": { - "variant": "parse + dump", - "us": 154046.3, + "variant": "parse + dump (source numbers)", + "us": 147778.8, "level": "full" }, "best_any": { - "variant": "parse + dump", - "us": 154046.3, + "variant": "parse + dump (source numbers)", + "us": 147778.8, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 119336.9, + "us": 111466.5, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 119336.9, + "us": 111466.5, "level": "full" }, "variants": { "read + dump (reused)": { - "us": 119336.9, - "level": "full" - }, - "parse + dump": { - "us": 154046.3, + "us": 111466.5, "level": "full" }, "parse + dump (source numbers)": { - "us": 159347.3, + "us": 147778.8, + "level": "full" + }, + "parse + dump": { + "us": 156633.8, "level": "full" } } @@ -10649,59 +10649,59 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 744614.0, + "us": 536911.1, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 744614.0, + "us": 536911.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 744614.0, + "us": 536911.1, "level": "full" } } }, "yyjson": { "best": { - "variant": "read (raw numbers) + write", - "us": 211772.1, + "variant": "read + write", + "us": 196788.9, "level": "full" }, "best_any": { - "variant": "read (raw numbers) + write", - "us": 211772.1, + "variant": "read + write", + "us": 196788.9, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 102271.6, + "us": 99342.1, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 102271.6, + "us": 99342.1, "level": "full" }, "variants": { "read + write (reused allocator)": { - "us": 102271.6, - "level": "full" - }, - "read (raw numbers) + write": { - "us": 211772.1, - "level": "full" - }, - "insitu (copy) + write": { - "us": 211812.4, + "us": 99342.1, "level": "full" }, "read + write": { - "us": 212223.1, + "us": 196788.9, + "level": "full" + }, + "insitu (copy) + write": { + "us": 202873.7, + "level": "full" + }, + "read (raw numbers) + write": { + "us": 204688.7, "level": "full" } } @@ -10709,35 +10709,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 299968.1, + "us": 297945.8, "level": "full" }, "best_any": { "variant": "minify", - "us": 46051.1, + "us": 44830.0, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 235971.6, + "us": 227274.1, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 235971.6, + "us": 227274.1, "level": "full" }, "variants": { "minify": { - "us": 46051.1, + "us": 44830.0, "level": "partial" }, "DOM (reused) + to_string": { - "us": 235971.6, + "us": 227274.1, "level": "full" }, "DOM + to_string": { - "us": 299968.1, + "us": 297945.8, "level": "full" } } @@ -10746,14 +10746,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 170678.9, + "us": 167844.1, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 170678.9, + "us": 167844.1, "level": "no UTF-8" } } @@ -10761,27 +10761,27 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 604082.5, + "us": 521118.9, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 93661.4, + "us": 88952.0, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 93661.4, + "us": 88952.0, "level": "partial" }, "generic (strict)": { - "us": 604082.5, + "us": 521118.9, "level": "full" }, "generic": { - "us": 626790.7, + "us": 524393.5, "level": "partial" } }, @@ -10793,87 +10793,87 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 324994.5, + "us": 339359.7, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 324994.5, + "us": 339359.7, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 277553.3, + "us": 277423.2, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 277553.3, + "us": 277423.2, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 277553.3, + "us": 277423.2, "level": "full" }, "parse + serialize": { - "us": 324994.5, + "us": 339359.7, "level": "full" } } }, "RapidJSON": { "best": { - "variant": "SAX to Writer (raw numbers)", - "us": 382786.4, + "variant": "SAX to Writer", + "us": 354207.7, "level": "full" }, "best_any": { - "variant": "SAX to Writer (no encoding check)", - "us": 293834.3, + "variant": "SAX to Writer (raw numbers) (no encoding check)", + "us": 261920.5, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 421365.5, + "us": 407736.6, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 323389.5, + "us": 310360.0, "level": "no UTF-8" }, "variants": { - "SAX to Writer (no encoding check)": { - "us": 293834.3, - "level": "no UTF-8" - }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 295663.8, + "us": 261920.5, "level": "no UTF-8" }, - "Document + Writer (no encoding check)": { - "us": 322802.7, + "SAX to Writer (no encoding check)": { + "us": 265424.8, "level": "no UTF-8" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 323389.5, + "us": 310360.0, "level": "no UTF-8" }, - "SAX to Writer (raw numbers)": { - "us": 382786.4, - "level": "full" + "Document + Writer (no encoding check)": { + "us": 315883.9, + "level": "no UTF-8" }, "SAX to Writer": { - "us": 383355.4, + "us": 354207.7, "level": "full" }, - "Document + Writer (reused allocator)": { - "us": 421365.5, + "SAX to Writer (raw numbers)": { + "us": 362622.6, "level": "full" }, "Document + Writer": { - "us": 430147.7, + "us": 398733.9, + "level": "full" + }, + "Document + Writer (reused allocator)": { + "us": 407736.6, "level": "full" } } @@ -10881,19 +10881,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 628191.9, + "us": 509701.9, "level": "full" }, "best_any": { "variant": "Value", - "us": 628191.9, + "us": 509701.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 628191.9, + "us": 509701.9, "level": "full" } } @@ -10901,19 +10901,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 217354.2, + "us": 215280.2, "level": "full" }, "best_any": { "variant": "Value", - "us": 217354.2, + "us": 215280.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 217354.2, + "us": 215280.2, "level": "full" } } @@ -10921,19 +10921,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 419412.0, + "us": 414376.9, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 419412.0, + "us": 414376.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 419412.0, + "us": 414376.9, "level": "full" } } @@ -10942,36 +10942,36 @@ "status": { "nlohmann json_document": { "best": { - "variant": "parse + dump (source numbers)", + "variant": "parse + dump", "us": 2.4, "level": "full" }, "best_any": { - "variant": "parse + dump (source numbers)", + "variant": "parse + dump", "us": 2.4, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 2.5, + "us": 2.3, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 2.5, + "us": 2.3, "level": "full" }, "variants": { - "parse + dump (source numbers)": { - "us": 2.4, + "read + dump (reused)": { + "us": 2.3, "level": "full" }, "parse + dump": { - "us": 2.5, + "us": 2.4, "level": "full" }, - "read + dump (reused)": { - "us": 2.5, + "parse + dump (source numbers)": { + "us": 2.4, "level": "full" } } @@ -10979,19 +10979,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 18.1, + "us": 20.8, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 18.1, + "us": 20.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 18.1, + "us": 20.8, "level": "full" } } @@ -11031,7 +11031,7 @@ "level": "full" }, "read (raw numbers) + write": { - "us": 3.2, + "us": 3.1, "level": "full" } } @@ -11049,12 +11049,12 @@ }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 4.6, + "us": 4.4, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 4.6, + "us": 4.4, "level": "full" }, "variants": { @@ -11063,7 +11063,7 @@ "level": "partial" }, "DOM (reused) + to_string": { - "us": 4.6, + "us": 4.4, "level": "full" }, "DOM + to_string": { @@ -11076,14 +11076,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 3.3, + "us": 3.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 3.3, + "us": 3.2, "level": "no UTF-8" } } @@ -11091,7 +11091,7 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 20.6, + "us": 17.3, "level": "full" }, "best_any": { @@ -11107,11 +11107,11 @@ "level": "partial" }, "generic": { - "us": 20.5, + "us": 16.9, "level": "partial" }, "generic (strict)": { - "us": 20.6, + "us": 17.3, "level": "full" } }, @@ -11123,31 +11123,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 8.8, + "us": 8.5, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 8.8, + "us": 8.5, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 8.2, + "us": 8.3, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 8.2, + "us": 8.3, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 8.2, + "us": 8.3, "level": "full" }, "parse + serialize": { - "us": 8.8, + "us": 8.5, "level": "full" } } @@ -11155,55 +11155,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 13.8, + "us": 13.2, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 9.8, + "us": 9.5, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 15.9, + "us": 15.2, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 11.8, + "us": 11.1, "level": "no UTF-8" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 9.8, + "us": 9.5, "level": "no UTF-8" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 10.0, + "us": 9.7, "level": "no UTF-8" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 11.8, + "us": 11.1, "level": "no UTF-8" }, "Document + Writer (no encoding check)": { - "us": 12.0, + "us": 11.5, "level": "no UTF-8" }, "SAX to Writer": { - "us": 13.8, + "us": 13.2, "level": "full" }, "SAX to Writer (raw numbers)": { - "us": 14.4, + "us": 13.4, "level": "full" }, "Document + Writer (reused allocator)": { - "us": 15.9, + "us": 15.2, "level": "full" }, "Document + Writer": { - "us": 16.2, + "us": 15.3, "level": "full" } } @@ -11211,19 +11211,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 16.7, + "us": 16.5, "level": "full" }, "best_any": { "variant": "Value", - "us": 16.7, + "us": 16.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 16.7, + "us": 16.5, "level": "full" } } @@ -11231,19 +11231,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 5.5, + "us": 5.4, "level": "full" }, "best_any": { "variant": "Value", - "us": 5.5, + "us": 5.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 5.5, + "us": 5.4, "level": "full" } } @@ -11251,19 +11251,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 9.5, + "us": 9.2, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 9.5, + "us": 9.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 9.5, + "us": 9.2, "level": "full" } } @@ -11272,36 +11272,36 @@ "twitter_min": { "nlohmann json_document": { "best": { - "variant": "parse + dump", - "us": 414.2, + "variant": "parse + dump (source numbers)", + "us": 413.8, "level": "full" }, "best_any": { - "variant": "parse + dump", - "us": 414.2, + "variant": "parse + dump (source numbers)", + "us": 413.8, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 412.6, + "us": 416.8, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 412.6, + "us": 416.8, "level": "full" }, "variants": { + "parse + dump (source numbers)": { + "us": 413.8, + "level": "full" + }, "read + dump (reused)": { - "us": 412.6, + "us": 416.8, "level": "full" }, "parse + dump": { - "us": 414.2, - "level": "full" - }, - "parse + dump (source numbers)": { - "us": 424.3, + "us": 423.2, "level": "full" } } @@ -11309,19 +11309,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 4212.1, + "us": 3786.8, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 4212.1, + "us": 3786.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 4212.1, + "us": 3786.8, "level": "full" } } @@ -11329,39 +11329,39 @@ "yyjson": { "best": { "variant": "read + write", - "us": 570.0, + "us": 566.6, "level": "full" }, "best_any": { "variant": "read + write", - "us": 570.0, + "us": 566.6, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 573.4, + "us": 561.5, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 573.4, + "us": 561.5, "level": "full" }, "variants": { - "read + write": { - "us": 570.0, - "level": "full" - }, "read + write (reused allocator)": { - "us": 573.4, + "us": 561.5, "level": "full" }, - "read (raw numbers) + write": { - "us": 579.0, + "read + write": { + "us": 566.6, "level": "full" }, "insitu (copy) + write": { - "us": 594.4, + "us": 569.4, + "level": "full" + }, + "read (raw numbers) + write": { + "us": 573.5, "level": "full" } } @@ -11369,35 +11369,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 840.8, + "us": 815.3, "level": "full" }, "best_any": { "variant": "minify", - "us": 73.9, + "us": 73.4, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 847.6, + "us": 822.0, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 847.6, + "us": 822.0, "level": "full" }, "variants": { "minify": { - "us": 73.9, + "us": 73.4, "level": "partial" }, "DOM + to_string": { - "us": 840.8, + "us": 815.3, "level": "full" }, "DOM (reused) + to_string": { - "us": 847.6, + "us": 822.0, "level": "full" } } @@ -11406,14 +11406,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 550.8, + "us": 536.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 550.8, + "us": 536.4, "level": "no UTF-8" } } @@ -11421,28 +11421,28 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 4299.7, + "us": 3634.8, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 351.5, + "us": 351.7, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 351.5, - "level": "partial" - }, - "generic": { - "us": 4144.9, + "us": 351.7, "level": "partial" }, "generic (strict)": { - "us": 4299.7, + "us": 3634.8, "level": "full" + }, + "generic": { + "us": 3689.9, + "level": "partial" } }, "excluded": { @@ -11453,31 +11453,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 1694.0, + "us": 1654.6, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 1694.0, + "us": 1654.6, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 1668.4, + "us": 1637.3, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 1668.4, + "us": 1637.3, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 1668.4, + "us": 1637.3, "level": "full" }, "parse + serialize": { - "us": 1694.0, + "us": 1654.6, "level": "full" } } @@ -11485,55 +11485,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 2428.5, + "us": 2355.0, "level": "full" }, "best_any": { - "variant": "SAX to Writer (raw numbers) (no encoding check)", - "us": 1815.3, + "variant": "SAX to Writer (no encoding check)", + "us": 1677.9, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 2868.7, + "us": 2776.2, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 2155.3, + "us": 2007.9, "level": "no UTF-8" }, "variants": { - "SAX to Writer (raw numbers) (no encoding check)": { - "us": 1815.3, - "level": "no UTF-8" - }, "SAX to Writer (no encoding check)": { - "us": 1827.9, + "us": 1677.9, "level": "no UTF-8" }, - "Document + Writer (no encoding check)": { - "us": 2128.5, + "SAX to Writer (raw numbers) (no encoding check)": { + "us": 1718.6, "level": "no UTF-8" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 2155.3, + "us": 2007.9, + "level": "no UTF-8" + }, + "Document + Writer (no encoding check)": { + "us": 2008.9, "level": "no UTF-8" }, "SAX to Writer": { - "us": 2428.5, + "us": 2355.0, "level": "full" }, "SAX to Writer (raw numbers)": { - "us": 2572.3, + "us": 2384.2, "level": "full" }, "Document + Writer": { - "us": 2776.2, + "us": 2676.9, "level": "full" }, "Document + Writer (reused allocator)": { - "us": 2868.7, + "us": 2776.2, "level": "full" } } @@ -11541,19 +11541,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 4035.0, + "us": 3887.6, "level": "full" }, "best_any": { "variant": "Value", - "us": 4035.0, + "us": 3887.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 4035.0, + "us": 3887.6, "level": "full" } } @@ -11561,19 +11561,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 860.5, + "us": 864.3, "level": "full" }, "best_any": { "variant": "Value", - "us": 860.5, + "us": 864.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 860.5, + "us": 864.3, "level": "full" } } @@ -11581,19 +11581,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 1851.3, + "us": 1839.7, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 1851.3, + "us": 1839.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 1851.3, + "us": 1839.7, "level": "full" } } @@ -11602,36 +11602,36 @@ "citm_catalog_min": { "nlohmann json_document": { "best": { - "variant": "parse + dump", - "us": 741.1, + "variant": "parse + dump (source numbers)", + "us": 753.6, "level": "full" }, "best_any": { - "variant": "parse + dump", - "us": 741.1, + "variant": "parse + dump (source numbers)", + "us": 753.6, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 746.8, + "us": 750.7, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 746.8, + "us": 750.7, "level": "full" }, "variants": { - "parse + dump": { - "us": 741.1, - "level": "full" - }, "read + dump (reused)": { - "us": 746.8, + "us": 750.7, "level": "full" }, "parse + dump (source numbers)": { - "us": 749.9, + "us": 753.6, + "level": "full" + }, + "parse + dump": { + "us": 756.0, "level": "full" } } @@ -11639,59 +11639,59 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 6151.7, + "us": 5405.2, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 6151.7, + "us": 5405.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 6151.7, + "us": 5405.2, "level": "full" } } }, "yyjson": { "best": { - "variant": "read + write", - "us": 836.9, + "variant": "read (raw numbers) + write", + "us": 847.2, "level": "full" }, "best_any": { - "variant": "read + write", - "us": 836.9, + "variant": "read (raw numbers) + write", + "us": 847.2, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 834.1, + "us": 852.9, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 834.1, + "us": 852.9, "level": "full" }, "variants": { - "read + write (reused allocator)": { - "us": 834.1, + "read (raw numbers) + write": { + "us": 847.2, "level": "full" }, "read + write": { - "us": 836.9, + "us": 848.2, "level": "full" }, "insitu (copy) + write": { - "us": 846.7, + "us": 849.7, "level": "full" }, - "read (raw numbers) + write": { - "us": 859.3, + "read + write (reused allocator)": { + "us": 852.9, "level": "full" } } @@ -11699,35 +11699,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 1257.8, + "us": 1258.8, "level": "full" }, "best_any": { "variant": "minify", - "us": 76.6, + "us": 73.1, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 1275.2, + "us": 1254.7, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 1275.2, + "us": 1254.7, "level": "full" }, "variants": { "minify": { - "us": 76.6, + "us": 73.1, "level": "partial" }, - "DOM + to_string": { - "us": 1257.8, + "DOM (reused) + to_string": { + "us": 1254.7, "level": "full" }, - "DOM (reused) + to_string": { - "us": 1275.2, + "DOM + to_string": { + "us": 1258.8, "level": "full" } } @@ -11736,14 +11736,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 1149.0, + "us": 1128.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 1149.0, + "us": 1128.5, "level": "no UTF-8" } } @@ -11751,28 +11751,28 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 7764.9, + "us": 6568.4, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 608.4, + "us": 597.5, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 608.4, - "level": "partial" - }, - "generic": { - "us": 7480.0, + "us": 597.5, "level": "partial" }, "generic (strict)": { - "us": 7764.9, + "us": 6568.4, "level": "full" + }, + "generic": { + "us": 6612.4, + "level": "partial" } }, "excluded": { @@ -11783,31 +11783,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 2291.4, + "us": 2339.7, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 2291.4, + "us": 2339.7, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 2325.7, + "us": 2321.0, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 2325.7, + "us": 2321.0, "level": "full" }, "variants": { - "parse + serialize": { - "us": 2291.4, + "parser (reused) + serialize": { + "us": 2321.0, "level": "full" }, - "parser (reused) + serialize": { - "us": 2325.7, + "parse + serialize": { + "us": 2339.7, "level": "full" } } @@ -11815,55 +11815,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 2619.8, + "us": 2594.0, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 2284.6, + "us": 2120.7, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 3239.8, + "us": 3088.8, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 2764.8, + "us": 2596.9, "level": "no UTF-8" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 2284.6, + "us": 2120.7, "level": "no UTF-8" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 2616.4, + "us": 2428.3, "level": "no UTF-8" }, "SAX to Writer": { - "us": 2619.8, + "us": 2594.0, "level": "full" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 2764.8, + "us": 2596.9, "level": "no UTF-8" }, "Document + Writer (no encoding check)": { - "us": 2784.3, + "us": 2598.8, "level": "no UTF-8" }, "SAX to Writer (raw numbers)": { - "us": 3009.1, - "level": "full" - }, - "Document + Writer": { - "us": 3199.3, + "us": 2878.1, "level": "full" }, "Document + Writer (reused allocator)": { - "us": 3239.8, + "us": 3088.8, + "level": "full" + }, + "Document + Writer": { + "us": 3131.1, "level": "full" } } @@ -11871,19 +11871,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 5949.5, + "us": 5737.6, "level": "full" }, "best_any": { "variant": "Value", - "us": 5949.5, + "us": 5737.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 5949.5, + "us": 5737.6, "level": "full" } } @@ -11891,19 +11891,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 1731.3, + "us": 1729.0, "level": "full" }, "best_any": { "variant": "Value", - "us": 1731.3, + "us": 1729.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 1731.3, + "us": 1729.0, "level": "full" } } @@ -11911,19 +11911,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 4193.3, + "us": 3903.9, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 4193.3, + "us": 3903.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 4193.3, + "us": 3903.9, "level": "full" } } @@ -11935,23 +11935,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 152.4, + "us": 152.2, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 152.4, + "us": 152.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 152.4, + "us": 152.2, "level": "n/a" }, "dump": { - "us": 153.2, + "us": 158.8, "level": "n/a" } } @@ -11959,19 +11959,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 439.1, + "us": 440.8, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 439.1, + "us": 440.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 439.1, + "us": 440.8, "level": "n/a" } } @@ -11979,19 +11979,19 @@ "yyjson": { "best": { "variant": "write", - "us": 217.1, + "us": 215.9, "level": "n/a" }, "best_any": { "variant": "write", - "us": 217.1, + "us": 215.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 217.1, + "us": 215.9, "level": "n/a" } } @@ -11999,19 +11999,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 496.4, + "us": 502.6, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 496.4, + "us": 502.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 496.4, + "us": 502.6, "level": "n/a" } } @@ -12019,19 +12019,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 646.9, + "us": 626.6, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 646.9, + "us": 626.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 646.9, + "us": 626.6, "level": "n/a" } } @@ -12039,19 +12039,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 229.0, + "us": 218.6, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 229.0, + "us": 218.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 229.0, + "us": 218.6, "level": "n/a" } } @@ -12059,23 +12059,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 383.4, + "us": 399.7, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 383.4, + "us": 399.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 383.4, + "us": 399.7, "level": "n/a" }, "generic (strict)": { - "us": 418.0, + "us": 406.0, "level": "n/a" } }, @@ -12087,19 +12087,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 484.9, + "us": 486.8, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 484.9, + "us": 486.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 484.9, + "us": 486.8, "level": "n/a" } } @@ -12107,19 +12107,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 559.5, + "us": 549.8, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 559.5, + "us": 549.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 559.5, + "us": 549.8, "level": "n/a" } } @@ -12127,19 +12127,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 445.3, + "us": 434.3, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 445.3, + "us": 434.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 445.3, + "us": 434.3, "level": "n/a" } } @@ -12147,19 +12147,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 597.0, + "us": 582.5, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 597.0, + "us": 582.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 597.0, + "us": 582.5, "level": "n/a" } } @@ -12168,24 +12168,24 @@ "citm_catalog": { "nlohmann json_document": { "best": { - "variant": "dump", - "us": 272.7, + "variant": "dump (source numbers)", + "us": 274.8, "level": "n/a" }, "best_any": { - "variant": "dump", - "us": 272.7, + "variant": "dump (source numbers)", + "us": 274.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { - "dump": { - "us": 272.7, + "dump (source numbers)": { + "us": 274.8, "level": "n/a" }, - "dump (source numbers)": { - "us": 273.8, + "dump": { + "us": 277.4, "level": "n/a" } } @@ -12193,19 +12193,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 623.1, + "us": 605.5, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 623.1, + "us": 605.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 623.1, + "us": 605.5, "level": "n/a" } } @@ -12213,19 +12213,19 @@ "yyjson": { "best": { "variant": "write", - "us": 375.6, + "us": 359.0, "level": "n/a" }, "best_any": { "variant": "write", - "us": 375.6, + "us": 359.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 375.6, + "us": 359.0, "level": "n/a" } } @@ -12233,19 +12233,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 679.2, + "us": 672.0, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 679.2, + "us": 672.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 679.2, + "us": 672.0, "level": "n/a" } } @@ -12253,19 +12253,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 969.5, + "us": 952.3, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 969.5, + "us": 952.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 969.5, + "us": 952.3, "level": "n/a" } } @@ -12273,19 +12273,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 501.4, + "us": 473.2, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 501.4, + "us": 473.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 501.4, + "us": 473.2, "level": "n/a" } } @@ -12293,23 +12293,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 741.0, + "us": 722.0, "level": "n/a" }, "best_any": { "variant": "generic (strict)", - "us": 741.0, + "us": 722.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic (strict)": { - "us": 741.0, + "us": 722.0, "level": "n/a" }, "generic": { - "us": 745.2, + "us": 740.9, "level": "n/a" } }, @@ -12321,19 +12321,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 891.9, + "us": 900.1, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 891.9, + "us": 900.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 891.9, + "us": 900.1, "level": "n/a" } } @@ -12341,19 +12341,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 848.0, + "us": 887.3, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 848.0, + "us": 887.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 848.0, + "us": 887.3, "level": "n/a" } } @@ -12361,19 +12361,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 931.3, + "us": 927.2, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 931.3, + "us": 927.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 931.3, + "us": 927.2, "level": "n/a" } } @@ -12381,19 +12381,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 808.9, + "us": 799.5, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 808.9, + "us": 799.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 808.9, + "us": 799.5, "level": "n/a" } } @@ -12403,23 +12403,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 1055.7, + "us": 986.3, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 1055.7, + "us": 986.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 1055.7, + "us": 986.3, "level": "n/a" }, "dump": { - "us": 4019.4, + "us": 3797.9, "level": "n/a" } } @@ -12427,19 +12427,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 4835.9, + "us": 4485.1, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 4835.9, + "us": 4485.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 4835.9, + "us": 4485.1, "level": "n/a" } } @@ -12447,19 +12447,19 @@ "yyjson": { "best": { "variant": "write", - "us": 3618.2, + "us": 3514.0, "level": "n/a" }, "best_any": { "variant": "write", - "us": 3618.2, + "us": 3514.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 3618.2, + "us": 3514.0, "level": "n/a" } } @@ -12467,19 +12467,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 5334.7, + "us": 5039.4, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 5334.7, + "us": 5039.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 5334.7, + "us": 5039.4, "level": "n/a" } } @@ -12487,19 +12487,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 10795.5, + "us": 9850.9, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 10795.5, + "us": 9850.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 10795.5, + "us": 9850.9, "level": "n/a" } } @@ -12507,19 +12507,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 5301.9, + "us": 4853.0, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 5301.9, + "us": 4853.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 5301.9, + "us": 4853.0, "level": "n/a" } } @@ -12527,23 +12527,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 4522.5, + "us": 4228.6, "level": "n/a" }, "best_any": { "variant": "generic (strict)", - "us": 4522.5, + "us": 4228.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic (strict)": { - "us": 4522.5, + "us": 4228.6, "level": "n/a" }, "generic": { - "us": 4621.6, + "us": 4299.9, "level": "n/a" } }, @@ -12555,19 +12555,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 6127.9, + "us": 5690.8, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 6127.9, + "us": 5690.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 6127.9, + "us": 5690.8, "level": "n/a" } } @@ -12575,19 +12575,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 3963.8, + "us": 4005.1, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 3963.8, + "us": 4005.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 3963.8, + "us": 4005.1, "level": "n/a" } } @@ -12595,19 +12595,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 4047.8, + "us": 3987.3, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 4047.8, + "us": 3987.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 4047.8, + "us": 3987.3, "level": "n/a" } } @@ -12615,19 +12615,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 4816.6, + "us": 5146.6, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 4816.6, + "us": 5146.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 4816.6, + "us": 5146.6, "level": "n/a" } } @@ -12636,24 +12636,24 @@ "jeopardy": { "nlohmann json_document": { "best": { - "variant": "dump", - "us": 71355.1, + "variant": "dump (source numbers)", + "us": 67141.2, "level": "n/a" }, "best_any": { - "variant": "dump", - "us": 71355.1, + "variant": "dump (source numbers)", + "us": 67141.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { - "dump": { - "us": 71355.1, + "dump (source numbers)": { + "us": 67141.2, "level": "n/a" }, - "dump (source numbers)": { - "us": 73237.5, + "dump": { + "us": 67700.2, "level": "n/a" } } @@ -12661,19 +12661,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 124327.5, + "us": 113461.6, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 124327.5, + "us": 113461.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 124327.5, + "us": 113461.6, "level": "n/a" } } @@ -12681,19 +12681,19 @@ "yyjson": { "best": { "variant": "write", - "us": 77694.2, + "us": 73409.9, "level": "n/a" }, "best_any": { "variant": "write", - "us": 77694.2, + "us": 73409.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 77694.2, + "us": 73409.9, "level": "n/a" } } @@ -12701,19 +12701,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 187339.5, + "us": 173989.6, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 187339.5, + "us": 173989.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 187339.5, + "us": 173989.6, "level": "n/a" } } @@ -12721,19 +12721,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 133580.6, + "us": 126032.3, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 133580.6, + "us": 126032.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 133580.6, + "us": 126032.3, "level": "n/a" } } @@ -12741,19 +12741,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 72121.0, + "us": 67189.2, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 72121.0, + "us": 67189.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 72121.0, + "us": 67189.2, "level": "n/a" } } @@ -12761,23 +12761,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 139141.6, + "us": 134914.1, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 139141.6, + "us": 134914.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 139141.6, + "us": 134914.1, "level": "n/a" }, "generic (strict)": { - "us": 151484.8, + "us": 141786.7, "level": "n/a" } }, @@ -12789,19 +12789,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 134195.6, + "us": 142547.0, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 134195.6, + "us": 142547.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 134195.6, + "us": 142547.0, "level": "n/a" } } @@ -12809,19 +12809,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 129472.9, + "us": 134162.6, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 129472.9, + "us": 134162.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 129472.9, + "us": 134162.6, "level": "n/a" } } @@ -12829,19 +12829,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 104487.1, + "us": 109175.6, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 104487.1, + "us": 109175.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 104487.1, + "us": 109175.6, "level": "n/a" } } @@ -12849,19 +12849,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 114244.7, + "us": 122623.4, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 114244.7, + "us": 122623.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 114244.7, + "us": 122623.4, "level": "n/a" } } @@ -12915,19 +12915,19 @@ "yyjson": { "best": { "variant": "write", - "us": 1.3, + "us": 1.4, "level": "n/a" }, "best_any": { "variant": "write", - "us": 1.3, + "us": 1.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 1.3, + "us": 1.4, "level": "n/a" } } @@ -12935,19 +12935,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 3.2, + "us": 2.9, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 3.2, + "us": 2.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 3.2, + "us": 2.9, "level": "n/a" } } @@ -12955,19 +12955,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 3.6, + "us": 3.8, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 3.6, + "us": 3.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 3.6, + "us": 3.8, "level": "n/a" } } @@ -12975,19 +12975,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 1.2, + "us": 1.3, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 1.2, + "us": 1.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 1.2, + "us": 1.3, "level": "n/a" } } @@ -13011,7 +13011,7 @@ "level": "n/a" }, "generic (strict)": { - "us": 2.3, + "us": 2.2, "level": "n/a" } }, @@ -13023,19 +13023,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 2.6, + "us": 2.5, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 2.6, + "us": 2.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 2.6, + "us": 2.5, "level": "n/a" } } @@ -13043,19 +13043,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 3.2, + "us": 3.3, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 3.2, + "us": 3.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 3.2, + "us": 3.3, "level": "n/a" } } @@ -13083,19 +13083,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 3.1, + "us": 2.8, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 3.1, + "us": 2.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 3.1, + "us": 2.8, "level": "n/a" } } @@ -13104,24 +13104,24 @@ "twitter_min": { "nlohmann json_document": { "best": { - "variant": "dump", - "us": 151.5, + "variant": "dump (source numbers)", + "us": 147.6, "level": "n/a" }, "best_any": { - "variant": "dump", - "us": 151.5, + "variant": "dump (source numbers)", + "us": 147.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { - "dump": { - "us": 151.5, + "dump (source numbers)": { + "us": 147.6, "level": "n/a" }, - "dump (source numbers)": { - "us": 152.0, + "dump": { + "us": 154.4, "level": "n/a" } } @@ -13129,19 +13129,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 463.4, + "us": 438.7, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 463.4, + "us": 438.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 463.4, + "us": 438.7, "level": "n/a" } } @@ -13149,19 +13149,19 @@ "yyjson": { "best": { "variant": "write", - "us": 217.7, + "us": 217.9, "level": "n/a" }, "best_any": { "variant": "write", - "us": 217.7, + "us": 217.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 217.7, + "us": 217.9, "level": "n/a" } } @@ -13169,19 +13169,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 516.7, + "us": 503.4, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 516.7, + "us": 503.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 516.7, + "us": 503.4, "level": "n/a" } } @@ -13189,19 +13189,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 648.7, + "us": 615.9, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 648.7, + "us": 615.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 648.7, + "us": 615.9, "level": "n/a" } } @@ -13209,19 +13209,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 214.4, + "us": 202.2, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 214.4, + "us": 202.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 214.4, + "us": 202.2, "level": "n/a" } } @@ -13229,23 +13229,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 410.8, + "us": 405.7, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 410.8, + "us": 405.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 410.8, + "us": 405.7, "level": "n/a" }, "generic (strict)": { - "us": 445.7, + "us": 409.1, "level": "n/a" } }, @@ -13257,19 +13257,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 496.5, + "us": 487.9, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 496.5, + "us": 487.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 496.5, + "us": 487.9, "level": "n/a" } } @@ -13277,19 +13277,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 562.4, + "us": 550.4, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 562.4, + "us": 550.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 562.4, + "us": 550.4, "level": "n/a" } } @@ -13297,19 +13297,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 442.4, + "us": 434.7, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 442.4, + "us": 434.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 442.4, + "us": 434.7, "level": "n/a" } } @@ -13317,19 +13317,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 594.0, + "us": 580.2, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 594.0, + "us": 580.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 594.0, + "us": 580.2, "level": "n/a" } } @@ -13338,24 +13338,24 @@ "citm_catalog_min": { "nlohmann json_document": { "best": { - "variant": "dump", - "us": 280.3, + "variant": "dump (source numbers)", + "us": 265.7, "level": "n/a" }, "best_any": { - "variant": "dump", - "us": 280.3, + "variant": "dump (source numbers)", + "us": 265.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { - "dump": { - "us": 280.3, + "dump (source numbers)": { + "us": 265.7, "level": "n/a" }, - "dump (source numbers)": { - "us": 282.1, + "dump": { + "us": 267.5, "level": "n/a" } } @@ -13363,19 +13363,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 603.1, + "us": 598.6, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 603.1, + "us": 598.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 603.1, + "us": 598.6, "level": "n/a" } } @@ -13383,19 +13383,19 @@ "yyjson": { "best": { "variant": "write", - "us": 371.2, + "us": 356.6, "level": "n/a" }, "best_any": { "variant": "write", - "us": 371.2, + "us": 356.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 371.2, + "us": 356.6, "level": "n/a" } } @@ -13403,19 +13403,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 713.0, + "us": 678.4, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 713.0, + "us": 678.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 713.0, + "us": 678.4, "level": "n/a" } } @@ -13423,19 +13423,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 1023.7, + "us": 955.9, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 1023.7, + "us": 955.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 1023.7, + "us": 955.9, "level": "n/a" } } @@ -13443,43 +13443,43 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 491.7, + "us": 462.8, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 491.7, + "us": 462.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 491.7, + "us": 462.8, "level": "n/a" } } }, "Glaze": { "best": { - "variant": "generic", - "us": 764.9, + "variant": "generic (strict)", + "us": 717.7, "level": "n/a" }, "best_any": { - "variant": "generic", - "us": 764.9, + "variant": "generic (strict)", + "us": 717.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic": { - "us": 764.9, + "generic (strict)": { + "us": 717.7, "level": "n/a" }, - "generic (strict)": { - "us": 781.4, + "generic": { + "us": 718.9, "level": "n/a" } }, @@ -13491,19 +13491,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 952.7, + "us": 890.2, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 952.7, + "us": 890.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 952.7, + "us": 890.2, "level": "n/a" } } @@ -13511,19 +13511,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 851.0, + "us": 828.7, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 851.0, + "us": 828.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 851.0, + "us": 828.7, "level": "n/a" } } @@ -13531,19 +13531,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 908.2, + "us": 889.5, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 908.2, + "us": 889.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 908.2, + "us": 889.5, "level": "n/a" } } @@ -13551,19 +13551,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 788.3, + "us": 765.0, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 788.3, + "us": 765.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 788.3, + "us": 765.0, "level": "n/a" } } diff --git a/docs/mkdocs/scripts/figures/data/perf_usecases_x86-gcc.json b/docs/mkdocs/scripts/figures/data/perf_usecases_x86-gcc.json index e99d0f16a..ba6eec3a5 100644 --- a/docs/mkdocs/scripts/figures/data/perf_usecases_x86-gcc.json +++ b/docs/mkdocs/scripts/figures/data/perf_usecases_x86-gcc.json @@ -4,35 +4,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 255.7, + "us": 254.0, "level": "full" }, "best_any": { "variant": "accept", - "us": 255.7, + "us": 254.0, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 314.0, + "us": 309.6, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 314.0, + "us": 309.6, "level": "full" }, "variants": { "accept": { - "us": 255.7, + "us": 254.0, "level": "full" }, "read (reused)": { - "us": 314.0, + "us": 309.6, "level": "full" }, "parse": { - "us": 321.0, + "us": 317.0, "level": "full" } } @@ -40,63 +40,63 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 691.3, + "us": 667.1, "level": "full" }, "best_any": { "variant": "accept", - "us": 691.3, + "us": 667.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 691.3, + "us": 667.1, "level": "full" }, "parse": { - "us": 3454.4, + "us": 3392.2, "level": "full" } } }, "yyjson": { "best": { - "variant": "read", - "us": 397.0, + "variant": "read (raw numbers)", + "us": 388.7, "level": "full" }, "best_any": { - "variant": "read", - "us": 397.0, + "variant": "read (raw numbers)", + "us": 388.7, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 399.0, + "us": 391.7, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 399.0, + "us": 391.7, "level": "full" }, "variants": { - "read": { - "us": 397.0, - "level": "full" - }, - "read (reused allocator)": { - "us": 399.0, + "read (raw numbers)": { + "us": 388.7, "level": "full" }, "insitu (copy)": { - "us": 399.5, + "us": 390.6, "level": "full" }, - "read (raw numbers)": { - "us": 400.0, + "read": { + "us": 390.8, + "level": "full" + }, + "read (reused allocator)": { + "us": 391.7, "level": "full" } } @@ -104,31 +104,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 301.7, + "us": 298.5, "level": "full" }, "best_any": { "variant": "DOM", - "us": 301.7, + "us": 298.5, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 301.2, + "us": 295.8, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 301.2, + "us": 295.8, "level": "full" }, "variants": { "DOM (reused)": { - "us": 301.2, + "us": 295.8, "level": "full" }, "DOM": { - "us": 301.7, + "us": 298.5, "level": "full" } } @@ -137,14 +137,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 401.0, + "us": 402.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 401.0, + "us": 402.9, "level": "no UTF-8" } } @@ -152,83 +152,83 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 717.5, + "us": 714.4, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 717.5, + "us": 714.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 717.5, + "us": 714.4, + "level": "full" + }, + "generic (double, strict)": { + "us": 2262.6, "level": "full" }, "generic (double)": { - "us": 2322.6, + "us": 2267.8, "level": "partial" }, - "generic (double, strict)": { - "us": 2385.0, - "level": "full" - }, - "generic (strict)": { - "us": 2883.2, - "level": "full" - }, "generic": { - "us": 2903.5, + "us": 2804.0, "level": "partial" + }, + "generic (strict)": { + "us": 2811.3, + "level": "full" } } }, "Boost.JSON": { "best": { - "variant": "SAX (numbers: none)", - "us": 687.6, + "variant": "SAX", + "us": 687.3, "level": "full" }, "best_any": { - "variant": "SAX (numbers: none)", - "us": 687.6, + "variant": "SAX", + "us": 687.3, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 685.6, + "us": 684.7, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 685.6, + "us": 684.7, "level": "full" }, "variants": { "SAX (reused)": { - "us": 685.6, - "level": "full" - }, - "SAX (numbers: none)": { - "us": 687.6, + "us": 684.7, "level": "full" }, "SAX": { - "us": 697.5, + "us": 687.3, "level": "full" }, - "parser (reused)": { - "us": 1278.2, - "level": "full" - }, - "parse": { - "us": 1297.8, + "SAX (numbers: none)": { + "us": 693.0, "level": "full" }, "parse (numbers: none)": { - "us": 1373.1, + "us": 1265.8, + "level": "full" + }, + "parser (reused)": { + "us": 1276.5, + "level": "full" + }, + "parse": { + "us": 1286.1, "level": "full" } } @@ -236,63 +236,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1253.9, + "us": 1249.5, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1131.9, + "us": 1089.1, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1573.9, + "us": 1516.2, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1389.0, + "us": 1389.4, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1131.9, + "us": 1089.1, + "level": "no UTF-8" + }, + "SAX (no encoding check)": { + "us": 1248.6, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1253.9, + "us": 1249.5, "level": "full" }, - "SAX (no encoding check)": { - "us": 1284.4, - "level": "no UTF-8" - }, "SAX (raw numbers) (no encoding check)": { - "us": 1336.6, + "us": 1310.3, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1389.0, + "us": 1389.4, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1408.4, + "us": 1410.6, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1573.9, + "us": 1516.2, "level": "full" }, "SAX": { - "us": 1985.7, + "us": 1950.0, "level": "full" }, "SAX (raw numbers)": { - "us": 2159.0, + "us": 2000.4, "level": "full" }, "Document": { - "us": 2228.2, + "us": 2118.8, "level": "full" } } @@ -300,27 +300,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 621.9, + "us": 624.3, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 480.2, + "us": 483.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 480.2, + "us": 483.8, "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 621.9, + "us": 624.3, "level": "full" }, "Value": { - "us": 3675.2, + "us": 3430.3, "level": "full" } } @@ -328,23 +328,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 481.8, + "us": 501.3, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 481.8, + "us": 501.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 481.8, + "us": 501.3, "level": "full" }, "Value": { - "us": 557.9, + "us": 558.3, "level": "full" } } @@ -352,35 +352,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 563.4, + "us": 567.2, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 563.4, + "us": 567.2, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 572.1, + "us": 591.7, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 572.1, + "us": 591.7, "level": "full" }, "variants": { "tape (copy)": { - "us": 563.4, + "us": 567.2, "level": "full" }, "tape (reused)": { - "us": 572.1, + "us": 591.7, "level": "full" }, "borrowed (copy)": { - "us": 1259.6, + "us": 1274.3, "level": "full" } } @@ -390,35 +390,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 504.0, + "us": 510.2, "level": "full" }, "best_any": { "variant": "accept", - "us": 504.0, + "us": 510.2, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 747.9, + "us": 776.9, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 747.9, + "us": 776.9, "level": "full" }, "variants": { "accept": { - "us": 504.0, + "us": 510.2, "level": "full" }, "parse": { - "us": 743.2, + "us": 775.7, "level": "full" }, "read (reused)": { - "us": 747.9, + "us": 776.9, "level": "full" } } @@ -426,63 +426,63 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 1471.3, + "us": 1426.4, "level": "full" }, "best_any": { "variant": "accept", - "us": 1471.3, + "us": 1426.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 1471.3, + "us": 1426.4, "level": "full" }, "parse": { - "us": 5685.6, + "us": 5235.3, "level": "full" } } }, "yyjson": { "best": { - "variant": "read (raw numbers)", - "us": 939.3, + "variant": "insitu (copy)", + "us": 946.0, "level": "full" }, "best_any": { - "variant": "read (raw numbers)", - "us": 939.3, + "variant": "insitu (copy)", + "us": 946.0, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 993.4, + "us": 965.2, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 993.4, + "us": 965.2, "level": "full" }, "variants": { - "read (raw numbers)": { - "us": 939.3, + "insitu (copy)": { + "us": 946.0, "level": "full" }, "read": { - "us": 947.6, - "level": "full" - }, - "insitu (copy)": { "us": 950.7, "level": "full" }, + "read (raw numbers)": { + "us": 955.0, + "level": "full" + }, "read (reused allocator)": { - "us": 993.4, + "us": 965.2, "level": "full" } } @@ -490,31 +490,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 679.9, + "us": 689.8, "level": "full" }, "best_any": { "variant": "DOM", - "us": 679.9, + "us": 689.8, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 676.7, + "us": 692.7, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 676.7, + "us": 692.7, "level": "full" }, "variants": { - "DOM (reused)": { - "us": 676.7, + "DOM": { + "us": 689.8, "level": "full" }, - "DOM": { - "us": 679.9, + "DOM (reused)": { + "us": 692.7, "level": "full" } } @@ -523,14 +523,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 928.9, + "us": 930.6, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 928.9, + "us": 930.6, "level": "no UTF-8" } } @@ -538,83 +538,83 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 1972.2, + "us": 1973.8, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 1972.2, + "us": 1973.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 1972.2, + "us": 1973.8, "level": "full" }, "generic (double)": { - "us": 3854.1, + "us": 3935.3, "level": "partial" }, "generic (double, strict)": { - "us": 3918.7, - "level": "full" - }, - "generic (strict)": { - "us": 5369.8, + "us": 3949.4, "level": "full" }, "generic": { - "us": 5505.6, + "us": 5180.1, "level": "partial" + }, + "generic (strict)": { + "us": 5322.7, + "level": "full" } } }, "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 919.8, + "us": 912.2, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 919.8, + "us": 912.2, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 950.8, + "us": 949.2, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 950.8, + "us": 949.2, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 919.8, + "us": 912.2, "level": "full" }, "SAX": { - "us": 948.8, + "us": 942.5, "level": "full" }, "SAX (reused)": { - "us": 950.8, + "us": 949.2, "level": "full" }, "parse (numbers: none)": { - "us": 1572.1, + "us": 1587.3, "level": "full" }, "parser (reused)": { - "us": 1603.3, + "us": 1633.8, "level": "full" }, "parse": { - "us": 1609.8, + "us": 1649.4, "level": "full" } } @@ -622,63 +622,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1862.3, + "us": 1892.6, "level": "full" }, "best_any": { "variant": "SAX (no encoding check)", - "us": 1587.4, + "us": 1589.9, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1884.7, + "us": 1885.8, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator)", - "us": 1884.7, + "us": 1885.8, "level": "full" }, "variants": { "SAX (no encoding check)": { - "us": 1587.4, + "us": 1589.9, "level": "no UTF-8" }, "insitu (copy) (no encoding check)": { - "us": 1826.3, + "us": 1823.4, "level": "no UTF-8" }, - "insitu (copy)": { - "us": 1862.3, - "level": "full" + "SAX (raw numbers) (no encoding check)": { + "us": 1855.3, + "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1867.7, + "us": 1859.8, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1884.7, + "us": 1885.8, "level": "full" }, - "SAX (raw numbers) (no encoding check)": { - "us": 1899.1, - "level": "no UTF-8" + "insitu (copy)": { + "us": 1892.6, + "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 1908.3, + "us": 1925.8, "level": "no UTF-8" }, "SAX": { - "us": 2021.9, + "us": 2019.6, "level": "full" }, "Document": { - "us": 2309.9, + "us": 2315.2, "level": "full" }, "SAX (raw numbers)": { - "us": 2391.6, + "us": 2363.2, "level": "full" } } @@ -686,27 +686,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 1439.7, + "us": 1440.0, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 1370.7, + "us": 1370.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 1370.7, + "us": 1370.0, "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 1439.7, + "us": 1440.0, "level": "full" }, "Value": { - "us": 5958.6, + "us": 5622.3, "level": "full" } } @@ -714,23 +714,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 969.0, + "us": 969.7, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 969.0, + "us": 969.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 969.0, + "us": 969.7, "level": "full" }, "Value": { - "us": 1191.8, + "us": 1192.0, "level": "full" } } @@ -738,35 +738,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 1402.8, + "us": 1429.6, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 1402.8, + "us": 1429.6, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 1451.4, + "us": 1442.3, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 1451.4, + "us": 1442.3, "level": "full" }, "variants": { "tape (copy)": { - "us": 1402.8, + "us": 1429.6, "level": "full" }, "tape (reused)": { - "us": 1451.4, + "us": 1442.3, "level": "full" }, "borrowed (copy)": { - "us": 3702.4, + "us": 3462.6, "level": "full" } } @@ -776,35 +776,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 880.5, + "us": 861.7, "level": "full" }, "best_any": { "variant": "accept", - "us": 880.5, + "us": 861.7, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 1336.9, + "us": 1303.3, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 1336.9, + "us": 1303.3, "level": "full" }, "variants": { "accept": { - "us": 880.5, + "us": 861.7, "level": "full" }, "parse": { - "us": 1326.5, + "us": 1302.2, "level": "full" }, "read (reused)": { - "us": 1336.9, + "us": 1303.3, "level": "full" } } @@ -812,23 +812,23 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 4540.4, + "us": 4398.5, "level": "full" }, "best_any": { "variant": "accept", - "us": 4540.4, + "us": 4398.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 4540.4, + "us": 4398.5, "level": "full" }, "parse": { - "us": 11730.6, + "us": 10938.2, "level": "full" } } @@ -836,39 +836,39 @@ "yyjson": { "best": { "variant": "read (raw numbers)", - "us": 2137.8, + "us": 2132.8, "level": "full" }, "best_any": { "variant": "read (raw numbers)", - "us": 2137.8, + "us": 2132.8, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 3332.6, + "us": 3276.7, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 3332.6, + "us": 3276.7, "level": "full" }, "variants": { "read (raw numbers)": { - "us": 2137.8, + "us": 2132.8, "level": "full" }, "insitu (copy)": { - "us": 3268.2, + "us": 3264.7, "level": "full" }, "read": { - "us": 3328.2, + "us": 3272.5, "level": "full" }, "read (reused allocator)": { - "us": 3332.6, + "us": 3276.7, "level": "full" } } @@ -876,31 +876,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 3167.3, + "us": 3166.0, "level": "full" }, "best_any": { "variant": "DOM", - "us": 3167.3, + "us": 3166.0, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 3218.7, + "us": 3139.9, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 3218.7, + "us": 3139.9, "level": "full" }, "variants": { - "DOM": { - "us": 3167.3, + "DOM (reused)": { + "us": 3139.9, "level": "full" }, - "DOM (reused)": { - "us": 3218.7, + "DOM": { + "us": 3166.0, "level": "full" } } @@ -909,14 +909,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 3258.5, + "us": 3170.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 3258.5, + "us": 3170.0, "level": "no UTF-8" } } @@ -924,83 +924,83 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 2550.3, + "us": 2521.3, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 2550.3, + "us": 2521.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 2550.3, - "level": "full" - }, - "generic (double, strict)": { - "us": 10185.8, + "us": 2521.3, "level": "full" }, "generic (double)": { - "us": 10528.1, + "us": 9693.7, "level": "partial" }, - "generic (strict)": { - "us": 17694.1, + "generic (double, strict)": { + "us": 10863.0, "level": "full" }, "generic": { - "us": 18089.2, + "us": 16608.9, "level": "partial" + }, + "generic (strict)": { + "us": 16718.8, + "level": "full" } } }, "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 1643.1, + "us": 1636.9, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 1643.1, + "us": 1636.9, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 5580.3, + "us": 5357.1, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 5580.3, + "us": 5357.1, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 1643.1, + "us": 1636.9, "level": "full" }, "parse (numbers: none)": { - "us": 2876.5, - "level": "full" - }, - "SAX (reused)": { - "us": 5580.3, + "us": 2860.5, "level": "full" }, "SAX": { - "us": 5612.0, + "us": 5347.8, + "level": "full" + }, + "SAX (reused)": { + "us": 5357.1, "level": "full" }, "parser (reused)": { - "us": 6681.7, + "us": 6538.8, "level": "full" }, "parse": { - "us": 6917.0, + "us": 6584.2, "level": "full" } } @@ -1008,63 +1008,63 @@ "RapidJSON": { "best": { "variant": "SAX (raw numbers)", - "us": 10321.7, + "us": 10132.9, "level": "full" }, "best_any": { - "variant": "SAX (raw numbers)", - "us": 10321.7, - "level": "full" + "variant": "insitu (copy) (no encoding check)", + "us": 10051.4, + "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 11625.3, + "us": 11367.2, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator)", - "us": 11625.3, + "us": 11367.2, "level": "full" }, "variants": { + "insitu (copy) (no encoding check)": { + "us": 10051.4, + "level": "no UTF-8" + }, "SAX (raw numbers)": { - "us": 10321.7, + "us": 10132.9, + "level": "full" + }, + "insitu (copy)": { + "us": 10158.0, "level": "full" }, "SAX (raw numbers) (no encoding check)": { - "us": 10341.1, - "level": "no UTF-8" - }, - "insitu (copy) (no encoding check)": { - "us": 10426.1, + "us": 10179.1, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 10891.0, + "us": 10625.4, "level": "no UTF-8" }, - "insitu (copy)": { - "us": 10894.8, - "level": "full" - }, "SAX": { - "us": 11195.3, + "us": 10841.5, "level": "full" }, "Document (reused allocator)": { - "us": 11625.3, + "us": 11367.2, "level": "full" }, - "Document (no encoding check)": { - "us": 11772.9, + "Document (reused allocator) (no encoding check)": { + "us": 11583.4, "level": "no UTF-8" }, - "Document (reused allocator) (no encoding check)": { - "us": 11914.9, + "Document (no encoding check)": { + "us": 11586.6, "level": "no UTF-8" }, "Document": { - "us": 11962.7, + "us": 11620.6, "level": "full" } } @@ -1072,27 +1072,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 2621.0, + "us": 2406.0, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 2537.6, + "us": 2313.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 2537.6, + "us": 2313.5, "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 2621.0, + "us": 2406.0, "level": "full" }, "Value": { - "us": 14488.3, + "us": 12777.0, "level": "full" } } @@ -1100,23 +1100,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 2489.1, + "us": 2249.1, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 2489.1, + "us": 2249.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 2489.1, + "us": 2249.1, "level": "full" }, "Value": { - "us": 4041.2, + "us": 3650.5, "level": "full" } } @@ -1124,35 +1124,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 4629.8, + "us": 4358.8, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 4629.8, + "us": 4358.8, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 4807.9, + "us": 4188.3, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 4807.9, + "us": 4188.3, "level": "full" }, "variants": { - "tape (copy)": { - "us": 4629.8, + "tape (reused)": { + "us": 4188.3, "level": "full" }, - "tape (reused)": { - "us": 4807.9, + "tape (copy)": { + "us": 4358.8, "level": "full" }, "borrowed (copy)": { - "us": 11597.1, + "us": 9740.4, "level": "full" } } @@ -1162,35 +1162,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 35446.0, + "us": 34542.7, "level": "full" }, "best_any": { "variant": "accept", - "us": 35446.0, + "us": 34542.7, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 43777.0, + "us": 41936.5, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 43777.0, + "us": 41936.5, "level": "full" }, "variants": { "accept": { - "us": 35446.0, + "us": 34542.7, "level": "full" }, "read (reused)": { - "us": 43777.0, + "us": 41936.5, "level": "full" }, "parse": { - "us": 82195.4, + "us": 78448.2, "level": "full" } } @@ -1198,63 +1198,63 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 76339.7, + "us": 71489.2, "level": "full" }, "best_any": { "variant": "accept", - "us": 76339.7, + "us": 71489.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 76339.7, + "us": 71489.2, "level": "full" }, "parse": { - "us": 598618.7, + "us": 379702.5, "level": "full" } } }, "yyjson": { "best": { - "variant": "read (raw numbers)", - "us": 133549.1, + "variant": "insitu (copy)", + "us": 127616.5, "level": "full" }, "best_any": { - "variant": "read (raw numbers)", - "us": 133549.1, + "variant": "insitu (copy)", + "us": 127616.5, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 63445.3, + "us": 62563.7, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 63445.3, + "us": 62563.7, "level": "full" }, "variants": { "read (reused allocator)": { - "us": 63445.3, - "level": "full" - }, - "read (raw numbers)": { - "us": 133549.1, + "us": 62563.7, "level": "full" }, "insitu (copy)": { - "us": 139186.9, + "us": 127616.5, + "level": "full" + }, + "read (raw numbers)": { + "us": 127646.5, "level": "full" }, "read": { - "us": 139442.2, + "us": 128127.0, "level": "full" } } @@ -1262,31 +1262,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 117835.5, + "us": 116295.5, "level": "full" }, "best_any": { "variant": "DOM", - "us": 117835.5, + "us": 116295.5, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 50400.7, + "us": 50334.1, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 50400.7, + "us": 50334.1, "level": "full" }, "variants": { "DOM (reused)": { - "us": 50400.7, + "us": 50334.1, "level": "full" }, "DOM": { - "us": 117835.5, + "us": 116295.5, "level": "full" } } @@ -1295,14 +1295,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 98231.4, + "us": 96915.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 98231.4, + "us": 96915.2, "level": "no UTF-8" } } @@ -1310,35 +1310,35 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 80289.8, + "us": 76716.4, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 80289.8, + "us": 76716.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 80289.8, + "us": 76716.4, + "level": "full" + }, + "generic (double, strict)": { + "us": 222360.1, "level": "full" }, "generic (double)": { - "us": 263439.0, + "us": 230975.8, "level": "partial" }, - "generic (double, strict)": { - "us": 265273.4, - "level": "full" - }, "generic (strict)": { - "us": 346194.8, + "us": 300577.1, "level": "full" }, "generic": { - "us": 353316.0, + "us": 311093.1, "level": "partial" } } @@ -1346,47 +1346,47 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 61294.7, + "us": 59425.5, "level": "full" }, "best_any": { "variant": "SAX", - "us": 61294.7, + "us": 59425.5, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 59210.3, + "us": 59272.5, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 59210.3, + "us": 59272.5, "level": "full" }, "variants": { "SAX (reused)": { - "us": 59210.3, + "us": 59272.5, "level": "full" }, "SAX": { - "us": 61294.7, + "us": 59425.5, "level": "full" }, "SAX (numbers: none)": { - "us": 61861.7, + "us": 59437.5, "level": "full" }, "parser (reused)": { - "us": 124840.8, + "us": 119285.0, "level": "full" }, "parse": { - "us": 182572.5, + "us": 173584.2, "level": "full" }, "parse (numbers: none)": { - "us": 186512.1, + "us": 174755.1, "level": "full" } } @@ -1394,63 +1394,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 164951.0, + "us": 157360.3, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 152267.2, + "us": 145702.7, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 194788.5, + "us": 182352.1, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 175167.2, + "us": 179041.6, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 152267.2, + "us": 145702.7, "level": "no UTF-8" }, "SAX (raw numbers) (no encoding check)": { - "us": 155898.2, + "us": 153055.7, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 159712.4, + "us": 155340.2, "level": "no UTF-8" }, "insitu (copy)": { - "us": 164951.0, + "us": 157360.3, "level": "full" }, - "Document (reused allocator) (no encoding check)": { - "us": 175167.2, + "Document (no encoding check)": { + "us": 175929.2, "level": "no UTF-8" }, - "Document (no encoding check)": { - "us": 185572.7, + "Document (reused allocator) (no encoding check)": { + "us": 179041.6, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 194788.5, + "us": 182352.1, "level": "full" }, "SAX": { - "us": 244005.4, + "us": 239287.1, "level": "full" }, "SAX (raw numbers)": { - "us": 260575.5, + "us": 244062.6, "level": "full" }, "Document": { - "us": 274443.8, + "us": 261014.0, "level": "full" } } @@ -1458,27 +1458,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 65602.4, + "us": 64719.7, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 60154.2, + "us": 58247.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 60154.2, + "us": 58247.3, "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 65602.4, + "us": 64719.7, "level": "full" }, "Value": { - "us": 514855.6, + "us": 389667.2, "level": "full" } } @@ -1486,23 +1486,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 55486.2, + "us": 54369.2, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 55486.2, + "us": 54369.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 55486.2, + "us": 54369.2, "level": "full" }, "Value": { - "us": 113431.8, + "us": 113483.8, "level": "full" } } @@ -1510,35 +1510,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 212467.4, + "us": 207551.3, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 212467.4, + "us": 207551.3, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 142848.3, + "us": 139519.7, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 142848.3, + "us": 139519.7, "level": "full" }, "variants": { "tape (reused)": { - "us": 142848.3, + "us": 139519.7, "level": "full" }, "tape (copy)": { - "us": 212467.4, + "us": 207551.3, "level": "full" }, "borrowed (copy)": { - "us": 297916.2, + "us": 277163.2, "level": "full" } } @@ -1548,12 +1548,12 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 1.3, + "us": 1.2, "level": "full" }, "best_any": { "variant": "accept", - "us": 1.3, + "us": 1.2, "level": "full" }, "best_reused": { @@ -1568,7 +1568,7 @@ }, "variants": { "accept": { - "us": 1.3, + "us": 1.2, "level": "full" }, "read (reused)": { @@ -1576,7 +1576,7 @@ "level": "full" }, "parse": { - "us": 1.6, + "us": 1.5, "level": "full" } } @@ -1584,23 +1584,23 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 3.4, + "us": 3.1, "level": "full" }, "best_any": { "variant": "accept", - "us": 3.4, + "us": 3.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 3.4, + "us": 3.1, "level": "full" }, "parse": { - "us": 15.4, + "us": 18.6, "level": "full" } } @@ -1608,12 +1608,12 @@ "yyjson": { "best": { "variant": "read", - "us": 1.7, + "us": 1.6, "level": "full" }, "best_any": { "variant": "read", - "us": 1.7, + "us": 1.6, "level": "full" }, "best_reused": { @@ -1632,15 +1632,15 @@ "level": "full" }, "read": { - "us": 1.7, + "us": 1.6, "level": "full" }, "insitu (copy)": { - "us": 1.7, + "us": 1.6, "level": "full" }, "read (raw numbers)": { - "us": 1.8, + "us": 1.6, "level": "full" } } @@ -1648,31 +1648,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 1.9, + "us": 1.7, "level": "full" }, "best_any": { "variant": "DOM", - "us": 1.9, + "us": 1.7, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 1.6, + "us": 1.4, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 1.6, + "us": 1.4, "level": "full" }, "variants": { "DOM (reused)": { - "us": 1.6, + "us": 1.4, "level": "full" }, "DOM": { - "us": 1.9, + "us": 1.7, "level": "full" } } @@ -1681,14 +1681,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1.9, + "us": 1.7, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1.9, + "us": 1.7, "level": "no UTF-8" } } @@ -1696,83 +1696,83 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 2.8, + "us": 2.5, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 2.8, + "us": 2.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 2.8, + "us": 2.5, "level": "full" }, "generic (double)": { - "us": 10.1, + "us": 8.3, "level": "partial" }, "generic (double, strict)": { - "us": 10.1, + "us": 8.3, + "level": "full" + }, + "generic (strict)": { + "us": 11.3, "level": "full" }, "generic": { - "us": 13.9, + "us": 11.8, "level": "partial" - }, - "generic (strict)": { - "us": 13.9, - "level": "full" } } }, "Boost.JSON": { "best": { - "variant": "SAX (numbers: none)", - "us": 3.1, + "variant": "SAX", + "us": 2.9, "level": "full" }, "best_any": { - "variant": "SAX (numbers: none)", - "us": 3.1, + "variant": "SAX", + "us": 2.9, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 3.1, + "us": 2.9, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 3.1, + "us": 2.9, "level": "full" }, "variants": { - "SAX (numbers: none)": { - "us": 3.1, + "SAX": { + "us": 2.9, "level": "full" }, "SAX (reused)": { - "us": 3.1, + "us": 2.9, "level": "full" }, - "SAX": { - "us": 3.2, + "SAX (numbers: none)": { + "us": 3.0, "level": "full" }, "parser (reused)": { - "us": 6.4, - "level": "full" - }, - "parse": { - "us": 6.6, + "us": 5.8, "level": "full" }, "parse (numbers: none)": { - "us": 6.7, + "us": 5.9, + "level": "full" + }, + "parse": { + "us": 6.0, "level": "full" } } @@ -1780,63 +1780,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 5.5, + "us": 5.2, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 3.9, + "us": 3.5, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 8.6, + "us": 7.6, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 7.9, + "us": 6.9, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 3.9, + "us": 3.5, "level": "no UTF-8" }, "insitu (copy)": { - "us": 5.5, + "us": 5.2, "level": "full" }, "SAX (no encoding check)": { - "us": 7.0, + "us": 6.3, "level": "no UTF-8" }, "SAX (raw numbers) (no encoding check)": { - "us": 7.1, + "us": 6.6, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 7.9, + "us": 6.9, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 8.4, + "us": 7.4, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 8.6, + "us": 7.6, "level": "full" }, "SAX": { - "us": 11.7, + "us": 10.3, "level": "full" }, "SAX (raw numbers)": { - "us": 12.1, + "us": 10.6, "level": "full" }, "Document": { - "us": 13.0, + "us": 12.0, "level": "full" } } @@ -1844,7 +1844,7 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 2.5, + "us": 2.4, "level": "full" }, "best_any": { @@ -1860,11 +1860,11 @@ "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 2.5, + "us": 2.4, "level": "full" }, "Value": { - "us": 13.9, + "us": 12.9, "level": "full" } } @@ -1888,7 +1888,7 @@ "level": "full" }, "Value": { - "us": 2.5, + "us": 2.3, "level": "full" } } @@ -1906,17 +1906,17 @@ }, "best_reused": { "variant": "tape (reused)", - "us": 2.4, + "us": 2.6, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 2.4, + "us": 2.6, "level": "full" }, "variants": { "tape (reused)": { - "us": 2.4, + "us": 2.6, "level": "full" }, "tape (copy)": { @@ -1924,7 +1924,7 @@ "level": "full" }, "borrowed (copy)": { - "us": 5.9, + "us": 5.7, "level": "full" } } @@ -1934,35 +1934,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 212.8, + "us": 210.9, "level": "full" }, "best_any": { "variant": "accept", - "us": 212.8, + "us": 210.9, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 261.0, + "us": 259.4, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 261.0, + "us": 259.4, "level": "full" }, "variants": { "accept": { - "us": 212.8, + "us": 210.9, "level": "full" }, "read (reused)": { - "us": 261.0, + "us": 259.4, "level": "full" }, "parse": { - "us": 267.5, + "us": 264.7, "level": "full" } } @@ -1970,23 +1970,23 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 550.4, + "us": 542.0, "level": "full" }, "best_any": { "variant": "accept", - "us": 550.4, + "us": 542.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 550.4, + "us": 542.0, "level": "full" }, "parse": { - "us": 3326.2, + "us": 3225.4, "level": "full" } } @@ -1994,39 +1994,39 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 322.5, + "us": 321.5, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 322.5, + "us": 321.5, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 321.8, + "us": 321.6, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 321.8, + "us": 321.6, "level": "full" }, "variants": { - "read (reused allocator)": { - "us": 321.8, + "insitu (copy)": { + "us": 321.5, "level": "full" }, - "insitu (copy)": { - "us": 322.5, + "read (reused allocator)": { + "us": 321.6, "level": "full" }, "read": { - "us": 323.5, + "us": 325.4, "level": "full" }, "read (raw numbers)": { - "us": 328.8, + "us": 327.5, "level": "full" } } @@ -2034,31 +2034,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 283.1, + "us": 281.3, "level": "full" }, "best_any": { "variant": "DOM", - "us": 283.1, + "us": 281.3, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 281.3, + "us": 281.5, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 281.3, + "us": 281.5, "level": "full" }, "variants": { - "DOM (reused)": { + "DOM": { "us": 281.3, "level": "full" }, - "DOM": { - "us": 283.1, + "DOM (reused)": { + "us": 281.5, "level": "full" } } @@ -2067,14 +2067,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 299.4, + "us": 298.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 299.4, + "us": 298.9, "level": "no UTF-8" } } @@ -2082,35 +2082,35 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 515.2, + "us": 512.2, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 515.2, + "us": 512.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 515.2, + "us": 512.2, + "level": "full" + }, + "generic (double, strict)": { + "us": 2034.8, "level": "full" }, "generic (double)": { - "us": 2098.1, + "us": 2039.3, "level": "partial" }, - "generic (double, strict)": { - "us": 2101.4, - "level": "full" - }, "generic (strict)": { - "us": 2712.8, + "us": 2589.3, "level": "full" }, "generic": { - "us": 2792.7, + "us": 2589.7, "level": "partial" } } @@ -2118,47 +2118,47 @@ "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 546.2, + "us": 548.3, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 546.2, + "us": 548.3, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 554.2, + "us": 550.3, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 554.2, + "us": 550.3, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 546.2, - "level": "full" - }, - "SAX": { - "us": 552.3, + "us": 548.3, "level": "full" }, "SAX (reused)": { - "us": 554.2, + "us": 550.3, + "level": "full" + }, + "SAX": { + "us": 551.2, "level": "full" }, "parse (numbers: none)": { - "us": 1160.3, + "us": 1168.8, "level": "full" }, "parser (reused)": { - "us": 1172.7, + "us": 1177.6, "level": "full" }, "parse": { - "us": 1179.0, + "us": 1180.9, "level": "full" } } @@ -2166,63 +2166,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 902.2, + "us": 903.3, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 841.8, + "us": 835.2, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1442.9, + "us": 1439.0, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1321.9, + "us": 1302.3, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 841.8, + "us": 835.2, "level": "no UTF-8" }, "insitu (copy)": { - "us": 902.2, + "us": 903.3, "level": "full" }, "SAX (no encoding check)": { - "us": 1157.3, + "us": 1140.1, "level": "no UTF-8" }, "SAX (raw numbers) (no encoding check)": { - "us": 1205.0, + "us": 1206.1, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1321.9, + "us": 1302.3, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1332.4, + "us": 1343.9, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1442.9, + "us": 1439.0, "level": "full" }, "SAX": { - "us": 1904.2, + "us": 1895.1, "level": "full" }, "SAX (raw numbers)": { - "us": 1978.1, + "us": 1906.8, "level": "full" }, "Document": { - "us": 2099.7, + "us": 2040.5, "level": "full" } } @@ -2230,27 +2230,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 476.4, + "us": 475.9, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 345.3, + "us": 347.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 345.3, + "us": 347.5, "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 476.4, + "us": 475.9, "level": "full" }, "Value": { - "us": 3489.5, + "us": 3319.6, "level": "full" } } @@ -2258,23 +2258,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 340.0, + "us": 336.8, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 340.0, + "us": 336.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 340.0, + "us": 336.8, "level": "full" }, "Value": { - "us": 418.5, + "us": 416.3, "level": "full" } } @@ -2282,35 +2282,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 515.3, + "us": 516.9, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 515.3, + "us": 516.9, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 518.0, + "us": 541.7, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 518.0, + "us": 541.7, "level": "full" }, "variants": { "tape (copy)": { - "us": 515.3, + "us": 516.9, "level": "full" }, "tape (reused)": { - "us": 518.0, + "us": 541.7, "level": "full" }, "borrowed (copy)": { - "us": 1217.8, + "us": 1254.2, "level": "full" } } @@ -2320,35 +2320,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 301.5, + "us": 302.4, "level": "full" }, "best_any": { "variant": "accept", - "us": 301.5, + "us": 302.4, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 508.5, + "us": 512.4, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 508.5, + "us": 512.4, "level": "full" }, "variants": { "accept": { - "us": 301.5, - "level": "full" - }, - "parse": { - "us": 508.3, + "us": 302.4, "level": "full" }, "read (reused)": { - "us": 508.5, + "us": 512.4, + "level": "full" + }, + "parse": { + "us": 513.2, "level": "full" } } @@ -2356,63 +2356,63 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 1107.3, + "us": 1073.7, "level": "full" }, "best_any": { "variant": "accept", - "us": 1107.3, + "us": 1073.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 1107.3, + "us": 1073.7, "level": "full" }, "parse": { - "us": 5428.0, + "us": 4713.8, "level": "full" } } }, "yyjson": { "best": { - "variant": "read", - "us": 489.8, + "variant": "insitu (copy)", + "us": 489.4, "level": "full" }, "best_any": { - "variant": "read", - "us": 489.8, + "variant": "insitu (copy)", + "us": 489.4, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 487.1, + "us": 489.4, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 487.1, + "us": 489.4, "level": "full" }, "variants": { + "insitu (copy)": { + "us": 489.4, + "level": "full" + }, "read (reused allocator)": { - "us": 487.1, + "us": 489.4, "level": "full" }, "read": { - "us": 489.8, - "level": "full" - }, - "insitu (copy)": { - "us": 491.0, + "us": 490.7, "level": "full" }, "read (raw numbers)": { - "us": 509.1, + "us": 504.4, "level": "full" } } @@ -2420,31 +2420,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 537.5, + "us": 534.7, "level": "full" }, "best_any": { "variant": "DOM", - "us": 537.5, + "us": 534.7, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 537.9, + "us": 534.3, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 537.9, + "us": 534.3, "level": "full" }, "variants": { - "DOM": { - "us": 537.5, + "DOM (reused)": { + "us": 534.3, "level": "full" }, - "DOM (reused)": { - "us": 537.9, + "DOM": { + "us": 534.7, "level": "full" } } @@ -2453,14 +2453,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 598.7, + "us": 600.7, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 598.7, + "us": 600.7, "level": "no UTF-8" } } @@ -2468,48 +2468,48 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 751.5, + "us": 752.6, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 751.5, + "us": 752.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 751.5, - "level": "full" - }, - "generic (double, strict)": { - "us": 3097.8, + "us": 752.6, "level": "full" }, "generic (double)": { - "us": 3102.5, + "us": 2961.9, "level": "partial" }, - "generic (strict)": { - "us": 4510.4, + "generic (double, strict)": { + "us": 3000.8, "level": "full" }, "generic": { - "us": 4700.4, + "us": 4357.6, "level": "partial" + }, + "generic (strict)": { + "us": 4399.1, + "level": "full" } } }, "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 562.4, + "us": 580.5, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 562.4, + "us": 580.5, "level": "full" }, "best_reused": { @@ -2524,27 +2524,27 @@ }, "variants": { "SAX (numbers: none)": { - "us": 562.4, + "us": 580.5, + "level": "full" + }, + "SAX": { + "us": 608.1, "level": "full" }, "SAX (reused)": { "us": 608.1, "level": "full" }, - "SAX": { - "us": 616.8, - "level": "full" - }, "parse (numbers: none)": { - "us": 1270.0, - "level": "full" - }, - "parse": { - "us": 1334.1, + "us": 1295.7, "level": "full" }, "parser (reused)": { - "us": 1338.8, + "us": 1364.4, + "level": "full" + }, + "parse": { + "us": 1368.6, "level": "full" } } @@ -2552,63 +2552,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1292.7, + "us": 1283.3, "level": "full" }, "best_any": { - "variant": "SAX (no encoding check)", - "us": 1289.8, - "level": "no UTF-8" + "variant": "insitu (copy)", + "us": 1283.3, + "level": "full" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1728.9, + "us": 1673.2, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator)", - "us": 1728.9, + "us": 1673.2, "level": "full" }, "variants": { - "SAX (no encoding check)": { - "us": 1289.8, - "level": "no UTF-8" - }, "insitu (copy)": { - "us": 1292.7, + "us": 1283.3, "level": "full" }, + "SAX (no encoding check)": { + "us": 1285.9, + "level": "no UTF-8" + }, "insitu (copy) (no encoding check)": { - "us": 1327.0, + "us": 1303.3, "level": "no UTF-8" }, "SAX (raw numbers) (no encoding check)": { - "us": 1563.7, + "us": 1563.0, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1663.7, + "us": 1660.3, "level": "no UTF-8" }, - "SAX": { - "us": 1719.0, + "Document (reused allocator)": { + "us": 1673.2, "level": "full" }, - "Document (reused allocator)": { - "us": 1728.9, + "SAX": { + "us": 1706.6, "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 1764.0, + "us": 1735.2, "level": "no UTF-8" }, "SAX (raw numbers)": { - "us": 2070.9, + "us": 2056.3, "level": "full" }, "Document": { - "us": 2158.7, + "us": 2116.0, "level": "full" } } @@ -2616,27 +2616,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 637.2, + "us": 647.4, "level": "full" }, "best_any": { - "variant": "from_utf8 + IgnoredAny", - "us": 637.2, - "level": "full" + "variant": "IgnoredAny", + "us": 641.0, + "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { - "from_utf8 + IgnoredAny": { - "us": 637.2, - "level": "full" - }, "IgnoredAny": { - "us": 665.8, + "us": 641.0, "level": "no UTF-8" }, + "from_utf8 + IgnoredAny": { + "us": 647.4, + "level": "full" + }, "Value": { - "us": 5301.8, + "us": 5357.5, "level": "full" } } @@ -2644,23 +2644,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 640.9, + "us": 610.9, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 640.9, + "us": 610.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 640.9, + "us": 610.9, "level": "full" }, "Value": { - "us": 819.1, + "us": 903.1, "level": "full" } } @@ -2668,35 +2668,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 1159.4, + "us": 1075.7, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 1159.4, + "us": 1075.7, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 1092.3, + "us": 1077.7, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 1092.3, + "us": 1077.7, "level": "full" }, "variants": { - "tape (reused)": { - "us": 1092.3, + "tape (copy)": { + "us": 1075.7, "level": "full" }, - "tape (copy)": { - "us": 1159.4, + "tape (reused)": { + "us": 1077.7, "level": "full" }, "borrowed (copy)": { - "us": 3638.6, + "us": 3360.4, "level": "full" } } @@ -2708,31 +2708,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 386.7, + "us": 387.5, "level": "full" }, "best_any": { "variant": "parse", - "us": 386.7, + "us": 387.5, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 386.3, + "us": 383.8, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 386.3, + "us": 383.8, "level": "full" }, "variants": { "read (reused)": { - "us": 386.3, + "us": 383.8, "level": "full" }, "parse": { - "us": 386.7, + "us": 387.5, "level": "full" } } @@ -2740,59 +2740,59 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 806.8, + "us": 814.4, "level": "full" }, "best_any": { "variant": "sax", - "us": 806.8, + "us": 814.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 806.8, + "us": 814.4, "level": "full" }, "parse": { - "us": 3583.3, + "us": 3564.0, "level": "full" } } }, "yyjson": { "best": { - "variant": "read", - "us": 452.4, + "variant": "insitu (copy)", + "us": 450.1, "level": "full" }, "best_any": { - "variant": "read", - "us": 452.4, + "variant": "insitu (copy)", + "us": 450.1, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 454.6, + "us": 449.6, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 454.6, + "us": 449.6, "level": "full" }, "variants": { - "read": { - "us": 452.4, - "level": "full" - }, "read (reused allocator)": { - "us": 454.6, + "us": 449.6, "level": "full" }, "insitu (copy)": { - "us": 455.9, + "us": 450.1, + "level": "full" + }, + "read": { + "us": 450.2, "level": "full" } } @@ -2800,39 +2800,39 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 349.1, + "us": 345.3, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 349.1, + "us": 345.3, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 348.6, + "us": 341.3, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 348.6, + "us": 341.3, "level": "full" }, "variants": { "On-Demand (reused)": { - "us": 348.6, + "us": 341.3, "level": "full" }, "On-Demand": { - "us": 349.1, - "level": "full" - }, - "DOM": { - "us": 381.6, + "us": 345.3, "level": "full" }, "DOM (reused)": { - "us": 381.8, + "us": 377.8, + "level": "full" + }, + "DOM": { + "us": 379.2, "level": "full" } } @@ -2841,14 +2841,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 471.1, + "us": 460.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 471.1, + "us": 460.4, "level": "no UTF-8" } } @@ -2856,35 +2856,35 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 2397.0, + "us": 2333.6, "level": "full" }, "best_any": { - "variant": "generic (double)", - "us": 2385.9, - "level": "partial" + "variant": "generic (double, strict)", + "us": 2333.6, + "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (double)": { - "us": 2385.9, - "level": "partial" - }, "generic (double, strict)": { - "us": 2397.0, + "us": 2333.6, "level": "full" }, - "generic (strict)": { - "us": 2951.1, - "level": "full" + "generic (double)": { + "us": 2337.6, + "level": "partial" }, "generic": { - "us": 2954.7, + "us": 2869.4, "level": "partial" }, + "generic (strict)": { + "us": 2880.4, + "level": "full" + }, "lazy_json": { - "us": 3136.7, + "us": 3096.8, "level": "partial" } }, @@ -2895,39 +2895,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 689.0, + "us": 697.8, "level": "full" }, "best_any": { "variant": "SAX", - "us": 689.0, + "us": 697.8, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 697.6, + "us": 691.4, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 697.6, + "us": 691.4, "level": "full" }, "variants": { - "SAX": { - "us": 689.0, + "SAX (reused)": { + "us": 691.4, "level": "full" }, - "SAX (reused)": { - "us": 697.6, + "SAX": { + "us": 697.8, "level": "full" }, "parser (reused)": { - "us": 1341.5, + "us": 1341.4, "level": "full" }, "parse": { - "us": 1371.1, + "us": 1345.4, "level": "full" } } @@ -2935,55 +2935,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1299.2, + "us": 1300.5, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1141.1, + "us": 1140.7, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1579.1, + "us": 1578.6, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1446.2, + "us": 1448.8, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1141.1, + "us": 1140.7, + "level": "no UTF-8" + }, + "SAX (no encoding check)": { + "us": 1282.9, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1299.2, + "us": 1300.5, "level": "full" }, - "SAX (no encoding check)": { - "us": 1299.9, - "level": "no UTF-8" - }, "Document (reused allocator) (no encoding check)": { - "us": 1446.2, + "us": 1448.8, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1467.3, + "us": 1472.3, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1579.1, + "us": 1578.6, "level": "full" }, "SAX": { - "us": 2001.1, + "us": 2005.0, "level": "full" }, "Document": { - "us": 2185.8, + "us": 2193.8, "level": "full" } } @@ -2991,23 +2991,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 1310.8, + "us": 1311.0, "level": "full" }, "best_any": { "variant": "visitor", - "us": 1310.8, + "us": 1311.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 1310.8, + "us": 1311.0, "level": "full" }, "Value": { - "us": 3672.0, + "us": 3539.8, "level": "full" } } @@ -3015,23 +3015,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 503.3, + "us": 501.0, "level": "full" }, "best_any": { "variant": "visitor", - "us": 503.3, + "us": 501.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 503.3, + "us": 501.0, "level": "full" }, "Value": { - "us": 815.3, + "us": 813.3, "level": "full" } } @@ -3039,35 +3039,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 667.8, + "us": 681.3, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 667.8, + "us": 681.3, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 1440.1, + "us": 1417.9, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 1440.1, + "us": 1417.9, "level": "full" }, "variants": { "visitor (copy)": { - "us": 667.8, - "level": "full" - }, - "borrowed (reused)": { - "us": 1440.1, + "us": 681.3, "level": "full" }, "borrowed (copy)": { - "us": 1456.2, + "us": 1398.0, + "level": "full" + }, + "borrowed (reused)": { + "us": 1417.9, "level": "full" } } @@ -3077,31 +3077,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 995.9, + "us": 967.1, "level": "full" }, "best_any": { "variant": "parse", - "us": 995.9, + "us": 967.1, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 1000.7, + "us": 971.8, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 1000.7, + "us": 971.8, "level": "full" }, "variants": { "parse": { - "us": 995.9, + "us": 967.1, "level": "full" }, "read (reused)": { - "us": 1000.7, + "us": 971.8, "level": "full" } } @@ -3109,59 +3109,59 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 1801.6, + "us": 1637.7, "level": "full" }, "best_any": { "variant": "sax", - "us": 1801.6, + "us": 1637.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 1801.6, + "us": 1637.7, "level": "full" }, "parse": { - "us": 6316.3, + "us": 5424.8, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 1161.6, + "variant": "read", + "us": 1099.7, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 1161.6, + "variant": "read", + "us": 1099.7, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 1245.9, + "us": 1107.3, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 1245.9, + "us": 1107.3, "level": "full" }, "variants": { - "insitu (copy)": { - "us": 1161.6, + "read": { + "us": 1099.7, "level": "full" }, - "read": { - "us": 1185.3, + "insitu (copy)": { + "us": 1100.2, "level": "full" }, "read (reused allocator)": { - "us": 1245.9, + "us": 1107.3, "level": "full" } } @@ -3169,40 +3169,40 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 845.9, + "us": 801.8, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 845.9, + "us": 801.8, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 802.8, + "us": 807.8, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 802.8, + "us": 807.8, "level": "full" }, "variants": { - "On-Demand (reused)": { - "us": 802.8, + "On-Demand": { + "us": 801.8, "level": "full" }, - "On-Demand": { - "us": 845.9, + "On-Demand (reused)": { + "us": 807.8, + "level": "full" + }, + "DOM (reused)": { + "us": 887.3, "level": "full" }, "DOM": { "us": 890.0, "level": "full" - }, - "DOM (reused)": { - "us": 943.2, - "level": "full" } } }, @@ -3210,14 +3210,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1208.7, + "us": 1125.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1208.7, + "us": 1125.9, "level": "no UTF-8" } } @@ -3225,35 +3225,35 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 4330.3, + "us": 4098.9, "level": "full" }, "best_any": { - "variant": "generic (double, strict)", - "us": 4330.3, - "level": "full" + "variant": "generic (double)", + "us": 4061.5, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (double, strict)": { - "us": 4330.3, - "level": "full" - }, "generic (double)": { - "us": 4336.7, + "us": 4061.5, "level": "partial" }, - "generic (strict)": { - "us": 5981.6, + "generic (double, strict)": { + "us": 4098.9, "level": "full" }, "generic": { - "us": 6091.4, + "us": 5354.7, "level": "partial" }, + "generic (strict)": { + "us": 5447.9, + "level": "full" + }, "lazy_json": { - "us": 15154.8, + "us": 13871.4, "level": "partial" } }, @@ -3264,39 +3264,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 1000.2, + "us": 961.0, "level": "full" }, "best_any": { "variant": "SAX", - "us": 1000.2, + "us": 961.0, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 1014.9, + "us": 960.1, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 1014.9, + "us": 960.1, "level": "full" }, "variants": { - "SAX": { - "us": 1000.2, + "SAX (reused)": { + "us": 960.1, "level": "full" }, - "SAX (reused)": { - "us": 1014.9, + "SAX": { + "us": 961.0, "level": "full" }, "parser (reused)": { - "us": 1863.9, + "us": 1798.5, "level": "full" }, "parse": { - "us": 1866.2, + "us": 1801.4, "level": "full" } } @@ -3304,55 +3304,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 2178.8, + "us": 2039.2, "level": "full" }, "best_any": { "variant": "SAX (no encoding check)", - "us": 1795.7, + "us": 1679.9, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2177.8, + "us": 2041.4, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator)", - "us": 2177.8, + "us": 2041.4, "level": "full" }, "variants": { "SAX (no encoding check)": { - "us": 1795.7, + "us": 1679.9, "level": "no UTF-8" }, "insitu (copy) (no encoding check)": { - "us": 2095.4, + "us": 1979.4, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 2144.7, + "us": 2017.9, "level": "no UTF-8" }, - "Document (reused allocator)": { - "us": 2177.8, + "insitu (copy)": { + "us": 2039.2, "level": "full" }, - "insitu (copy)": { - "us": 2178.8, + "Document (reused allocator)": { + "us": 2041.4, "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 2227.6, + "us": 2072.8, "level": "no UTF-8" }, "SAX": { - "us": 2248.6, + "us": 2127.2, "level": "full" }, "Document": { - "us": 2640.0, + "us": 2449.7, "level": "full" } } @@ -3360,23 +3360,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 2316.5, + "us": 2287.8, "level": "full" }, "best_any": { "variant": "visitor", - "us": 2316.5, + "us": 2287.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 2316.5, + "us": 2287.8, "level": "full" }, "Value": { - "us": 6263.6, + "us": 5984.9, "level": "full" } } @@ -3384,23 +3384,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 1122.8, + "us": 1122.9, "level": "full" }, "best_any": { "variant": "visitor", - "us": 1122.8, + "us": 1122.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 1122.8, + "us": 1122.9, "level": "full" }, "Value": { - "us": 1850.5, + "us": 1829.3, "level": "full" } } @@ -3408,35 +3408,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 1687.6, + "us": 1649.9, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 1687.6, + "us": 1649.9, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 3929.4, + "us": 3680.4, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 3929.4, + "us": 3680.4, "level": "full" }, "variants": { "visitor (copy)": { - "us": 1687.6, - "level": "full" - }, - "borrowed (reused)": { - "us": 3929.4, + "us": 1649.9, "level": "full" }, "borrowed (copy)": { - "us": 3960.3, + "us": 3653.1, + "level": "full" + }, + "borrowed (reused)": { + "us": 3680.4, "level": "full" } } @@ -3446,31 +3446,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 3669.6, + "us": 3634.5, "level": "full" }, "best_any": { "variant": "parse", - "us": 3669.6, + "us": 3634.5, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 3714.9, + "us": 3627.4, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 3714.9, + "us": 3627.4, "level": "full" }, "variants": { - "parse": { - "us": 3669.6, + "read (reused)": { + "us": 3627.4, "level": "full" }, - "read (reused)": { - "us": 3714.9, + "parse": { + "us": 3634.5, "level": "full" } } @@ -3478,59 +3478,59 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 5883.5, + "us": 5672.7, "level": "full" }, "best_any": { "variant": "sax", - "us": 5883.5, + "us": 5672.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 5883.5, + "us": 5672.7, "level": "full" }, "parse": { - "us": 12457.4, + "us": 12230.6, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 4137.6, + "variant": "read", + "us": 4130.8, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 4137.6, + "variant": "read", + "us": 4130.8, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 4119.5, + "us": 4133.6, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 4119.5, + "us": 4133.6, "level": "full" }, "variants": { + "read": { + "us": 4130.8, + "level": "full" + }, "read (reused allocator)": { - "us": 4119.5, + "us": 4133.6, "level": "full" }, "insitu (copy)": { - "us": 4137.6, - "level": "full" - }, - "read": { - "us": 4150.1, + "us": 4165.7, "level": "full" } } @@ -3538,39 +3538,39 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 3442.7, + "us": 3465.1, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 3442.7, + "us": 3465.1, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 3468.9, + "us": 3483.7, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 3468.9, + "us": 3483.7, "level": "full" }, "variants": { "On-Demand": { - "us": 3442.7, + "us": 3465.1, "level": "full" }, "On-Demand (reused)": { - "us": 3468.9, + "us": 3483.7, "level": "full" }, "DOM": { - "us": 4254.4, + "us": 4186.6, "level": "full" }, "DOM (reused)": { - "us": 4312.7, + "us": 4194.5, "level": "full" } } @@ -3579,14 +3579,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 3944.9, + "us": 3948.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 3944.9, + "us": 3948.3, "level": "no UTF-8" } } @@ -3594,35 +3594,35 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 11093.5, + "us": 11761.6, "level": "full" }, "best_any": { - "variant": "generic (double, strict)", - "us": 11093.5, - "level": "full" + "variant": "generic (double)", + "us": 10370.3, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (double, strict)": { - "us": 11093.5, - "level": "full" - }, "generic (double)": { - "us": 11291.2, + "us": 10370.3, "level": "partial" }, - "generic": { - "us": 18559.9, - "level": "partial" + "generic (double, strict)": { + "us": 11761.6, + "level": "full" }, "generic (strict)": { - "us": 18667.1, + "us": 17718.2, "level": "full" }, + "generic": { + "us": 18192.5, + "level": "partial" + }, "lazy_json": { - "us": 21350.0, + "us": 20436.8, "level": "partial" } }, @@ -3633,95 +3633,95 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 5784.5, + "us": 5820.7, "level": "full" }, "best_any": { "variant": "SAX", - "us": 5784.5, + "us": 5820.7, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 5876.3, + "us": 5616.1, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 5876.3, + "us": 5616.1, "level": "full" }, "variants": { - "SAX": { - "us": 5784.5, - "level": "full" - }, "SAX (reused)": { - "us": 5876.3, + "us": 5616.1, "level": "full" }, - "parser (reused)": { - "us": 7326.2, + "SAX": { + "us": 5820.7, "level": "full" }, "parse": { - "us": 7583.6, + "us": 7319.1, + "level": "full" + }, + "parser (reused)": { + "us": 7418.9, "level": "full" } } }, "RapidJSON": { "best": { - "variant": "insitu (copy)", - "us": 11197.9, + "variant": "SAX", + "us": 11309.0, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 11197.9, - "level": "full" + "variant": "insitu (copy) (no encoding check)", + "us": 10990.8, + "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 12586.8, + "us": 12366.0, "level": "full" }, "best_reused_any": { - "variant": "Document (reused allocator)", - "us": 12586.8, - "level": "full" + "variant": "Document (reused allocator) (no encoding check)", + "us": 12244.6, + "level": "no UTF-8" }, "variants": { - "insitu (copy)": { - "us": 11197.9, - "level": "full" - }, "insitu (copy) (no encoding check)": { - "us": 11288.6, + "us": 10990.8, "level": "no UTF-8" }, "SAX": { - "us": 11386.6, + "us": 11309.0, + "level": "full" + }, + "insitu (copy)": { + "us": 11326.5, "level": "full" }, "SAX (no encoding check)": { - "us": 11474.7, - "level": "no UTF-8" - }, - "Document (reused allocator)": { - "us": 12586.8, - "level": "full" - }, - "Document (no encoding check)": { - "us": 12685.7, + "us": 11479.6, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 12824.2, + "us": 12244.6, + "level": "no UTF-8" + }, + "Document (reused allocator)": { + "us": 12366.0, + "level": "full" + }, + "Document (no encoding check)": { + "us": 12443.4, "level": "no UTF-8" }, "Document": { - "us": 12863.8, + "us": 12724.7, "level": "full" } } @@ -3729,23 +3729,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 7240.7, + "us": 7126.8, "level": "full" }, "best_any": { "variant": "visitor", - "us": 7240.7, + "us": 7126.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 7240.7, + "us": 7126.8, "level": "full" }, "Value": { - "us": 13909.9, + "us": 13663.1, "level": "full" } } @@ -3753,23 +3753,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 4418.5, + "us": 4397.1, "level": "full" }, "best_any": { "variant": "visitor", - "us": 4418.5, + "us": 4397.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 4418.5, + "us": 4397.1, "level": "full" }, "Value": { - "us": 7197.0, + "us": 7133.8, "level": "full" } } @@ -3777,35 +3777,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 5134.0, + "us": 5083.0, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 5134.0, + "us": 5083.0, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 11297.7, + "us": 10643.9, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 11297.7, + "us": 10643.9, "level": "full" }, "variants": { "visitor (copy)": { - "us": 5134.0, - "level": "full" - }, - "borrowed (copy)": { - "us": 11077.3, + "us": 5083.0, "level": "full" }, "borrowed (reused)": { - "us": 11297.7, + "us": 10643.9, + "level": "full" + }, + "borrowed (copy)": { + "us": 10771.4, "level": "full" } } @@ -3815,31 +3815,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 93685.7, + "us": 91872.6, "level": "full" }, "best_any": { "variant": "parse", - "us": 93685.7, + "us": 91872.6, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 56624.0, + "us": 52680.5, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 56624.0, + "us": 52680.5, "level": "full" }, "variants": { "read (reused)": { - "us": 56624.0, + "us": 52680.5, "level": "full" }, "parse": { - "us": 93685.7, + "us": 91872.6, "level": "full" } } @@ -3847,23 +3847,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 100220.5, + "us": 95614.5, "level": "full" }, "best_any": { "variant": "sax", - "us": 100220.5, + "us": 95614.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 100220.5, + "us": 95614.5, "level": "full" }, "parse": { - "us": 659636.6, + "us": 430894.0, "level": "full" } } @@ -3871,35 +3871,35 @@ "yyjson": { "best": { "variant": "read", - "us": 142713.3, + "us": 136960.1, "level": "full" }, "best_any": { "variant": "read", - "us": 142713.3, + "us": 136960.1, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 78041.6, + "us": 70028.3, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 78041.6, + "us": 70028.3, "level": "full" }, "variants": { "read (reused allocator)": { - "us": 78041.6, + "us": 70028.3, "level": "full" }, "read": { - "us": 142713.3, + "us": 136960.1, "level": "full" }, "insitu (copy)": { - "us": 149149.5, + "us": 140255.7, "level": "full" } } @@ -3907,39 +3907,39 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 98771.6, + "us": 92424.7, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 98771.6, + "us": 92424.7, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 53676.4, + "us": 50737.2, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 53676.4, + "us": 50737.2, "level": "full" }, "variants": { "On-Demand (reused)": { - "us": 53676.4, + "us": 50737.2, "level": "full" }, "DOM (reused)": { - "us": 66427.1, + "us": 61559.9, "level": "full" }, "On-Demand": { - "us": 98771.6, + "us": 92424.7, "level": "full" }, "DOM": { - "us": 135931.7, + "us": 132150.2, "level": "full" } } @@ -3948,14 +3948,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 113161.5, + "us": 105174.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 113161.5, + "us": 105174.5, "level": "no UTF-8" } } @@ -3963,36 +3963,36 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 304997.1, + "us": 243497.4, "level": "full" }, "best_any": { "variant": "lazy_json", - "us": 256411.2, + "us": 233199.7, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "lazy_json": { - "us": 256411.2, + "us": 233199.7, "level": "partial" }, "generic (double, strict)": { - "us": 304997.1, + "us": 243497.4, "level": "full" }, "generic (double)": { - "us": 308262.0, - "level": "partial" - }, - "generic": { - "us": 389391.7, + "us": 248492.5, "level": "partial" }, "generic (strict)": { - "us": 394826.1, + "us": 330636.7, "level": "full" + }, + "generic": { + "us": 340032.6, + "level": "partial" } }, "excluded": { @@ -4002,39 +4002,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 62713.4, + "us": 60418.3, "level": "full" }, "best_any": { "variant": "SAX", - "us": 62713.4, + "us": 60418.3, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 63289.6, + "us": 60727.0, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 63289.6, + "us": 60727.0, "level": "full" }, "variants": { "SAX": { - "us": 62713.4, + "us": 60418.3, "level": "full" }, "SAX (reused)": { - "us": 63289.6, + "us": 60727.0, "level": "full" }, "parser (reused)": { - "us": 142893.6, + "us": 131203.3, "level": "full" }, "parse": { - "us": 194195.6, + "us": 195419.9, "level": "full" } } @@ -4042,55 +4042,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 172104.5, + "us": 170218.0, "level": "full" }, "best_any": { - "variant": "insitu (copy) (no encoding check)", - "us": 162974.6, + "variant": "SAX (no encoding check)", + "us": 155049.2, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 195099.7, + "us": 186972.0, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 191755.7, + "us": 186127.2, "level": "no UTF-8" }, "variants": { - "insitu (copy) (no encoding check)": { - "us": 162974.6, + "SAX (no encoding check)": { + "us": 155049.2, "level": "no UTF-8" }, - "SAX (no encoding check)": { - "us": 163374.5, + "insitu (copy) (no encoding check)": { + "us": 159586.1, "level": "no UTF-8" }, "insitu (copy)": { - "us": 172104.5, + "us": 170218.0, "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 191755.7, + "us": 186127.2, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 195099.7, + "us": 186972.0, "level": "full" }, "Document (no encoding check)": { - "us": 212151.0, + "us": 191538.0, "level": "no UTF-8" }, "SAX": { - "us": 259177.5, + "us": 241334.5, "level": "full" }, "Document": { - "us": 301418.3, + "us": 276025.1, "level": "full" } } @@ -4098,23 +4098,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 130249.3, + "us": 129497.0, "level": "full" }, "best_any": { "variant": "visitor", - "us": 130249.3, + "us": 129497.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 130249.3, + "us": 129497.0, "level": "full" }, "Value": { - "us": 544041.8, + "us": 403258.0, "level": "full" } } @@ -4122,23 +4122,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 59992.8, + "us": 59583.3, "level": "full" }, "best_any": { "variant": "visitor", - "us": 59992.8, + "us": 59583.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 59992.8, + "us": 59583.3, "level": "full" }, "Value": { - "us": 149296.9, + "us": 139337.6, "level": "full" } } @@ -4146,35 +4146,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 224411.1, + "us": 210185.2, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 224411.1, + "us": 210185.2, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 236685.9, + "us": 220283.6, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 236685.9, + "us": 220283.6, "level": "full" }, "variants": { "visitor (copy)": { - "us": 224411.1, + "us": 210185.2, "level": "full" }, "borrowed (reused)": { - "us": 236685.9, + "us": 220283.6, "level": "full" }, "borrowed (copy)": { - "us": 310720.1, + "us": 282561.7, "level": "full" } } @@ -4216,23 +4216,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 4.3, + "us": 4.0, "level": "full" }, "best_any": { "variant": "sax", - "us": 4.3, + "us": 4.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 4.3, + "us": 4.0, "level": "full" }, "parse": { - "us": 15.3, + "us": 17.7, "level": "full" } } @@ -4268,7 +4268,7 @@ "level": "full" }, "insitu (copy)": { - "us": 2.0, + "us": 1.9, "level": "full" } } @@ -4276,35 +4276,35 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 2.1, + "us": 1.9, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 2.1, + "us": 1.9, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 1.7, + "us": 1.6, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 1.7, + "us": 1.6, "level": "full" }, "variants": { "On-Demand (reused)": { - "us": 1.7, - "level": "full" - }, - "DOM (reused)": { - "us": 1.9, + "us": 1.6, "level": "full" }, "On-Demand": { - "us": 2.1, + "us": 1.9, + "level": "full" + }, + "DOM (reused)": { + "us": 2.0, "level": "full" }, "DOM": { @@ -4317,14 +4317,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 2.2, + "us": 2.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 2.2, + "us": 2.0, "level": "no UTF-8" } } @@ -4332,36 +4332,36 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 10.1, + "us": 8.7, "level": "full" }, "best_any": { "variant": "lazy_json", - "us": 6.4, + "us": 6.3, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "lazy_json": { - "us": 6.4, - "level": "partial" - }, - "generic (double)": { - "us": 9.8, + "us": 6.3, "level": "partial" }, "generic (double, strict)": { - "us": 10.1, + "us": 8.7, "level": "full" }, - "generic (strict)": { - "us": 13.4, - "level": "full" + "generic (double)": { + "us": 8.8, + "level": "partial" }, "generic": { - "us": 13.6, + "us": 12.2, "level": "partial" + }, + "generic (strict)": { + "us": 12.2, + "level": "full" } }, "excluded": { @@ -4398,12 +4398,12 @@ "us": 3.0, "level": "full" }, - "parse": { - "us": 6.3, + "parser (reused)": { + "us": 6.1, "level": "full" }, - "parser (reused)": { - "us": 6.4, + "parse": { + "us": 6.2, "level": "full" } } @@ -4411,55 +4411,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 5.7, + "us": 5.3, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 4.1, + "us": 3.9, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 8.3, + "us": 8.2, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 7.6, + "us": 7.5, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 4.1, + "us": 3.9, "level": "no UTF-8" }, "insitu (copy)": { - "us": 5.7, + "us": 5.3, "level": "full" }, "SAX (no encoding check)": { - "us": 6.9, + "us": 6.6, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 7.6, + "us": 7.5, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 8.0, + "us": 8.1, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 8.3, + "us": 8.2, "level": "full" }, "SAX": { - "us": 11.3, + "us": 11.0, "level": "full" }, "Document": { - "us": 12.9, + "us": 12.5, "level": "full" } } @@ -4467,23 +4467,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 5.1, + "us": 4.6, "level": "full" }, "best_any": { "variant": "visitor", - "us": 5.1, + "us": 4.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 5.1, + "us": 4.6, "level": "full" }, "Value": { - "us": 14.2, + "us": 13.2, "level": "full" } } @@ -4491,23 +4491,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 2.8, + "us": 2.5, "level": "full" }, "best_any": { "variant": "visitor", - "us": 2.8, + "us": 2.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 2.8, + "us": 2.5, "level": "full" }, "Value": { - "us": 4.5, + "us": 3.9, "level": "full" } } @@ -4515,35 +4515,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 4.0, + "us": 3.5, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 4.0, + "us": 3.5, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 6.7, + "us": 5.8, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 6.7, + "us": 5.8, "level": "full" }, "variants": { "visitor (copy)": { - "us": 4.0, + "us": 3.5, "level": "full" }, "borrowed (reused)": { - "us": 6.7, + "us": 5.8, "level": "full" }, "borrowed (copy)": { - "us": 7.4, + "us": 6.1, "level": "full" } } @@ -4553,31 +4553,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 339.5, + "us": 336.3, "level": "full" }, "best_any": { "variant": "parse", - "us": 339.5, + "us": 336.3, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 334.3, + "us": 330.0, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 334.3, + "us": 330.0, "level": "full" }, "variants": { "read (reused)": { - "us": 334.3, + "us": 330.0, "level": "full" }, "parse": { - "us": 339.5, + "us": 336.3, "level": "full" } } @@ -4585,23 +4585,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 723.8, + "us": 690.8, "level": "full" }, "best_any": { "variant": "sax", - "us": 723.8, + "us": 690.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 723.8, + "us": 690.8, "level": "full" }, "parse": { - "us": 3774.9, + "us": 3356.8, "level": "full" } } @@ -4609,35 +4609,35 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 375.8, + "us": 376.2, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 375.8, + "us": 376.2, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 378.1, + "us": 375.3, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 378.1, + "us": 375.3, "level": "full" }, "variants": { + "read (reused allocator)": { + "us": 375.3, + "level": "full" + }, "insitu (copy)": { - "us": 375.8, + "us": 376.2, "level": "full" }, "read": { - "us": 376.5, - "level": "full" - }, - "read (reused allocator)": { - "us": 378.1, + "us": 377.7, "level": "full" } } @@ -4645,40 +4645,40 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 329.8, + "us": 327.5, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 329.8, + "us": 327.5, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 328.4, + "us": 324.3, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 328.4, + "us": 324.3, "level": "full" }, "variants": { "On-Demand (reused)": { - "us": 328.4, + "us": 324.3, "level": "full" }, "On-Demand": { - "us": 329.8, + "us": 327.5, + "level": "full" + }, + "DOM (reused)": { + "us": 358.6, "level": "full" }, "DOM": { "us": 360.5, "level": "full" - }, - "DOM (reused)": { - "us": 364.3, - "level": "full" } } }, @@ -4686,14 +4686,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 356.7, + "us": 356.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 356.7, + "us": 356.4, "level": "no UTF-8" } } @@ -4701,36 +4701,36 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 2358.3, + "us": 2096.0, "level": "full" }, "best_any": { "variant": "lazy_json", - "us": 1958.0, + "us": 1839.6, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "lazy_json": { - "us": 1958.0, - "level": "partial" - }, - "generic (double)": { - "us": 2279.6, + "us": 1839.6, "level": "partial" }, "generic (double, strict)": { - "us": 2358.3, + "us": 2096.0, "level": "full" }, - "generic": { - "us": 2904.8, + "generic (double)": { + "us": 2108.4, "level": "partial" }, "generic (strict)": { - "us": 2909.9, + "us": 2653.3, "level": "full" + }, + "generic": { + "us": 2655.9, + "level": "partial" } }, "excluded": { @@ -4740,39 +4740,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 572.4, + "us": 562.4, "level": "full" }, "best_any": { "variant": "SAX", - "us": 572.4, + "us": 562.4, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 570.0, + "us": 563.4, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 570.0, + "us": 563.4, "level": "full" }, "variants": { - "SAX (reused)": { - "us": 570.0, - "level": "full" - }, "SAX": { - "us": 572.4, + "us": 562.4, "level": "full" }, - "parse": { - "us": 1238.6, + "SAX (reused)": { + "us": 563.4, "level": "full" }, "parser (reused)": { - "us": 1328.3, + "us": 1235.9, + "level": "full" + }, + "parse": { + "us": 1241.9, "level": "full" } } @@ -4780,55 +4780,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 956.6, + "us": 948.9, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 926.0, + "us": 890.4, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1565.0, + "us": 1491.9, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1398.3, + "us": 1359.6, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 926.0, + "us": 890.4, "level": "no UTF-8" }, "insitu (copy)": { - "us": 956.6, + "us": 948.9, "level": "full" }, "SAX (no encoding check)": { - "us": 1207.3, - "level": "no UTF-8" - }, - "Document (no encoding check)": { - "us": 1386.4, + "us": 1192.1, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1398.3, + "us": 1359.6, + "level": "no UTF-8" + }, + "Document (no encoding check)": { + "us": 1404.5, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1565.0, + "us": 1491.9, "level": "full" }, "SAX": { - "us": 1969.7, + "us": 1914.2, "level": "full" }, "Document": { - "us": 2215.4, + "us": 2108.1, "level": "full" } } @@ -4836,23 +4836,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 1040.4, + "us": 1119.0, "level": "full" }, "best_any": { "variant": "visitor", - "us": 1040.4, + "us": 1119.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 1040.4, + "us": 1119.0, "level": "full" }, "Value": { - "us": 3494.0, + "us": 3713.4, "level": "full" } } @@ -4860,23 +4860,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 397.3, + "us": 443.3, "level": "full" }, "best_any": { "variant": "visitor", - "us": 397.3, + "us": 443.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 397.3, + "us": 443.3, "level": "full" }, "Value": { - "us": 674.0, + "us": 684.6, "level": "full" } } @@ -4884,35 +4884,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 619.8, + "us": 635.0, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 619.8, + "us": 635.0, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 1381.5, + "us": 1433.7, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 1381.5, + "us": 1433.7, "level": "full" }, "variants": { "visitor (copy)": { - "us": 619.8, + "us": 635.0, "level": "full" }, "borrowed (reused)": { - "us": 1381.5, + "us": 1433.7, "level": "full" }, "borrowed (copy)": { - "us": 1415.1, + "us": 1434.6, "level": "full" } } @@ -4922,31 +4922,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 718.9, + "us": 702.4, "level": "full" }, "best_any": { "variant": "parse", - "us": 718.9, + "us": 702.4, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 697.0, + "us": 701.9, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 697.0, + "us": 701.9, "level": "full" }, "variants": { "read (reused)": { - "us": 697.0, + "us": 701.9, "level": "full" }, "parse": { - "us": 718.9, + "us": 702.4, "level": "full" } } @@ -4954,23 +4954,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 1340.5, + "us": 1323.4, "level": "full" }, "best_any": { "variant": "sax", - "us": 1340.5, + "us": 1323.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 1340.5, + "us": 1323.4, "level": "full" }, "parse": { - "us": 5782.5, + "us": 4957.6, "level": "full" } } @@ -4978,35 +4978,35 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 649.0, + "us": 639.1, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 649.0, + "us": 639.1, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 649.7, + "us": 637.8, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 649.7, + "us": 637.8, "level": "full" }, "variants": { - "insitu (copy)": { - "us": 649.0, + "read (reused allocator)": { + "us": 637.8, "level": "full" }, - "read (reused allocator)": { - "us": 649.7, + "insitu (copy)": { + "us": 639.1, "level": "full" }, "read": { - "us": 682.8, + "us": 641.4, "level": "full" } } @@ -5014,39 +5014,39 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 668.6, + "us": 649.6, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 668.6, + "us": 649.6, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 660.1, + "us": 654.9, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 660.1, + "us": 654.9, "level": "full" }, "variants": { - "On-Demand (reused)": { - "us": 660.1, + "On-Demand": { + "us": 649.6, "level": "full" }, - "On-Demand": { - "us": 668.6, + "On-Demand (reused)": { + "us": 654.9, "level": "full" }, "DOM (reused)": { - "us": 750.0, + "us": 736.2, "level": "full" }, "DOM": { - "us": 777.5, + "us": 738.6, "level": "full" } } @@ -5055,14 +5055,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 802.5, + "us": 793.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 802.5, + "us": 793.2, "level": "no UTF-8" } } @@ -5070,36 +5070,36 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 3214.4, + "us": 3150.6, "level": "full" }, "best_any": { - "variant": "generic (double, strict)", - "us": 3214.4, - "level": "full" + "variant": "generic (double)", + "us": 3115.5, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (double, strict)": { - "us": 3214.4, - "level": "full" - }, "generic (double)": { - "us": 3406.1, + "us": 3115.5, "level": "partial" }, + "generic (double, strict)": { + "us": 3150.6, + "level": "full" + }, "lazy_json": { - "us": 3977.0, + "us": 3755.5, + "level": "partial" + }, + "generic": { + "us": 4544.9, "level": "partial" }, "generic (strict)": { - "us": 4856.7, + "us": 4577.7, "level": "full" - }, - "generic": { - "us": 5031.9, - "level": "partial" } }, "excluded": { @@ -5109,39 +5109,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 641.5, + "us": 634.4, "level": "full" }, "best_any": { "variant": "SAX", - "us": 641.5, + "us": 634.4, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 650.4, + "us": 632.3, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 650.4, + "us": 632.3, "level": "full" }, "variants": { - "SAX": { - "us": 641.5, + "SAX (reused)": { + "us": 632.3, "level": "full" }, - "SAX (reused)": { - "us": 650.4, + "SAX": { + "us": 634.4, "level": "full" }, "parser (reused)": { - "us": 1487.3, + "us": 1518.6, "level": "full" }, "parse": { - "us": 1536.6, + "us": 1522.0, "level": "full" } } @@ -5149,55 +5149,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1488.5, + "us": 1426.5, "level": "full" }, "best_any": { "variant": "SAX (no encoding check)", - "us": 1438.0, + "us": 1408.2, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1862.5, + "us": 1830.4, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator)", - "us": 1862.5, + "us": 1830.4, "level": "full" }, "variants": { "SAX (no encoding check)": { - "us": 1438.0, - "level": "no UTF-8" - }, - "insitu (copy) (no encoding check)": { - "us": 1485.0, + "us": 1408.2, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1488.5, + "us": 1426.5, "level": "full" }, - "Document (reused allocator)": { - "us": 1862.5, - "level": "full" - }, - "Document (reused allocator) (no encoding check)": { - "us": 1924.5, + "insitu (copy) (no encoding check)": { + "us": 1445.2, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1927.7, + "us": 1812.2, "level": "no UTF-8" }, - "SAX": { - "us": 1935.2, + "Document (reused allocator)": { + "us": 1830.4, "level": "full" }, + "SAX": { + "us": 1870.1, + "level": "full" + }, + "Document (reused allocator) (no encoding check)": { + "us": 1895.0, + "level": "no UTF-8" + }, "Document": { - "us": 2417.3, + "us": 2268.4, "level": "full" } } @@ -5205,23 +5205,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 1337.4, + "us": 1259.6, "level": "full" }, "best_any": { "variant": "visitor", - "us": 1337.4, + "us": 1259.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 1337.4, + "us": 1259.6, "level": "full" }, "Value": { - "us": 5475.1, + "us": 5376.8, "level": "full" } } @@ -5229,23 +5229,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 836.5, + "us": 840.4, "level": "full" }, "best_any": { "variant": "visitor", - "us": 836.5, + "us": 840.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 836.5, + "us": 840.4, "level": "full" }, "Value": { - "us": 1438.7, + "us": 1438.3, "level": "full" } } @@ -5253,35 +5253,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 1252.6, + "us": 1231.2, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 1252.6, + "us": 1231.2, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 3572.8, + "us": 3329.6, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 3572.8, + "us": 3329.6, "level": "full" }, "variants": { "visitor (copy)": { - "us": 1252.6, + "us": 1231.2, "level": "full" }, "borrowed (reused)": { - "us": 3572.8, + "us": 3329.6, "level": "full" }, "borrowed (copy)": { - "us": 3644.7, + "us": 3447.9, "level": "full" } } @@ -5292,100 +5292,100 @@ "twitter": { "nlohmann json_document": { "best": { - "variant": "parse", - "us": 332.9, + "variant": "structs (from_json)", + "us": 328.4, "level": "full" }, "best_any": { - "variant": "parse", - "us": 332.9, + "variant": "structs (from_json)", + "us": 328.4, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 326.0, + "us": 323.9, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 326.0, + "us": 323.9, "level": "full" }, "variants": { "read (reused)": { - "us": 326.0, - "level": "full" - }, - "parse": { - "us": 332.9, + "us": 323.9, "level": "full" }, "structs (from_json)": { - "us": 346.1, + "us": 328.4, + "level": "full" + }, + "parse": { + "us": 330.9, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "structs (from_json)", - "us": 3582.9, + "variant": "parse", + "us": 3453.8, "level": "full" }, "best_any": { - "variant": "structs (from_json)", - "us": 3582.9, + "variant": "parse", + "us": 3453.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "structs (from_json)": { - "us": 3582.9, + "parse": { + "us": 3453.8, "level": "full" }, - "parse": { - "us": 3625.3, + "structs (from_json)": { + "us": 3463.8, "level": "full" } } }, "yyjson": { "best": { - "variant": "read", - "us": 406.4, + "variant": "insitu (copy)", + "us": 400.3, "level": "full" }, "best_any": { - "variant": "read", - "us": 406.4, + "variant": "insitu (copy)", + "us": 400.3, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 407.0, + "us": 406.2, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 407.0, + "us": 406.2, "level": "full" }, "variants": { - "read": { - "us": 406.4, + "insitu (copy)": { + "us": 400.3, "level": "full" }, - "read (reused allocator)": { - "us": 407.0, + "read": { + "us": 403.6, "level": "full" }, "read (raw numbers)": { - "us": 408.7, + "us": 405.3, "level": "full" }, - "insitu (copy)": { - "us": 409.0, + "read (reused allocator)": { + "us": 406.2, "level": "full" } } @@ -5393,47 +5393,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 314.0, + "us": 310.7, "level": "full" }, "best_any": { - "variant": "On-Demand", - "us": 183.2, + "variant": "On-Demand (key selectors)", + "us": 178.0, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 314.6, + "us": 311.9, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 177.5, + "us": 174.0, "level": "partial" }, "variants": { "On-Demand (reused)": { - "us": 177.5, - "level": "partial" - }, - "On-Demand": { - "us": 183.2, + "us": 174.0, "level": "partial" }, "On-Demand (key selectors)": { - "us": 184.2, + "us": 178.0, + "level": "partial" + }, + "On-Demand": { + "us": 179.2, "level": "partial" }, "On-Demand structs": { - "us": 187.4, + "us": 180.4, "level": "partial" }, "DOM": { - "us": 314.0, + "us": 310.7, "level": "full" }, "DOM (reused)": { - "us": 314.6, + "us": 311.9, "level": "full" } } @@ -5442,14 +5442,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 408.7, + "us": 408.1, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 408.7, + "us": 408.1, "level": "no UTF-8" } } @@ -5457,43 +5457,43 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 603.4, + "us": 604.2, "level": "full" }, "best_any": { "variant": "structs", - "us": 344.4, + "us": 343.9, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 344.4, + "us": 343.9, "level": "partial" }, "structs (validate_skipped)": { - "us": 603.4, + "us": 604.2, "level": "full" }, "lazy_json": { - "us": 997.0, + "us": 1001.3, + "level": "partial" + }, + "generic (double)": { + "us": 2402.6, "level": "partial" }, "generic (double, strict)": { - "us": 2508.9, + "us": 2404.2, "level": "full" }, - "generic (double)": { - "us": 2562.3, - "level": "partial" - }, "generic": { - "us": 3036.0, + "us": 2940.0, "level": "partial" }, "generic (strict)": { - "us": 3099.8, + "us": 2946.3, "level": "full" } }, @@ -5504,35 +5504,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 874.2, + "us": 886.2, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 874.2, + "us": 886.2, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 1309.3, + "us": 1312.8, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 1309.3, + "us": 1312.8, "level": "full" }, "variants": { "parse_into structs": { - "us": 874.2, - "level": "full" - }, - "parser (reused)": { - "us": 1309.3, + "us": 886.2, "level": "full" }, "parse": { - "us": 1347.7, + "us": 1307.2, + "level": "full" + }, + "parser (reused)": { + "us": 1312.8, "level": "full" } }, @@ -5543,55 +5543,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1260.7, + "us": 1260.8, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1100.7, + "us": 1096.3, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1532.0, + "us": 1527.1, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1431.3, + "us": 1400.0, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1100.7, + "us": 1096.3, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1260.7, + "us": 1260.8, "level": "full" }, + "Document (reused allocator) (no encoding check)": { + "us": 1400.0, + "level": "no UTF-8" + }, "Document (no encoding check)": { - "us": 1421.8, + "us": 1414.8, "level": "no UTF-8" }, "Document (raw numbers) (no encoding check)": { - "us": 1429.2, - "level": "no UTF-8" - }, - "Document (reused allocator) (no encoding check)": { - "us": 1431.3, + "us": 1434.7, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1532.0, + "us": 1527.1, "level": "full" }, "Document": { - "us": 2143.9, + "us": 2132.6, "level": "full" }, "Document (raw numbers)": { - "us": 2161.7, + "us": 2147.8, "level": "full" } } @@ -5599,27 +5599,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 721.9, + "us": 700.6, "level": "full" }, "best_any": { "variant": "from_utf8 + structs", - "us": 721.9, + "us": 700.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "from_utf8 + structs": { - "us": 721.9, + "us": 700.6, "level": "full" }, "structs": { - "us": 785.8, + "us": 739.3, "level": "no UTF-8" }, "Value": { - "us": 4043.7, + "us": 3473.7, "level": "full" } } @@ -5627,23 +5627,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 538.0, + "us": 504.2, "level": "full" }, "best_any": { "variant": "structs", - "us": 538.0, + "us": 504.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 538.0, + "us": 504.2, "level": "full" }, "Value": { - "us": 601.3, + "us": 585.5, "level": "full" } } @@ -5651,23 +5651,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 740.4, + "us": 678.8, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 740.4, + "us": 678.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 740.4, + "us": 678.8, "level": "full" }, "borrowed (copy)": { - "us": 1364.7, + "us": 1284.4, "level": "full" } } @@ -5677,99 +5677,99 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 812.1, + "us": 773.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 812.1, + "us": 773.2, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 814.5, + "us": 791.6, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 814.5, + "us": 791.6, "level": "full" }, "variants": { "parse": { - "us": 812.1, + "us": 773.2, "level": "full" }, "read (reused)": { - "us": 814.5, + "us": 791.6, "level": "full" }, "structs (from_json)": { - "us": 846.1, + "us": 817.5, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "structs (from_json)", - "us": 5867.5, + "variant": "parse", + "us": 5203.4, "level": "full" }, "best_any": { - "variant": "structs (from_json)", - "us": 5867.5, + "variant": "parse", + "us": 5203.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "structs (from_json)": { - "us": 5867.5, + "parse": { + "us": 5203.4, "level": "full" }, - "parse": { - "us": 6217.2, + "structs (from_json)": { + "us": 5222.3, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 1012.2, + "variant": "read", + "us": 950.1, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 1012.2, + "variant": "read", + "us": 950.1, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 1049.4, + "us": 960.7, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 1049.4, + "us": 960.7, "level": "full" }, "variants": { - "insitu (copy)": { - "us": 1012.2, - "level": "full" - }, "read": { - "us": 1014.3, + "us": 950.1, "level": "full" }, - "read (raw numbers)": { - "us": 1019.8, + "insitu (copy)": { + "us": 954.0, "level": "full" }, "read (reused allocator)": { - "us": 1049.4, + "us": 960.7, + "level": "full" + }, + "read (raw numbers)": { + "us": 964.4, "level": "full" } } @@ -5777,47 +5777,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 697.2, + "us": 697.6, "level": "full" }, "best_any": { "variant": "On-Demand (key selectors)", - "us": 516.2, + "us": 495.0, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 739.2, + "us": 696.2, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 544.0, + "us": 496.7, "level": "partial" }, "variants": { "On-Demand (key selectors)": { - "us": 516.2, - "level": "partial" - }, - "On-Demand": { - "us": 519.2, + "us": 495.0, "level": "partial" }, "On-Demand (reused)": { - "us": 544.0, + "us": 496.7, + "level": "partial" + }, + "On-Demand": { + "us": 499.3, "level": "partial" }, "On-Demand structs": { - "us": 564.5, + "us": 534.2, "level": "partial" }, - "DOM": { - "us": 697.2, + "DOM (reused)": { + "us": 696.2, "level": "full" }, - "DOM (reused)": { - "us": 739.2, + "DOM": { + "us": 697.6, "level": "full" } } @@ -5826,14 +5826,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1005.4, + "us": 933.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1005.4, + "us": 933.0, "level": "no UTF-8" } } @@ -5841,43 +5841,43 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 2097.1, + "us": 1975.6, "level": "full" }, "best_any": { "variant": "structs", - "us": 421.8, + "us": 401.4, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 421.8, + "us": 401.4, "level": "partial" }, "structs (validate_skipped)": { - "us": 2097.1, - "level": "full" - }, - "generic (double, strict)": { - "us": 4174.6, + "us": 1975.6, "level": "full" }, "generic (double)": { - "us": 4360.2, + "us": 3978.5, "level": "partial" }, - "generic (strict)": { - "us": 5888.2, + "generic (double, strict)": { + "us": 4012.8, "level": "full" }, "generic": { - "us": 5979.5, + "us": 5231.0, "level": "partial" }, + "generic (strict)": { + "us": 5351.2, + "level": "full" + }, "lazy_json": { - "us": 9266.1, + "us": 8217.4, "level": "partial" } }, @@ -5888,35 +5888,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 1330.1, + "us": 1267.8, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 1330.1, + "us": 1267.8, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 1733.6, + "us": 1649.7, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 1733.6, + "us": 1649.7, "level": "full" }, "variants": { "parse_into structs": { - "us": 1330.1, + "us": 1267.8, "level": "full" }, "parser (reused)": { - "us": 1733.6, + "us": 1649.7, "level": "full" }, "parse": { - "us": 1797.8, + "us": 1655.7, "level": "full" } }, @@ -5927,55 +5927,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 2027.1, + "us": 1892.7, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1963.1, + "us": 1834.1, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2036.3, + "us": 1897.6, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator)", - "us": 2036.3, + "us": 1897.6, "level": "full" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1963.1, + "us": 1834.1, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1993.3, + "us": 1870.7, "level": "no UTF-8" }, "insitu (copy)": { - "us": 2027.1, + "us": 1892.7, "level": "full" }, "Document (reused allocator)": { - "us": 2036.3, + "us": 1897.6, "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 2082.8, + "us": 1931.2, "level": "no UTF-8" }, "Document (raw numbers) (no encoding check)": { - "us": 2241.4, + "us": 2106.3, "level": "no UTF-8" }, "Document": { - "us": 2495.7, + "us": 2298.6, "level": "full" }, "Document (raw numbers)": { - "us": 2784.6, + "us": 2532.1, "level": "full" } } @@ -5983,27 +5983,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 1558.9, + "us": 1532.5, "level": "full" }, "best_any": { "variant": "structs", - "us": 1515.6, + "us": 1526.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 1515.6, + "us": 1526.5, "level": "no UTF-8" }, "from_utf8 + structs": { - "us": 1558.9, + "us": 1532.5, "level": "full" }, "Value": { - "us": 6063.1, + "us": 5821.5, "level": "full" } } @@ -6011,23 +6011,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 1027.5, + "us": 1033.2, "level": "full" }, "best_any": { "variant": "structs", - "us": 1027.5, + "us": 1033.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 1027.5, + "us": 1033.2, "level": "full" }, "Value": { - "us": 1219.0, + "us": 1226.3, "level": "full" } } @@ -6035,23 +6035,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 1801.5, + "us": 1731.1, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 1801.5, + "us": 1731.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 1801.5, + "us": 1731.1, "level": "full" }, "borrowed (copy)": { - "us": 3775.9, + "us": 3476.9, "level": "full" } } @@ -6061,59 +6061,59 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 1336.3, + "us": 1305.9, "level": "full" }, "best_any": { "variant": "parse", - "us": 1336.3, + "us": 1305.9, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 1332.3, + "us": 1304.0, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 1332.3, + "us": 1304.0, "level": "full" }, "variants": { "read (reused)": { - "us": 1332.3, + "us": 1304.0, "level": "full" }, "parse": { - "us": 1336.3, + "us": 1305.9, "level": "full" }, "structs (from_json)": { - "us": 1363.6, + "us": 1311.7, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "structs (from_json)", - "us": 11608.0, + "variant": "parse", + "us": 11070.5, "level": "full" }, "best_any": { - "variant": "structs (from_json)", - "us": 11608.0, + "variant": "parse", + "us": 11070.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "structs (from_json)": { - "us": 11608.0, + "parse": { + "us": 11070.5, "level": "full" }, - "parse": { - "us": 11878.8, + "structs (from_json)": { + "us": 11198.8, "level": "full" } } @@ -6121,39 +6121,39 @@ "yyjson": { "best": { "variant": "read (raw numbers)", - "us": 2177.4, + "us": 2136.4, "level": "full" }, "best_any": { "variant": "read (raw numbers)", - "us": 2177.4, + "us": 2136.4, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 3355.8, + "us": 3286.6, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 3355.8, + "us": 3286.6, "level": "full" }, "variants": { "read (raw numbers)": { - "us": 2177.4, - "level": "full" - }, - "insitu (copy)": { - "us": 3331.5, + "us": 2136.4, "level": "full" }, "read": { - "us": 3337.5, + "us": 3281.1, "level": "full" }, "read (reused allocator)": { - "us": 3355.8, + "us": 3286.6, + "level": "full" + }, + "insitu (copy)": { + "us": 3345.0, "level": "full" } } @@ -6161,47 +6161,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 3281.2, + "us": 3263.3, "level": "full" }, "best_any": { - "variant": "On-Demand (key selectors)", - "us": 701.3, + "variant": "On-Demand", + "us": 674.4, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 3218.0, + "us": 3240.4, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 710.8, + "us": 674.2, "level": "partial" }, "variants": { - "On-Demand (key selectors)": { - "us": 701.3, + "On-Demand (reused)": { + "us": 674.2, "level": "partial" }, "On-Demand": { - "us": 708.2, + "us": 674.4, "level": "partial" }, - "On-Demand (reused)": { - "us": 710.8, + "On-Demand (key selectors)": { + "us": 687.0, "level": "partial" }, "On-Demand structs": { - "us": 922.9, + "us": 887.7, "level": "partial" }, "DOM (reused)": { - "us": 3218.0, + "us": 3240.4, "level": "full" }, "DOM": { - "us": 3281.2, + "us": 3263.3, "level": "full" } } @@ -6210,14 +6210,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 3179.8, + "us": 3178.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 3179.8, + "us": 3178.3, "level": "no UTF-8" } } @@ -6225,43 +6225,43 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 2585.5, + "us": 2534.1, "level": "full" }, "best_any": { "variant": "structs", - "us": 429.5, + "us": 418.1, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 429.5, + "us": 418.1, "level": "partial" }, "structs (validate_skipped)": { - "us": 2585.5, + "us": 2534.1, "level": "full" }, "lazy_json": { - "us": 3444.1, + "us": 3465.5, + "level": "partial" + }, + "generic (double)": { + "us": 9773.8, "level": "partial" }, "generic (double, strict)": { - "us": 10219.8, + "us": 11176.3, "level": "full" }, - "generic (double)": { - "us": 10833.5, - "level": "partial" - }, "generic (strict)": { - "us": 17901.4, + "us": 16689.6, "level": "full" }, "generic": { - "us": 18083.5, + "us": 17254.1, "level": "partial" } }, @@ -6271,36 +6271,36 @@ }, "Boost.JSON": { "best": { - "variant": "parse_into structs", - "us": 6790.1, + "variant": "parse", + "us": 6606.3, "level": "full" }, "best_any": { - "variant": "parse_into structs", - "us": 6790.1, + "variant": "parse", + "us": 6606.3, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 6846.8, + "us": 6758.0, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 6846.8, + "us": 6758.0, "level": "full" }, "variants": { - "parse_into structs": { - "us": 6790.1, + "parse": { + "us": 6606.3, "level": "full" }, "parser (reused)": { - "us": 6846.8, + "us": 6758.0, "level": "full" }, - "parse": { - "us": 6871.2, + "parse_into structs": { + "us": 6934.6, "level": "full" } }, @@ -6311,83 +6311,83 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 10840.5, + "us": 10262.6, "level": "full" }, "best_any": { - "variant": "insitu (copy) (no encoding check)", - "us": 10557.5, - "level": "no UTF-8" + "variant": "insitu (copy)", + "us": 10262.6, + "level": "full" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 12148.7, + "us": 11686.2, "level": "full" }, "best_reused_any": { - "variant": "Document (reused allocator) (no encoding check)", - "us": 11867.9, - "level": "no UTF-8" + "variant": "Document (reused allocator)", + "us": 11686.2, + "level": "full" }, "variants": { - "insitu (copy) (no encoding check)": { - "us": 10557.5, - "level": "no UTF-8" - }, "insitu (copy)": { - "us": 10840.5, + "us": 10262.6, "level": "full" }, - "Document (reused allocator) (no encoding check)": { - "us": 11867.9, - "level": "no UTF-8" - }, - "Document": { - "us": 11933.0, - "level": "full" - }, - "Document (no encoding check)": { - "us": 11964.4, + "insitu (copy) (no encoding check)": { + "us": 10416.3, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 12148.7, + "us": 11686.2, "level": "full" }, - "Document (raw numbers) (no encoding check)": { - "us": 12477.0, + "Document (reused allocator) (no encoding check)": { + "us": 11687.1, + "level": "no UTF-8" + }, + "Document": { + "us": 11884.6, + "level": "full" + }, + "Document (no encoding check)": { + "us": 11970.5, "level": "no UTF-8" }, "Document (raw numbers)": { - "us": 12504.4, + "us": 12564.6, "level": "full" + }, + "Document (raw numbers) (no encoding check)": { + "us": 12618.5, + "level": "no UTF-8" } } }, "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 2585.2, + "us": 2529.2, "level": "full" }, "best_any": { "variant": "structs", - "us": 2447.5, + "us": 2402.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 2447.5, + "us": 2402.0, "level": "no UTF-8" }, "from_utf8 + structs": { - "us": 2585.2, + "us": 2529.2, "level": "full" }, "Value": { - "us": 13748.4, + "us": 13616.4, "level": "full" } } @@ -6395,23 +6395,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 2283.1, + "us": 2328.5, "level": "full" }, "best_any": { "variant": "structs", - "us": 2283.1, + "us": 2328.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 2283.1, + "us": 2328.5, "level": "full" }, "Value": { - "us": 3833.4, + "us": 3907.0, "level": "full" } } @@ -6419,23 +6419,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 4997.1, + "us": 5143.5, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 4997.1, + "us": 5143.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 4997.1, + "us": 5143.5, "level": "full" }, "borrowed (copy)": { - "us": 10749.4, + "us": 10672.8, "level": "full" } } @@ -6445,59 +6445,59 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 92555.9, + "us": 91598.5, "level": "full" }, "best_any": { "variant": "parse", - "us": 92555.9, + "us": 91598.5, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 57226.5, + "us": 54580.1, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 57226.5, + "us": 54580.1, "level": "full" }, "variants": { "read (reused)": { - "us": 57226.5, + "us": 54580.1, "level": "full" }, "parse": { - "us": 92555.9, + "us": 91598.5, "level": "full" }, "structs (from_json)": { - "us": 115188.3, + "us": 112747.6, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "structs (from_json)", - "us": 646497.5, + "variant": "parse", + "us": 426941.9, "level": "full" }, "best_any": { - "variant": "structs (from_json)", - "us": 646497.5, + "variant": "parse", + "us": 426941.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "structs (from_json)": { - "us": 646497.5, + "parse": { + "us": 426941.9, "level": "full" }, - "parse": { - "us": 655430.6, + "structs (from_json)": { + "us": 428225.0, "level": "full" } } @@ -6505,39 +6505,39 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 145779.2, + "us": 138355.6, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 145779.2, + "us": 138355.6, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 80073.7, + "us": 73042.5, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 80073.7, + "us": 73042.5, "level": "full" }, "variants": { "read (reused allocator)": { - "us": 80073.7, + "us": 73042.5, "level": "full" }, "insitu (copy)": { - "us": 145779.2, + "us": 138355.6, "level": "full" }, "read": { - "us": 151148.1, + "us": 141695.0, "level": "full" }, "read (raw numbers)": { - "us": 151725.9, + "us": 144240.4, "level": "full" } } @@ -6545,47 +6545,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 128803.5, + "us": 127285.3, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 50653.6, + "us": 49612.8, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 63057.4, + "us": 59579.7, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 33031.2, + "us": 29957.0, "level": "partial" }, "variants": { "On-Demand (reused)": { - "us": 33031.2, + "us": 29957.0, "level": "partial" }, "On-Demand": { - "us": 50653.6, + "us": 49612.8, "level": "partial" }, "On-Demand (key selectors)": { - "us": 54597.8, + "us": 50957.0, "level": "partial" }, "DOM (reused)": { - "us": 63057.4, + "us": 59579.7, "level": "full" }, "On-Demand structs": { - "us": 76739.0, + "us": 73018.9, "level": "partial" }, "DOM": { - "us": 128803.5, + "us": 127285.3, "level": "full" } } @@ -6594,14 +6594,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 111278.7, + "us": 113266.6, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 111278.7, + "us": 113266.6, "level": "no UTF-8" } } @@ -6609,43 +6609,43 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 90323.7, + "us": 87637.2, "level": "full" }, "best_any": { "variant": "structs", - "us": 70824.2, + "us": 70800.7, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 70824.2, + "us": 70800.7, "level": "partial" }, "structs (validate_skipped)": { - "us": 90323.7, + "us": 87637.2, "level": "full" }, "lazy_json": { - "us": 132080.6, + "us": 120979.2, "level": "partial" }, "generic (double, strict)": { - "us": 288136.4, + "us": 244153.8, "level": "full" }, "generic (double)": { - "us": 294557.1, + "us": 250509.8, "level": "partial" }, "generic (strict)": { - "us": 379917.3, + "us": 324209.2, "level": "full" }, "generic": { - "us": 402677.8, + "us": 326009.9, "level": "partial" } }, @@ -6656,35 +6656,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 100852.6, + "us": 94730.2, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 100852.6, + "us": 94730.2, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 142858.2, + "us": 133163.0, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 142858.2, + "us": 133163.0, "level": "full" }, "variants": { "parse_into structs": { - "us": 100852.6, + "us": 94730.2, "level": "full" }, "parser (reused)": { - "us": 142858.2, + "us": 133163.0, "level": "full" }, "parse": { - "us": 175653.6, + "us": 199581.5, "level": "full" } }, @@ -6695,55 +6695,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 166337.5, + "us": 165979.4, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 166337.5, - "level": "full" + "variant": "insitu (copy) (no encoding check)", + "us": 159427.3, + "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 203366.5, + "us": 183270.3, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 184653.3, + "us": 181253.1, "level": "no UTF-8" }, "variants": { + "insitu (copy) (no encoding check)": { + "us": 159427.3, + "level": "no UTF-8" + }, "insitu (copy)": { - "us": 166337.5, + "us": 165979.4, "level": "full" }, - "insitu (copy) (no encoding check)": { - "us": 167408.7, - "level": "no UTF-8" - }, "Document (reused allocator) (no encoding check)": { - "us": 184653.3, - "level": "no UTF-8" - }, - "Document (no encoding check)": { - "us": 194534.5, - "level": "no UTF-8" - }, - "Document (raw numbers) (no encoding check)": { - "us": 199421.1, + "us": 181253.1, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 203366.5, + "us": 183270.3, "level": "full" }, + "Document (no encoding check)": { + "us": 184661.1, + "level": "no UTF-8" + }, + "Document (raw numbers) (no encoding check)": { + "us": 194453.1, + "level": "no UTF-8" + }, "Document": { - "us": 278648.5, + "us": 268554.8, "level": "full" }, "Document (raw numbers)": { - "us": 290716.6, + "us": 268767.2, "level": "full" } } @@ -6751,27 +6751,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 114700.9, + "us": 107315.7, "level": "full" }, "best_any": { "variant": "from_utf8 + structs", - "us": 114700.9, + "us": 107315.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "from_utf8 + structs": { - "us": 114700.9, + "us": 107315.7, "level": "full" }, "structs": { - "us": 142510.2, + "us": 134637.9, "level": "no UTF-8" }, "Value": { - "us": 525827.6, + "us": 410661.1, "level": "full" } } @@ -6779,23 +6779,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 91949.7, + "us": 90485.8, "level": "full" }, "best_any": { "variant": "structs", - "us": 91949.7, + "us": 90485.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 91949.7, + "us": 90485.8, "level": "full" }, "Value": { - "us": 135637.3, + "us": 130216.1, "level": "full" } } @@ -6803,23 +6803,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 258565.9, + "us": 239164.4, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 258565.9, + "us": 239164.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 258565.9, + "us": 239164.4, "level": "full" }, "borrowed (copy)": { - "us": 304889.5, + "us": 293642.8, "level": "full" } } @@ -6839,17 +6839,17 @@ }, "best_reused": { "variant": "read (reused)", - "us": 1.5, + "us": 1.6, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 1.5, + "us": 1.6, "level": "full" }, "variants": { "read (reused)": { - "us": 1.5, + "us": 1.6, "level": "full" }, "parse": { @@ -6865,23 +6865,23 @@ "nlohmann json": { "best": { "variant": "structs (from_json)", - "us": 14.7, + "us": 17.8, "level": "full" }, "best_any": { "variant": "structs (from_json)", - "us": 14.7, + "us": 17.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (from_json)": { - "us": 14.7, + "us": 17.8, "level": "full" }, "parse": { - "us": 15.8, + "us": 18.6, "level": "full" } } @@ -6889,35 +6889,35 @@ "yyjson": { "best": { "variant": "read", - "us": 1.8, + "us": 1.7, "level": "full" }, "best_any": { "variant": "read", - "us": 1.8, + "us": 1.7, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 1.6, + "us": 1.7, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 1.6, + "us": 1.7, "level": "full" }, "variants": { - "read (reused allocator)": { - "us": 1.6, - "level": "full" - }, "read": { - "us": 1.8, + "us": 1.7, "level": "full" }, "insitu (copy)": { - "us": 1.8, + "us": 1.7, + "level": "full" + }, + "read (reused allocator)": { + "us": 1.7, "level": "full" }, "read (raw numbers)": { @@ -6929,17 +6929,17 @@ "simdjson": { "best": { "variant": "DOM", - "us": 2.0, + "us": 1.9, "level": "full" }, "best_any": { "variant": "On-Demand (key selectors)", - "us": 1.2, + "us": 1.1, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 1.6, + "us": 1.8, "level": "full" }, "best_reused_any": { @@ -6953,11 +6953,11 @@ "level": "partial" }, "On-Demand (key selectors)": { - "us": 1.2, + "us": 1.1, "level": "partial" }, "On-Demand": { - "us": 1.3, + "us": 1.2, "level": "partial" }, "On-Demand structs": { @@ -6965,11 +6965,11 @@ "level": "partial" }, "DOM (reused)": { - "us": 1.6, + "us": 1.8, "level": "full" }, "DOM": { - "us": 2.0, + "us": 1.9, "level": "full" } } @@ -7017,20 +7017,20 @@ "level": "partial" }, "generic (double)": { - "us": 11.1, + "us": 9.3, "level": "partial" }, "generic (double, strict)": { - "us": 11.2, - "level": "full" - }, - "generic (strict)": { - "us": 14.4, + "us": 10.1, "level": "full" }, "generic": { - "us": 14.5, + "us": 13.0, "level": "partial" + }, + "generic (strict)": { + "us": 13.2, + "level": "full" } }, "excluded": { @@ -7040,35 +7040,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 3.9, + "us": 3.7, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 3.9, + "us": 3.7, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 6.2, + "us": 5.9, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 6.2, + "us": 5.9, "level": "full" }, "variants": { "parse_into structs": { - "us": 3.9, + "us": 3.7, "level": "full" }, "parser (reused)": { - "us": 6.2, + "us": 5.9, "level": "full" }, "parse": { - "us": 6.4, + "us": 6.1, "level": "full" } }, @@ -7079,55 +7079,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 5.6, + "us": 5.4, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 4.1, + "us": 3.8, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 8.2, + "us": 7.8, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 7.3, + "us": 7.1, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 4.1, + "us": 3.8, "level": "no UTF-8" }, "insitu (copy)": { - "us": 5.6, + "us": 5.4, "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 7.3, + "us": 7.1, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 8.1, + "us": 7.6, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 8.2, + "us": 7.8, "level": "full" }, "Document (raw numbers) (no encoding check)": { - "us": 8.5, + "us": 8.0, "level": "no UTF-8" }, "Document": { - "us": 12.6, + "us": 11.9, "level": "full" }, "Document (raw numbers)": { - "us": 12.7, + "us": 11.9, "level": "full" } } @@ -7155,7 +7155,7 @@ "level": "full" }, "Value": { - "us": 13.0, + "us": 13.1, "level": "full" } } @@ -7179,7 +7179,7 @@ "level": "full" }, "Value": { - "us": 3.0, + "us": 2.8, "level": "full" } } @@ -7187,19 +7187,19 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 3.7, + "us": 3.5, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 3.7, + "us": 3.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 3.7, + "us": 3.5, "level": "full" }, "borrowed (copy)": { @@ -7212,60 +7212,60 @@ "twitter_min": { "nlohmann json_document": { "best": { - "variant": "structs (from_json)", - "us": 284.3, + "variant": "parse", + "us": 277.9, "level": "full" }, "best_any": { - "variant": "structs (from_json)", - "us": 284.3, + "variant": "parse", + "us": 277.9, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 275.6, + "us": 273.4, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 275.6, + "us": 273.4, "level": "full" }, "variants": { "read (reused)": { - "us": 275.6, - "level": "full" - }, - "structs (from_json)": { - "us": 284.3, + "us": 273.4, "level": "full" }, "parse": { - "us": 299.3, + "us": 277.9, + "level": "full" + }, + "structs (from_json)": { + "us": 280.3, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "parse", - "us": 3620.8, + "variant": "structs (from_json)", + "us": 3365.5, "level": "full" }, "best_any": { - "variant": "parse", - "us": 3620.8, + "variant": "structs (from_json)", + "us": 3365.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "parse": { - "us": 3620.8, + "structs (from_json)": { + "us": 3365.5, "level": "full" }, - "structs (from_json)": { - "us": 3638.9, + "parse": { + "us": 3377.6, "level": "full" } } @@ -7273,39 +7273,39 @@ "yyjson": { "best": { "variant": "read", - "us": 334.2, + "us": 356.0, "level": "full" }, "best_any": { "variant": "read", - "us": 334.2, + "us": 356.0, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 334.5, + "us": 335.2, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 334.5, + "us": 335.2, "level": "full" }, "variants": { - "read": { - "us": 334.2, + "read (reused allocator)": { + "us": 335.2, "level": "full" }, - "read (reused allocator)": { - "us": 334.5, + "read": { + "us": 356.0, "level": "full" }, "insitu (copy)": { - "us": 350.7, + "us": 359.5, "level": "full" }, "read (raw numbers)": { - "us": 361.1, + "us": 370.1, "level": "full" } } @@ -7313,47 +7313,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 295.6, + "us": 292.6, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 162.7, + "us": 157.0, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 312.7, + "us": 294.4, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 170.0, + "us": 153.3, "level": "partial" }, "variants": { + "On-Demand (reused)": { + "us": 153.3, + "level": "partial" + }, "On-Demand": { + "us": 157.0, + "level": "partial" + }, + "On-Demand structs": { "us": 162.7, "level": "partial" }, "On-Demand (key selectors)": { - "us": 164.3, - "level": "partial" - }, - "On-Demand (reused)": { - "us": 170.0, - "level": "partial" - }, - "On-Demand structs": { - "us": 173.2, + "us": 163.9, "level": "partial" }, "DOM": { - "us": 295.6, + "us": 292.6, "level": "full" }, "DOM (reused)": { - "us": 312.7, + "us": 294.4, "level": "full" } } @@ -7362,14 +7362,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 311.0, + "us": 306.1, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 311.0, + "us": 306.1, "level": "no UTF-8" } } @@ -7377,43 +7377,43 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 509.5, + "us": 475.7, "level": "full" }, "best_any": { "variant": "structs", - "us": 308.0, + "us": 294.9, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 308.0, - "level": "partial" - }, - "lazy_json": { - "us": 505.5, + "us": 294.9, "level": "partial" }, "structs (validate_skipped)": { - "us": 509.5, + "us": 475.7, "level": "full" }, - "generic (double, strict)": { - "us": 2511.1, - "level": "full" - }, - "generic (double)": { - "us": 2515.4, + "lazy_json": { + "us": 488.0, "level": "partial" }, + "generic (double)": { + "us": 2224.4, + "level": "partial" + }, + "generic (double, strict)": { + "us": 2250.6, + "level": "full" + }, "generic (strict)": { - "us": 3053.2, + "us": 2774.4, "level": "full" }, "generic": { - "us": 3133.6, + "us": 2807.2, "level": "partial" } }, @@ -7424,35 +7424,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 835.3, + "us": 734.6, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 835.3, + "us": 734.6, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 1315.9, + "us": 1203.5, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 1315.9, + "us": 1203.5, "level": "full" }, "variants": { "parse_into structs": { - "us": 835.3, + "us": 734.6, "level": "full" }, "parse": { - "us": 1253.8, + "us": 1202.5, "level": "full" }, "parser (reused)": { - "us": 1315.9, + "us": 1203.5, "level": "full" } }, @@ -7463,55 +7463,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1032.9, + "us": 912.1, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 921.7, + "us": 864.4, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1618.0, + "us": 1476.3, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1400.3, + "us": 1340.7, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 921.7, + "us": 864.4, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1032.9, + "us": 912.1, "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 1400.3, + "us": 1340.7, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1434.2, + "us": 1364.7, "level": "no UTF-8" }, "Document (raw numbers) (no encoding check)": { - "us": 1468.4, + "us": 1367.3, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1618.0, + "us": 1476.3, "level": "full" }, "Document (raw numbers)": { - "us": 2301.7, + "us": 2135.6, "level": "full" }, "Document": { - "us": 2346.1, + "us": 2156.9, "level": "full" } } @@ -7519,27 +7519,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 543.5, + "us": 540.9, "level": "full" }, "best_any": { "variant": "from_utf8 + structs", - "us": 543.5, + "us": 540.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "from_utf8 + structs": { - "us": 543.5, + "us": 540.9, "level": "full" }, "structs": { - "us": 580.2, + "us": 579.6, "level": "no UTF-8" }, "Value": { - "us": 3409.8, + "us": 3279.9, "level": "full" } } @@ -7547,23 +7547,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 374.9, + "us": 371.4, "level": "full" }, "best_any": { "variant": "structs", - "us": 374.9, + "us": 371.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 374.9, + "us": 371.4, "level": "full" }, "Value": { - "us": 439.6, + "us": 445.2, "level": "full" } } @@ -7571,23 +7571,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 658.8, + "us": 649.2, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 658.8, + "us": 649.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 658.8, + "us": 649.2, "level": "full" }, "borrowed (copy)": { - "us": 1225.0, + "us": 1242.3, "level": "full" } } @@ -7597,35 +7597,35 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 529.0, + "us": 526.6, "level": "full" }, "best_any": { "variant": "parse", - "us": 529.0, + "us": 526.6, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 521.7, + "us": 531.4, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 521.7, + "us": 531.4, "level": "full" }, "variants": { - "read (reused)": { - "us": 521.7, + "parse": { + "us": 526.6, "level": "full" }, - "parse": { - "us": 529.0, + "read (reused)": { + "us": 531.4, "level": "full" }, "structs (from_json)": { - "us": 555.1, + "us": 560.3, "level": "full" } } @@ -7633,63 +7633,63 @@ "nlohmann json": { "best": { "variant": "parse", - "us": 5259.6, + "us": 4759.7, "level": "full" }, "best_any": { "variant": "parse", - "us": 5259.6, + "us": 4759.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 5259.6, + "us": 4759.7, "level": "full" }, "structs (from_json)": { - "us": 5270.0, + "us": 4805.0, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 496.2, + "variant": "read", + "us": 496.1, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 496.2, + "variant": "read", + "us": 496.1, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 496.1, + "us": 496.7, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 496.1, + "us": 496.7, "level": "full" }, "variants": { - "read (reused allocator)": { + "read": { "us": 496.1, "level": "full" }, - "insitu (copy)": { - "us": 496.2, + "read (reused allocator)": { + "us": 496.7, "level": "full" }, - "read": { - "us": 498.1, + "insitu (copy)": { + "us": 497.3, "level": "full" }, "read (raw numbers)": { - "us": 515.9, + "us": 516.7, "level": "full" } } @@ -7697,47 +7697,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 549.1, + "us": 547.2, "level": "full" }, "best_any": { "variant": "On-Demand (key selectors)", - "us": 329.2, + "us": 327.1, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 548.5, + "us": 545.1, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 333.7, + "us": 332.1, "level": "partial" }, "variants": { "On-Demand (key selectors)": { - "us": 329.2, + "us": 327.1, "level": "partial" }, "On-Demand (reused)": { - "us": 333.7, + "us": 332.1, "level": "partial" }, "On-Demand": { - "us": 335.4, + "us": 332.8, "level": "partial" }, "On-Demand structs": { - "us": 368.0, + "us": 367.8, "level": "partial" }, "DOM (reused)": { - "us": 548.5, + "us": 545.1, "level": "full" }, "DOM": { - "us": 549.1, + "us": 547.2, "level": "full" } } @@ -7746,14 +7746,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 611.8, + "us": 612.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 611.8, + "us": 612.3, "level": "no UTF-8" } } @@ -7761,43 +7761,43 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 783.8, + "us": 798.7, "level": "full" }, "best_any": { "variant": "structs", - "us": 198.1, + "us": 204.2, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 198.1, + "us": 204.2, "level": "partial" }, "structs (validate_skipped)": { - "us": 783.8, + "us": 798.7, "level": "full" }, "lazy_json": { - "us": 1613.0, + "us": 1591.3, + "level": "partial" + }, + "generic (double)": { + "us": 3046.9, "level": "partial" }, "generic (double, strict)": { - "us": 3070.7, + "us": 3062.9, "level": "full" }, - "generic (double)": { - "us": 3202.5, - "level": "partial" - }, "generic (strict)": { - "us": 4626.5, + "us": 4472.8, "level": "full" }, "generic": { - "us": 4784.9, + "us": 4493.0, "level": "partial" } }, @@ -7808,35 +7808,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 970.7, + "us": 990.7, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 970.7, + "us": 990.7, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 1339.8, + "us": 1392.1, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 1339.8, + "us": 1392.1, "level": "full" }, "variants": { "parse_into structs": { - "us": 970.7, - "level": "full" - }, - "parser (reused)": { - "us": 1339.8, + "us": 990.7, "level": "full" }, "parse": { - "us": 1351.0, + "us": 1383.2, + "level": "full" + }, + "parser (reused)": { + "us": 1392.1, "level": "full" } }, @@ -7847,55 +7847,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1293.8, + "us": 1286.5, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 1293.8, + "us": 1286.5, "level": "full" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1693.0, + "us": 1686.1, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator)", - "us": 1693.0, + "us": 1686.1, "level": "full" }, "variants": { "insitu (copy)": { - "us": 1293.8, + "us": 1286.5, "level": "full" }, "insitu (copy) (no encoding check)": { - "us": 1314.8, + "us": 1312.9, + "level": "no UTF-8" + }, + "Document (no encoding check)": { + "us": 1672.4, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1693.0, + "us": 1686.1, "level": "full" }, - "Document (no encoding check)": { - "us": 1710.8, - "level": "no UTF-8" - }, "Document (reused allocator) (no encoding check)": { - "us": 1730.5, + "us": 1754.2, "level": "no UTF-8" }, "Document (raw numbers) (no encoding check)": { - "us": 1975.8, + "us": 1908.8, "level": "no UTF-8" }, "Document": { - "us": 2162.1, + "us": 2126.9, "level": "full" }, "Document (raw numbers)": { - "us": 2456.6, + "us": 2393.8, "level": "full" } } @@ -7903,27 +7903,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 694.2, + "us": 694.6, "level": "full" }, "best_any": { "variant": "from_utf8 + structs", - "us": 694.2, + "us": 694.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "from_utf8 + structs": { - "us": 694.2, + "us": 694.6, "level": "full" }, "structs": { - "us": 727.6, + "us": 726.2, "level": "no UTF-8" }, "Value": { - "us": 5020.7, + "us": 4784.9, "level": "full" } } @@ -7931,23 +7931,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 649.8, + "us": 653.4, "level": "full" }, "best_any": { "variant": "structs", - "us": 649.8, + "us": 653.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 649.8, + "us": 653.4, "level": "full" }, "Value": { - "us": 866.6, + "us": 836.8, "level": "full" } } @@ -7955,23 +7955,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 1329.8, + "us": 1327.6, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 1329.8, + "us": 1327.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 1329.8, + "us": 1327.6, "level": "full" }, "borrowed (copy)": { - "us": 3306.8, + "us": 3067.6, "level": "full" } } @@ -7982,24 +7982,24 @@ "twitter": { "nlohmann json_document": { "best": { - "variant": "editable", - "us": 538.2, + "variant": "editable (source numbers)", + "us": 533.5, "level": "full" }, "best_any": { - "variant": "editable", - "us": 538.2, + "variant": "editable (source numbers)", + "us": 533.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "editable": { - "us": 538.2, + "editable (source numbers)": { + "us": 533.5, "level": "full" }, - "editable (source numbers)": { - "us": 552.9, + "editable": { + "us": 538.2, "level": "full" } } @@ -8007,23 +8007,23 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 3103.2, + "us": 2805.9, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 3103.2, + "us": 2805.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 3103.2, + "us": 2805.9, "level": "full" }, "parse": { - "us": 4261.7, + "us": 3934.0, "level": "full" } } @@ -8031,23 +8031,23 @@ "yyjson": { "best": { "variant": "mut copy", - "us": 792.7, + "us": 787.2, "level": "full" }, "best_any": { "variant": "mut copy", - "us": 792.7, + "us": 787.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "mut copy": { - "us": 792.7, + "us": 787.2, "level": "full" }, "insitu (copy) + mut copy": { - "us": 804.5, + "us": 800.7, "level": "full" } } @@ -8056,14 +8056,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 623.2, + "us": 619.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 623.2, + "us": 619.2, "level": "no UTF-8" } } @@ -8071,23 +8071,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 3577.4, + "us": 3364.1, "level": "full" }, "best_any": { "variant": "generic", - "us": 3521.6, + "us": 3316.3, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 3521.6, + "us": 3316.3, "level": "partial" }, "generic (strict)": { - "us": 3577.4, + "us": 3364.1, "level": "full" } }, @@ -8099,19 +8099,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 1778.6, + "us": 1768.5, "level": "full" }, "best_any": { "variant": "parse", - "us": 1778.6, + "us": 1768.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 1778.6, + "us": 1768.5, "level": "full" } } @@ -8119,31 +8119,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1964.6, + "us": 1950.8, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1876.8, + "us": 1792.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 1876.8, + "us": 1792.8, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1964.6, + "us": 1950.8, "level": "full" }, "Document (no encoding check)": { - "us": 2068.5, + "us": 2006.1, "level": "no UTF-8" }, "Document": { - "us": 2758.5, + "us": 2706.0, "level": "full" } } @@ -8151,19 +8151,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 4036.2, + "us": 4041.7, "level": "full" }, "best_any": { "variant": "Value", - "us": 4036.2, + "us": 4041.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 4036.2, + "us": 4041.7, "level": "full" } } @@ -8171,19 +8171,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 1200.7, + "us": 1196.7, "level": "full" }, "best_any": { "variant": "Value", - "us": 1200.7, + "us": 1196.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 1200.7, + "us": 1196.7, "level": "full" } } @@ -8191,23 +8191,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 1923.5, + "us": 1862.2, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 1923.5, + "us": 1862.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 1923.5, + "us": 1862.2, "level": "full" }, "owned (copy)": { - "us": 2634.1, + "us": 2560.0, "level": "full" } } @@ -8217,23 +8217,23 @@ "nlohmann json_document": { "best": { "variant": "editable", - "us": 1146.2, + "us": 1111.7, "level": "full" }, "best_any": { "variant": "editable", - "us": 1146.2, + "us": 1111.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable": { - "us": 1146.2, + "us": 1111.7, "level": "full" }, "editable (source numbers)": { - "us": 1167.3, + "us": 1126.1, "level": "full" } } @@ -8241,23 +8241,23 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 5436.6, + "us": 4971.5, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 5436.6, + "us": 4971.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 5436.6, + "us": 4971.5, "level": "full" }, "parse": { - "us": 6874.6, + "us": 5836.1, "level": "full" } } @@ -8265,23 +8265,23 @@ "yyjson": { "best": { "variant": "insitu (copy) + mut copy", - "us": 1742.3, + "us": 1644.7, "level": "full" }, "best_any": { "variant": "insitu (copy) + mut copy", - "us": 1742.3, + "us": 1644.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) + mut copy": { - "us": 1742.3, + "us": 1644.7, "level": "full" }, "mut copy": { - "us": 1748.3, + "us": 1644.9, "level": "full" } } @@ -8290,14 +8290,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1522.1, + "us": 1434.1, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1522.1, + "us": 1434.1, "level": "no UTF-8" } } @@ -8305,24 +8305,24 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 6466.2, + "us": 6117.9, "level": "full" }, "best_any": { - "variant": "generic (strict)", - "us": 6466.2, - "level": "full" + "variant": "generic", + "us": 5989.1, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (strict)": { - "us": 6466.2, - "level": "full" - }, "generic": { - "us": 6804.5, + "us": 5989.1, "level": "partial" + }, + "generic (strict)": { + "us": 6117.9, + "level": "full" } }, "excluded": { @@ -8333,19 +8333,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 2535.9, + "us": 2510.7, "level": "full" }, "best_any": { "variant": "parse", - "us": 2535.9, + "us": 2510.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 2535.9, + "us": 2510.7, "level": "full" } } @@ -8353,31 +8353,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 2914.8, + "us": 2857.6, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 2802.8, + "us": 2784.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 2802.8, + "us": 2784.8, + "level": "no UTF-8" + }, + "Document (no encoding check)": { + "us": 2802.4, "level": "no UTF-8" }, "insitu (copy)": { - "us": 2914.8, + "us": 2857.6, "level": "full" }, - "Document (no encoding check)": { - "us": 3058.8, - "level": "no UTF-8" - }, "Document": { - "us": 3456.3, + "us": 3221.3, "level": "full" } } @@ -8385,19 +8385,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 7180.9, + "us": 6586.4, "level": "full" }, "best_any": { "variant": "Value", - "us": 7180.9, + "us": 6586.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 7180.9, + "us": 6586.4, "level": "full" } } @@ -8405,19 +8405,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 2415.5, + "us": 2388.6, "level": "full" }, "best_any": { "variant": "Value", - "us": 2415.5, + "us": 2388.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 2415.5, + "us": 2388.6, "level": "full" } } @@ -8425,23 +8425,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 4575.1, + "us": 4193.6, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 4575.1, + "us": 4193.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 4575.1, + "us": 4193.6, "level": "full" }, "owned (copy)": { - "us": 5459.1, + "us": 4989.9, "level": "full" } } @@ -8451,23 +8451,23 @@ "nlohmann json_document": { "best": { "variant": "editable (source numbers)", - "us": 2232.8, + "us": 2132.9, "level": "full" }, "best_any": { "variant": "editable (source numbers)", - "us": 2232.8, + "us": 2132.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable (source numbers)": { - "us": 2232.8, + "us": 2132.9, "level": "full" }, "editable": { - "us": 5464.3, + "us": 5519.4, "level": "full" } } @@ -8475,47 +8475,47 @@ "nlohmann json": { "best": { "variant": "parse", - "us": 15614.3, + "us": 14917.1, "level": "full" }, "best_any": { "variant": "parse", - "us": 15614.3, + "us": 14917.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 15614.3, + "us": 14917.1, "level": "full" }, "ordered_json": { - "us": 15785.7, + "us": 14991.2, "level": "full" } } }, "yyjson": { "best": { - "variant": "mut copy", - "us": 7566.1, + "variant": "insitu (copy) + mut copy", + "us": 7402.7, "level": "full" }, "best_any": { - "variant": "mut copy", - "us": 7566.1, + "variant": "insitu (copy) + mut copy", + "us": 7402.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "mut copy": { - "us": 7566.1, + "insitu (copy) + mut copy": { + "us": 7402.7, "level": "full" }, - "insitu (copy) + mut copy": { - "us": 7779.3, + "mut copy": { + "us": 7478.6, "level": "full" } } @@ -8524,14 +8524,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 8677.6, + "us": 8257.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 8677.6, + "us": 8257.4, "level": "no UTF-8" } } @@ -8539,23 +8539,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 22050.6, + "us": 20572.0, "level": "full" }, "best_any": { "variant": "generic (strict)", - "us": 22050.6, + "us": 20572.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "generic (strict)": { - "us": 22050.6, + "us": 20572.0, "level": "full" }, "generic": { - "us": 22603.1, + "us": 20873.8, "level": "partial" } }, @@ -8567,19 +8567,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 12676.1, + "us": 12297.7, "level": "full" }, "best_any": { "variant": "parse", - "us": 12676.1, + "us": 12297.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 12676.1, + "us": 12297.7, "level": "full" } } @@ -8587,51 +8587,51 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 19783.7, + "us": 19274.1, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 19339.5, + "us": 18933.6, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 19339.5, + "us": 18933.6, "level": "no UTF-8" }, "insitu (copy)": { - "us": 19783.7, - "level": "full" - }, - "Document": { - "us": 21248.3, + "us": 19274.1, "level": "full" }, "Document (no encoding check)": { - "us": 21308.3, + "us": 20607.0, "level": "no UTF-8" + }, + "Document": { + "us": 20644.4, + "level": "full" } } }, "serde_json": { "best": { "variant": "Value", - "us": 17371.4, + "us": 16630.9, "level": "full" }, "best_any": { "variant": "Value", - "us": 17371.4, + "us": 16630.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 17371.4, + "us": 16630.9, "level": "full" } } @@ -8639,19 +8639,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 7957.7, + "us": 7743.7, "level": "full" }, "best_any": { "variant": "Value", - "us": 7957.7, + "us": 7743.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 7957.7, + "us": 7743.7, "level": "full" } } @@ -8659,23 +8659,23 @@ "simd-json": { "best": { "variant": "owned (copy)", - "us": 15746.3, + "us": 14895.5, "level": "full" }, "best_any": { "variant": "owned (copy)", - "us": 15746.3, + "us": 14895.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "owned (copy)": { - "us": 15746.3, + "us": 14895.5, "level": "full" }, "borrowed (copy)": { - "us": 16036.0, + "us": 14942.9, "level": "full" } } @@ -8684,24 +8684,24 @@ "jeopardy": { "nlohmann json_document": { "best": { - "variant": "editable", - "us": 175453.8, + "variant": "editable (source numbers)", + "us": 195193.6, "level": "full" }, "best_any": { - "variant": "editable", - "us": 175453.8, + "variant": "editable (source numbers)", + "us": 195193.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "editable": { - "us": 175453.8, + "editable (source numbers)": { + "us": 195193.6, "level": "full" }, - "editable (source numbers)": { - "us": 200975.5, + "editable": { + "us": 195482.0, "level": "full" } } @@ -8709,47 +8709,47 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 910653.4, + "us": 635353.1, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 910653.4, + "us": 635353.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 910653.4, + "us": 635353.1, "level": "full" }, "parse": { - "us": 1207122.4, + "us": 823137.1, "level": "full" } } }, "yyjson": { "best": { - "variant": "mut copy", - "us": 296290.7, + "variant": "insitu (copy) + mut copy", + "us": 311248.8, "level": "full" }, "best_any": { - "variant": "mut copy", - "us": 296290.7, + "variant": "insitu (copy) + mut copy", + "us": 311248.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "mut copy": { - "us": 296290.7, + "insitu (copy) + mut copy": { + "us": 311248.8, "level": "full" }, - "insitu (copy) + mut copy": { - "us": 320136.5, + "mut copy": { + "us": 316837.5, "level": "full" } } @@ -8758,14 +8758,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 193208.4, + "us": 183467.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 193208.4, + "us": 183467.5, "level": "no UTF-8" } } @@ -8773,23 +8773,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 761903.1, + "us": 626528.7, "level": "full" }, "best_any": { "variant": "generic (strict)", - "us": 761903.1, + "us": 626528.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "generic (strict)": { - "us": 761903.1, + "us": 626528.7, "level": "full" }, "generic": { - "us": 788891.0, + "us": 643298.4, "level": "partial" } }, @@ -8801,19 +8801,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 324643.8, + "us": 339121.0, "level": "full" }, "best_any": { "variant": "parse", - "us": 324643.8, + "us": 339121.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 324643.8, + "us": 339121.0, "level": "full" } } @@ -8821,31 +8821,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 317670.6, + "us": 288710.0, "level": "full" }, "best_any": { - "variant": "Document (no encoding check)", - "us": 297089.6, + "variant": "insitu (copy) (no encoding check)", + "us": 288193.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { - "Document (no encoding check)": { - "us": 297089.6, - "level": "no UTF-8" - }, "insitu (copy) (no encoding check)": { - "us": 297431.1, + "us": 288193.5, "level": "no UTF-8" }, "insitu (copy)": { - "us": 317670.6, + "us": 288710.0, "level": "full" }, + "Document (no encoding check)": { + "us": 307935.0, + "level": "no UTF-8" + }, "Document": { - "us": 396887.6, + "us": 388669.8, "level": "full" } } @@ -8853,19 +8853,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 843034.0, + "us": 632766.1, "level": "full" }, "best_any": { "variant": "Value", - "us": 843034.0, + "us": 632766.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 843034.0, + "us": 632766.1, "level": "full" } } @@ -8873,19 +8873,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 421718.3, + "us": 390951.9, "level": "full" }, "best_any": { "variant": "Value", - "us": 421718.3, + "us": 390951.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 421718.3, + "us": 390951.9, "level": "full" } } @@ -8893,23 +8893,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 435817.2, + "us": 391369.2, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 435817.2, + "us": 391369.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 435817.2, + "us": 391369.2, "level": "full" }, "owned (copy)": { - "us": 696004.8, + "us": 574174.1, "level": "full" } } @@ -8918,24 +8918,24 @@ "status": { "nlohmann json_document": { "best": { - "variant": "editable (source numbers)", - "us": 3.1, + "variant": "editable", + "us": 3.0, "level": "full" }, "best_any": { - "variant": "editable (source numbers)", - "us": 3.1, + "variant": "editable", + "us": 3.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "editable (source numbers)": { - "us": 3.1, + "editable": { + "us": 3.0, "level": "full" }, - "editable": { - "us": 3.2, + "editable (source numbers)": { + "us": 3.0, "level": "full" } } @@ -8943,47 +8943,47 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 14.5, + "us": 13.7, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 14.5, + "us": 13.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 14.5, + "us": 13.7, "level": "full" }, "parse": { - "us": 17.7, + "us": 20.1, "level": "full" } } }, "yyjson": { "best": { - "variant": "mut copy", - "us": 3.7, + "variant": "insitu (copy) + mut copy", + "us": 3.6, "level": "full" }, "best_any": { - "variant": "mut copy", - "us": 3.7, + "variant": "insitu (copy) + mut copy", + "us": 3.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "mut copy": { - "us": 3.7, + "insitu (copy) + mut copy": { + "us": 3.6, "level": "full" }, - "insitu (copy) + mut copy": { - "us": 3.8, + "mut copy": { + "us": 3.7, "level": "full" } } @@ -9007,23 +9007,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 16.5, + "us": 15.0, "level": "full" }, "best_any": { "variant": "generic", - "us": 16.0, + "us": 14.9, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 16.0, + "us": 14.9, "level": "partial" }, "generic (strict)": { - "us": 16.5, + "us": 15.0, "level": "full" } }, @@ -9035,19 +9035,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 8.8, + "us": 8.5, "level": "full" }, "best_any": { "variant": "parse", - "us": 8.8, + "us": 8.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 8.8, + "us": 8.5, "level": "full" } } @@ -9055,7 +9055,7 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 9.2, + "us": 9.1, "level": "full" }, "best_any": { @@ -9071,15 +9071,15 @@ "level": "no UTF-8" }, "insitu (copy)": { - "us": 9.2, + "us": 9.1, "level": "full" }, "Document (no encoding check)": { - "us": 12.2, + "us": 11.5, "level": "no UTF-8" }, "Document": { - "us": 16.0, + "us": 16.2, "level": "full" } } @@ -9087,19 +9087,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 16.9, + "us": 17.6, "level": "full" }, "best_any": { "variant": "Value", - "us": 16.9, + "us": 17.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 16.9, + "us": 17.6, "level": "full" } } @@ -9127,23 +9127,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 9.6, + "us": 9.0, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 9.6, + "us": 9.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 9.6, + "us": 9.0, "level": "full" }, "owned (copy)": { - "us": 14.3, + "us": 13.1, "level": "full" } } @@ -9153,23 +9153,23 @@ "nlohmann json_document": { "best": { "variant": "editable (source numbers)", - "us": 495.7, + "us": 476.1, "level": "full" }, "best_any": { "variant": "editable (source numbers)", - "us": 495.7, + "us": 476.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable (source numbers)": { - "us": 495.7, + "us": 476.1, "level": "full" }, "editable": { - "us": 512.8, + "us": 476.5, "level": "full" } } @@ -9177,23 +9177,23 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 3042.2, + "us": 2650.9, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 3042.2, + "us": 2650.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 3042.2, + "us": 2650.9, "level": "full" }, "parse": { - "us": 4365.6, + "us": 3750.1, "level": "full" } } @@ -9201,23 +9201,23 @@ "yyjson": { "best": { "variant": "mut copy", - "us": 782.4, + "us": 711.2, "level": "full" }, "best_any": { "variant": "mut copy", - "us": 782.4, + "us": 711.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "mut copy": { - "us": 782.4, + "us": 711.2, "level": "full" }, "insitu (copy) + mut copy": { - "us": 783.3, + "us": 717.0, "level": "full" } } @@ -9226,14 +9226,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 519.7, + "us": 513.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 519.7, + "us": 513.0, "level": "no UTF-8" } } @@ -9241,23 +9241,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 3510.8, + "us": 3140.4, "level": "full" }, "best_any": { "variant": "generic", - "us": 3469.6, + "us": 3111.9, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 3469.6, + "us": 3111.9, "level": "partial" }, "generic (strict)": { - "us": 3510.8, + "us": 3140.4, "level": "full" } }, @@ -9269,19 +9269,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 1844.4, + "us": 1649.1, "level": "full" }, "best_any": { "variant": "parse", - "us": 1844.4, + "us": 1649.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 1844.4, + "us": 1649.1, "level": "full" } } @@ -9289,31 +9289,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1708.4, + "us": 1585.7, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1621.5, + "us": 1525.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 1621.5, + "us": 1525.0, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1708.4, + "us": 1585.7, "level": "full" }, "Document (no encoding check)": { - "us": 2117.0, + "us": 1935.3, "level": "no UTF-8" }, "Document": { - "us": 2693.6, + "us": 2635.2, "level": "full" } } @@ -9321,19 +9321,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 3752.3, + "us": 3816.4, "level": "full" }, "best_any": { "variant": "Value", - "us": 3752.3, + "us": 3816.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 3752.3, + "us": 3816.4, "level": "full" } } @@ -9341,19 +9341,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 1050.0, + "us": 1061.1, "level": "full" }, "best_any": { "variant": "Value", - "us": 1050.0, + "us": 1061.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 1050.0, + "us": 1061.1, "level": "full" } } @@ -9361,23 +9361,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 1851.6, + "us": 1793.6, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 1851.6, + "us": 1793.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 1851.6, + "us": 1793.6, "level": "full" }, "owned (copy)": { - "us": 2606.9, + "us": 2514.9, "level": "full" } } @@ -9386,24 +9386,24 @@ "citm_catalog_min": { "nlohmann json_document": { "best": { - "variant": "editable (source numbers)", - "us": 843.1, + "variant": "editable", + "us": 850.7, "level": "full" }, "best_any": { - "variant": "editable (source numbers)", - "us": 843.1, + "variant": "editable", + "us": 850.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "editable (source numbers)": { - "us": 843.1, + "editable": { + "us": 850.7, "level": "full" }, - "editable": { - "us": 847.0, + "editable (source numbers)": { + "us": 850.7, "level": "full" } } @@ -9411,23 +9411,23 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 4788.4, + "us": 4564.0, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 4788.4, + "us": 4564.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 4788.4, + "us": 4564.0, "level": "full" }, "parse": { - "us": 6248.9, + "us": 5392.4, "level": "full" } } @@ -9435,23 +9435,23 @@ "yyjson": { "best": { "variant": "insitu (copy) + mut copy", - "us": 1163.9, + "us": 1177.9, "level": "full" }, "best_any": { "variant": "insitu (copy) + mut copy", - "us": 1163.9, + "us": 1177.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) + mut copy": { - "us": 1163.9, + "us": 1177.9, "level": "full" }, "mut copy": { - "us": 1170.6, + "us": 1180.0, "level": "full" } } @@ -9460,14 +9460,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1119.8, + "us": 1104.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1119.8, + "us": 1104.2, "level": "no UTF-8" } } @@ -9475,24 +9475,24 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 5531.1, + "us": 5223.1, "level": "full" }, "best_any": { - "variant": "generic (strict)", - "us": 5531.1, - "level": "full" + "variant": "generic", + "us": 5179.1, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (strict)": { - "us": 5531.1, - "level": "full" - }, "generic": { - "us": 5616.1, + "us": 5179.1, "level": "partial" + }, + "generic (strict)": { + "us": 5223.1, + "level": "full" } }, "excluded": { @@ -9503,19 +9503,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 2187.2, + "us": 2239.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 2187.2, + "us": 2239.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 2187.2, + "us": 2239.2, "level": "full" } } @@ -9523,31 +9523,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 2346.1, + "us": 2221.7, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 2346.1, + "us": 2221.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy)": { - "us": 2346.1, + "us": 2221.7, "level": "full" }, "insitu (copy) (no encoding check)": { - "us": 2393.9, + "us": 2263.6, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 2629.7, + "us": 2605.5, "level": "no UTF-8" }, "Document": { - "us": 3245.6, + "us": 3033.3, "level": "full" } } @@ -9555,19 +9555,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 5491.4, + "us": 5854.0, "level": "full" }, "best_any": { "variant": "Value", - "us": 5491.4, + "us": 5854.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 5491.4, + "us": 5854.0, "level": "full" } } @@ -9575,19 +9575,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 2034.0, + "us": 1970.9, "level": "full" }, "best_any": { "variant": "Value", - "us": 2034.0, + "us": 1970.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 2034.0, + "us": 1970.9, "level": "full" } } @@ -9595,23 +9595,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 4140.4, + "us": 3891.2, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 4140.4, + "us": 3891.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 4140.4, + "us": 3891.2, "level": "full" }, "owned (copy)": { - "us": 5070.4, + "us": 4690.0, "level": "full" } } @@ -9623,35 +9623,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 467.6, + "us": 465.5, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 467.6, + "us": 465.5, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 481.8, + "us": 477.1, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 481.8, + "us": 477.1, "level": "full" }, "variants": { "parse + dump (source numbers)": { - "us": 467.6, + "us": 465.5, "level": "full" }, "read + dump (reused)": { - "us": 481.8, + "us": 477.1, "level": "full" }, "parse + dump": { - "us": 485.9, + "us": 481.0, "level": "full" } } @@ -9659,59 +9659,59 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 4219.4, + "us": 3860.7, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 4219.4, + "us": 3860.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 4219.4, + "us": 3860.7, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy) + write", - "us": 622.5, + "variant": "read + write", + "us": 615.9, "level": "full" }, "best_any": { - "variant": "insitu (copy) + write", - "us": 622.5, + "variant": "read + write", + "us": 615.9, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 694.5, + "us": 639.1, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 694.5, + "us": 639.1, "level": "full" }, "variants": { + "read + write": { + "us": 615.9, + "level": "full" + }, "insitu (copy) + write": { - "us": 622.5, + "us": 615.9, "level": "full" }, "read (raw numbers) + write": { - "us": 655.6, - "level": "full" - }, - "read + write": { - "us": 666.4, + "us": 618.5, "level": "full" }, "read + write (reused allocator)": { - "us": 694.5, + "us": 639.1, "level": "full" } } @@ -9719,35 +9719,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 797.4, + "us": 788.3, "level": "full" }, "best_any": { "variant": "minify", - "us": 104.8, + "us": 93.7, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 793.1, + "us": 783.2, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 793.1, + "us": 783.2, "level": "full" }, "variants": { "minify": { - "us": 104.8, + "us": 93.7, "level": "partial" }, "DOM (reused) + to_string": { - "us": 793.1, + "us": 783.2, "level": "full" }, "DOM + to_string": { - "us": 797.4, + "us": 788.3, "level": "full" } } @@ -9756,14 +9756,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 628.1, + "us": 634.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 628.1, + "us": 634.8, "level": "no UTF-8" } } @@ -9771,27 +9771,27 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 3511.2, + "us": 3268.4, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 417.3, + "us": 418.3, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 417.3, + "us": 418.3, "level": "partial" }, "generic": { - "us": 3391.9, + "us": 3206.0, "level": "partial" }, "generic (strict)": { - "us": 3511.2, + "us": 3268.4, "level": "full" } }, @@ -9803,31 +9803,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 1766.7, + "us": 1768.1, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 1766.7, + "us": 1768.1, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 1767.4, + "us": 1763.0, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 1767.4, + "us": 1763.0, "level": "full" }, "variants": { - "parse + serialize": { - "us": 1766.7, + "parser (reused) + serialize": { + "us": 1763.0, "level": "full" }, - "parser (reused) + serialize": { - "us": 1767.4, + "parse + serialize": { + "us": 1768.1, "level": "full" } } @@ -9835,55 +9835,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 2529.4, + "us": 2430.8, "level": "full" }, "best_any": { - "variant": "SAX to Writer (raw numbers) (no encoding check)", - "us": 1768.1, + "variant": "SAX to Writer (no encoding check)", + "us": 1730.5, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 2161.2, + "us": 2154.0, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 2105.7, + "us": 2026.0, "level": "no UTF-8" }, "variants": { - "SAX to Writer (raw numbers) (no encoding check)": { - "us": 1768.1, - "level": "no UTF-8" - }, "SAX to Writer (no encoding check)": { - "us": 1795.2, + "us": 1730.5, "level": "no UTF-8" }, - "Document + Writer (no encoding check)": { - "us": 2025.0, + "SAX to Writer (raw numbers) (no encoding check)": { + "us": 1749.7, "level": "no UTF-8" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 2105.7, + "us": 2026.0, + "level": "no UTF-8" + }, + "Document + Writer (no encoding check)": { + "us": 2028.7, "level": "no UTF-8" }, "Document + Writer (reused allocator)": { - "us": 2161.2, + "us": 2154.0, "level": "full" }, "SAX to Writer": { - "us": 2529.4, + "us": 2430.8, "level": "full" }, "SAX to Writer (raw numbers)": { - "us": 2621.3, + "us": 2451.6, "level": "full" }, "Document + Writer": { - "us": 2847.1, + "us": 2751.0, "level": "full" } } @@ -9891,19 +9891,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 4220.0, + "us": 4012.4, "level": "full" }, "best_any": { "variant": "Value", - "us": 4220.0, + "us": 4012.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 4220.0, + "us": 4012.4, "level": "full" } } @@ -9911,19 +9911,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 1003.1, + "us": 1000.4, "level": "full" }, "best_any": { "variant": "Value", - "us": 1003.1, + "us": 1000.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 1003.1, + "us": 1000.4, "level": "full" } } @@ -9931,19 +9931,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 1877.7, + "us": 1888.9, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 1877.7, + "us": 1888.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 1877.7, + "us": 1888.9, "level": "full" } } @@ -9953,35 +9953,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 1067.3, + "us": 1017.1, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 1067.3, + "us": 1017.1, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 1073.1, + "us": 1029.7, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 1073.1, + "us": 1029.7, "level": "full" }, "variants": { "parse + dump (source numbers)": { - "us": 1067.3, + "us": 1017.1, "level": "full" }, "read + dump (reused)": { - "us": 1073.1, + "us": 1029.7, "level": "full" }, "parse + dump": { - "us": 1104.4, + "us": 1033.5, "level": "full" } } @@ -9989,59 +9989,59 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 6863.7, + "us": 5772.1, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 6863.7, + "us": 5772.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 6863.7, + "us": 5772.1, "level": "full" } } }, "yyjson": { "best": { - "variant": "read + write", - "us": 1323.6, + "variant": "read (raw numbers) + write", + "us": 1223.7, "level": "full" }, "best_any": { - "variant": "read + write", - "us": 1323.6, + "variant": "read (raw numbers) + write", + "us": 1223.7, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 1407.2, + "us": 1296.1, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 1407.2, + "us": 1296.1, "level": "full" }, "variants": { - "read + write": { - "us": 1323.6, - "level": "full" - }, "read (raw numbers) + write": { - "us": 1333.8, + "us": 1223.7, "level": "full" }, "insitu (copy) + write": { - "us": 1388.5, + "us": 1272.6, + "level": "full" + }, + "read + write": { + "us": 1273.2, "level": "full" }, "read + write (reused allocator)": { - "us": 1407.2, + "us": 1296.1, "level": "full" } } @@ -10049,35 +10049,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 1389.1, + "us": 1302.5, "level": "full" }, "best_any": { "variant": "minify", - "us": 263.8, + "us": 278.9, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 1430.7, + "us": 1295.5, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 1430.7, + "us": 1295.5, "level": "full" }, "variants": { "minify": { - "us": 263.8, + "us": 278.9, "level": "partial" }, - "DOM + to_string": { - "us": 1389.1, + "DOM (reused) + to_string": { + "us": 1295.5, "level": "full" }, - "DOM (reused) + to_string": { - "us": 1430.7, + "DOM + to_string": { + "us": 1302.5, "level": "full" } } @@ -10086,14 +10086,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 1538.0, + "us": 1427.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 1538.0, + "us": 1427.4, "level": "no UTF-8" } } @@ -10101,28 +10101,28 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 6659.6, + "us": 6056.7, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 1435.7, + "us": 1291.8, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 1435.7, + "us": 1291.8, + "level": "partial" + }, + "generic": { + "us": 5902.0, "level": "partial" }, "generic (strict)": { - "us": 6659.6, + "us": 6056.7, "level": "full" - }, - "generic": { - "us": 6873.9, - "level": "partial" } }, "excluded": { @@ -10133,31 +10133,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 2687.2, + "us": 2493.5, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 2687.2, + "us": 2493.5, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 2635.9, + "us": 2492.5, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 2635.9, + "us": 2492.5, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 2635.9, + "us": 2492.5, "level": "full" }, "parse + serialize": { - "us": 2687.2, + "us": 2493.5, "level": "full" } } @@ -10165,55 +10165,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 3096.6, + "us": 2815.1, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 2690.2, + "us": 2395.0, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 3075.8, + "us": 2823.6, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator)", - "us": 3075.8, + "us": 2823.6, "level": "full" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 2690.2, + "us": 2395.0, "level": "no UTF-8" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 2913.8, + "us": 2652.0, "level": "no UTF-8" }, - "Document + Writer (reused allocator)": { - "us": 3075.8, - "level": "full" - }, "Document + Writer (no encoding check)": { - "us": 3077.4, + "us": 2808.6, "level": "no UTF-8" }, "SAX to Writer": { - "us": 3096.6, + "us": 2815.1, + "level": "full" + }, + "Document + Writer (reused allocator)": { + "us": 2823.6, "level": "full" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 3139.3, + "us": 2852.3, "level": "no UTF-8" }, "SAX to Writer (raw numbers)": { - "us": 3472.6, + "us": 3060.9, "level": "full" }, "Document + Writer": { - "us": 3587.5, + "us": 3236.3, "level": "full" } } @@ -10221,19 +10221,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 6875.5, + "us": 6582.6, "level": "full" }, "best_any": { "variant": "Value", - "us": 6875.5, + "us": 6582.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 6875.5, + "us": 6582.6, "level": "full" } } @@ -10241,19 +10241,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 2174.1, + "us": 2096.9, "level": "full" }, "best_any": { "variant": "Value", - "us": 2174.1, + "us": 2096.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 2174.1, + "us": 2096.9, "level": "full" } } @@ -10261,19 +10261,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 4655.1, + "us": 4196.0, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 4655.1, + "us": 4196.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 4655.1, + "us": 4196.0, "level": "full" } } @@ -10283,35 +10283,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 2323.6, + "us": 2153.0, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 2323.6, + "us": 2153.0, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 5243.4, + "us": 5187.2, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 5243.4, + "us": 5187.2, "level": "full" }, "variants": { "parse + dump (source numbers)": { - "us": 2323.6, - "level": "full" - }, - "read + dump (reused)": { - "us": 5243.4, + "us": 2153.0, "level": "full" }, "parse + dump": { - "us": 5299.9, + "us": 5162.7, + "level": "full" + }, + "read + dump (reused)": { + "us": 5187.2, "level": "full" } } @@ -10319,19 +10319,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 15620.0, + "us": 14812.2, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 15620.0, + "us": 14812.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 15620.0, + "us": 14812.2, "level": "full" } } @@ -10339,39 +10339,39 @@ "yyjson": { "best": { "variant": "read (raw numbers) + write", - "us": 3013.9, + "us": 2874.5, "level": "full" }, "best_any": { "variant": "read (raw numbers) + write", - "us": 3013.9, + "us": 2874.5, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 6614.5, + "us": 6636.6, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 6614.5, + "us": 6636.6, "level": "full" }, "variants": { "read (raw numbers) + write": { - "us": 3013.9, - "level": "full" - }, - "read + write (reused allocator)": { - "us": 6614.5, - "level": "full" - }, - "insitu (copy) + write": { - "us": 6687.0, + "us": 2874.5, "level": "full" }, "read + write": { - "us": 6867.5, + "us": 6621.0, + "level": "full" + }, + "read + write (reused allocator)": { + "us": 6636.6, + "level": "full" + }, + "insitu (copy) + write": { + "us": 6703.2, "level": "full" } } @@ -10379,35 +10379,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 8834.2, + "us": 8425.7, "level": "full" }, "best_any": { "variant": "minify", - "us": 371.2, + "us": 312.6, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 8997.4, + "us": 8502.2, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 8997.4, + "us": 8502.2, "level": "full" }, "variants": { "minify": { - "us": 371.2, + "us": 312.6, "level": "partial" }, "DOM + to_string": { - "us": 8834.2, + "us": 8425.7, "level": "full" }, "DOM (reused) + to_string": { - "us": 8997.4, + "us": 8502.2, "level": "full" } } @@ -10416,14 +10416,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 8644.0, + "us": 8228.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 8644.0, + "us": 8228.0, "level": "no UTF-8" } } @@ -10431,28 +10431,28 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 22202.2, + "us": 20638.6, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 2655.6, + "us": 2650.2, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 2655.6, - "level": "partial" - }, - "generic": { - "us": 21906.8, + "us": 2650.2, "level": "partial" }, "generic (strict)": { - "us": 22202.2, + "us": 20638.6, "level": "full" + }, + "generic": { + "us": 21066.1, + "level": "partial" } }, "excluded": { @@ -10463,31 +10463,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 12513.6, + "us": 12141.0, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 12513.6, + "us": 12141.0, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 12555.8, + "us": 12161.6, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 12555.8, + "us": 12161.6, "level": "full" }, "variants": { "parse + serialize": { - "us": 12513.6, + "us": 12141.0, "level": "full" }, "parser (reused) + serialize": { - "us": 12555.8, + "us": 12161.6, "level": "full" } } @@ -10495,75 +10495,75 @@ "RapidJSON": { "best": { "variant": "SAX to Writer (raw numbers)", - "us": 14364.7, + "us": 14121.1, "level": "full" }, "best_any": { "variant": "SAX to Writer (raw numbers) (no encoding check)", - "us": 14222.1, + "us": 14118.4, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 20708.5, + "us": 20414.1, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator)", - "us": 20708.5, + "us": 20414.1, "level": "full" }, "variants": { "SAX to Writer (raw numbers) (no encoding check)": { - "us": 14222.1, + "us": 14118.4, "level": "no UTF-8" }, "SAX to Writer (raw numbers)": { - "us": 14364.7, + "us": 14121.1, "level": "full" }, "Document + Writer (reused allocator)": { - "us": 20708.5, + "us": 20414.1, "level": "full" }, - "SAX to Writer (no encoding check)": { - "us": 21058.3, - "level": "no UTF-8" - }, - "Document + Writer (no encoding check)": { - "us": 21314.4, - "level": "no UTF-8" - }, "Document + Writer": { - "us": 21346.8, + "us": 20693.2, "level": "full" }, - "Document + Writer (reused allocator) (no encoding check)": { - "us": 21468.2, - "level": "no UTF-8" - }, "SAX to Writer": { - "us": 22214.3, + "us": 20703.0, "level": "full" + }, + "Document + Writer (no encoding check)": { + "us": 20708.9, + "level": "no UTF-8" + }, + "Document + Writer (reused allocator) (no encoding check)": { + "us": 20851.9, + "level": "no UTF-8" + }, + "SAX to Writer (no encoding check)": { + "us": 20921.4, + "level": "no UTF-8" } } }, "serde_json": { "best": { "variant": "Value", - "us": 17275.8, + "us": 17306.0, "level": "full" }, "best_any": { "variant": "Value", - "us": 17275.8, + "us": 17306.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 17275.8, + "us": 17306.0, "level": "full" } } @@ -10571,19 +10571,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 7753.0, + "us": 7795.3, "level": "full" }, "best_any": { "variant": "Value", - "us": 7753.0, + "us": 7795.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 7753.0, + "us": 7795.3, "level": "full" } } @@ -10591,19 +10591,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 15954.8, + "us": 15716.2, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 15954.8, + "us": 15716.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 15954.8, + "us": 15716.2, "level": "full" } } @@ -10613,35 +10613,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 156389.3, + "us": 149649.0, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 156389.3, + "us": 149649.0, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 114803.6, + "us": 112257.2, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 114803.6, + "us": 112257.2, "level": "full" }, "variants": { "read + dump (reused)": { - "us": 114803.6, + "us": 112257.2, "level": "full" }, "parse + dump (source numbers)": { - "us": 156389.3, + "us": 149649.0, "level": "full" }, "parse + dump": { - "us": 157398.8, + "us": 151260.3, "level": "full" } } @@ -10649,59 +10649,59 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 724748.0, + "us": 546636.9, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 724748.0, + "us": 546636.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 724748.0, + "us": 546636.9, "level": "full" } } }, "yyjson": { "best": { - "variant": "read (raw numbers) + write", - "us": 214967.4, + "variant": "insitu (copy) + write", + "us": 203508.3, "level": "full" }, "best_any": { - "variant": "read (raw numbers) + write", - "us": 214967.4, + "variant": "insitu (copy) + write", + "us": 203508.3, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 99662.6, + "us": 99436.6, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 99662.6, + "us": 99436.6, "level": "full" }, "variants": { "read + write (reused allocator)": { - "us": 99662.6, - "level": "full" - }, - "read (raw numbers) + write": { - "us": 214967.4, + "us": 99436.6, "level": "full" }, "insitu (copy) + write": { - "us": 215235.5, + "us": 203508.3, "level": "full" }, "read + write": { - "us": 215503.9, + "us": 203955.3, + "level": "full" + }, + "read (raw numbers) + write": { + "us": 206926.7, "level": "full" } } @@ -10709,35 +10709,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 306424.6, + "us": 301627.4, "level": "full" }, "best_any": { "variant": "minify", - "us": 49313.3, + "us": 46982.6, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 240938.3, + "us": 230436.4, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 240938.3, + "us": 230436.4, "level": "full" }, "variants": { "minify": { - "us": 49313.3, + "us": 46982.6, "level": "partial" }, "DOM (reused) + to_string": { - "us": 240938.3, + "us": 230436.4, "level": "full" }, "DOM + to_string": { - "us": 306424.6, + "us": 301627.4, "level": "full" } } @@ -10746,14 +10746,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 182073.9, + "us": 175214.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 182073.9, + "us": 175214.5, "level": "no UTF-8" } } @@ -10761,27 +10761,27 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 500412.5, + "us": 457013.4, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 100316.2, + "us": 93423.4, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 100316.2, + "us": 93423.4, "level": "partial" }, "generic": { - "us": 497453.7, + "us": 432551.5, "level": "partial" }, "generic (strict)": { - "us": 500412.5, + "us": 457013.4, "level": "full" } }, @@ -10793,87 +10793,87 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 311858.0, + "us": 330129.3, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 311858.0, + "us": 330129.3, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 261887.5, + "us": 269479.4, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 261887.5, + "us": 269479.4, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 261887.5, + "us": 269479.4, "level": "full" }, "parse + serialize": { - "us": 311858.0, + "us": 330129.3, "level": "full" } } }, "RapidJSON": { "best": { - "variant": "SAX to Writer (raw numbers)", - "us": 376880.3, + "variant": "SAX to Writer", + "us": 375304.4, "level": "full" }, "best_any": { - "variant": "SAX to Writer (raw numbers) (no encoding check)", - "us": 278595.6, + "variant": "SAX to Writer (no encoding check)", + "us": 274873.1, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 319067.0, + "us": 311518.0, "level": "full" }, "best_reused_any": { - "variant": "Document + Writer (reused allocator)", - "us": 319067.0, - "level": "full" + "variant": "Document + Writer (reused allocator) (no encoding check)", + "us": 311291.9, + "level": "no UTF-8" }, "variants": { - "SAX to Writer (raw numbers) (no encoding check)": { - "us": 278595.6, + "SAX to Writer (no encoding check)": { + "us": 274873.1, "level": "no UTF-8" }, - "SAX to Writer (no encoding check)": { - "us": 281208.4, + "SAX to Writer (raw numbers) (no encoding check)": { + "us": 278774.2, "level": "no UTF-8" }, "Document + Writer (no encoding check)": { - "us": 316430.1, + "us": 307269.7, + "level": "no UTF-8" + }, + "Document + Writer (reused allocator) (no encoding check)": { + "us": 311291.9, "level": "no UTF-8" }, "Document + Writer (reused allocator)": { - "us": 319067.0, - "level": "full" - }, - "Document + Writer (reused allocator) (no encoding check)": { - "us": 320232.6, - "level": "no UTF-8" - }, - "SAX to Writer (raw numbers)": { - "us": 376880.3, + "us": 311518.0, "level": "full" }, "SAX to Writer": { - "us": 379476.9, + "us": 375304.4, + "level": "full" + }, + "SAX to Writer (raw numbers)": { + "us": 377632.0, "level": "full" }, "Document + Writer": { - "us": 415014.4, + "us": 405032.5, "level": "full" } } @@ -10881,19 +10881,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 628191.9, + "us": 509701.9, "level": "full" }, "best_any": { "variant": "Value", - "us": 628191.9, + "us": 509701.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 628191.9, + "us": 509701.9, "level": "full" } } @@ -10901,19 +10901,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 217354.2, + "us": 215280.2, "level": "full" }, "best_any": { "variant": "Value", - "us": 217354.2, + "us": 215280.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 217354.2, + "us": 215280.2, "level": "full" } } @@ -10921,19 +10921,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 419412.0, + "us": 414376.9, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 419412.0, + "us": 414376.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 419412.0, + "us": 414376.9, "level": "full" } } @@ -10942,35 +10942,35 @@ "status": { "nlohmann json_document": { "best": { - "variant": "parse + dump", - "us": 2.5, + "variant": "parse + dump (source numbers)", + "us": 2.4, "level": "full" }, "best_any": { - "variant": "parse + dump", - "us": 2.5, + "variant": "parse + dump (source numbers)", + "us": 2.4, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 2.5, + "us": 2.4, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 2.5, + "us": 2.4, "level": "full" }, "variants": { - "parse + dump": { - "us": 2.5, - "level": "full" - }, "parse + dump (source numbers)": { - "us": 2.5, + "us": 2.4, "level": "full" }, "read + dump (reused)": { + "us": 2.4, + "level": "full" + }, + "parse + dump": { "us": 2.5, "level": "full" } @@ -10979,19 +10979,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 16.4, + "us": 19.4, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 16.4, + "us": 19.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 16.4, + "us": 19.4, "level": "full" } } @@ -11039,7 +11039,7 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 4.8, + "us": 4.7, "level": "full" }, "best_any": { @@ -11049,12 +11049,12 @@ }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 4.5, + "us": 4.3, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 4.5, + "us": 4.3, "level": "full" }, "variants": { @@ -11063,11 +11063,11 @@ "level": "partial" }, "DOM (reused) + to_string": { - "us": 4.5, + "us": 4.3, "level": "full" }, "DOM + to_string": { - "us": 4.8, + "us": 4.7, "level": "full" } } @@ -11091,7 +11091,7 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 15.4, + "us": 13.9, "level": "full" }, "best_any": { @@ -11107,11 +11107,11 @@ "level": "partial" }, "generic": { - "us": 15.1, + "us": 13.5, "level": "partial" }, "generic (strict)": { - "us": 15.4, + "us": 13.9, "level": "full" } }, @@ -11123,31 +11123,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 8.6, + "us": 8.7, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 8.6, + "us": 8.7, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 8.4, + "us": 8.3, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 8.4, + "us": 8.3, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 8.4, + "us": 8.3, "level": "full" }, "parse + serialize": { - "us": 8.6, + "us": 8.7, "level": "full" } } @@ -11155,55 +11155,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 14.0, + "us": 13.5, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 9.6, + "us": 9.5, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 12.2, + "us": 11.4, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 11.5, + "us": 10.9, "level": "no UTF-8" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 9.6, + "us": 9.5, "level": "no UTF-8" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 10.1, - "level": "no UTF-8" - }, - "Document + Writer (no encoding check)": { - "us": 11.5, + "us": 10.0, "level": "no UTF-8" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 11.5, + "us": 10.9, + "level": "no UTF-8" + }, + "Document + Writer (no encoding check)": { + "us": 11.3, "level": "no UTF-8" }, "Document + Writer (reused allocator)": { - "us": 12.2, + "us": 11.4, "level": "full" }, "SAX to Writer": { - "us": 14.0, + "us": 13.5, "level": "full" }, "SAX to Writer (raw numbers)": { - "us": 14.0, + "us": 13.7, "level": "full" }, "Document + Writer": { - "us": 15.9, + "us": 15.5, "level": "full" } } @@ -11211,19 +11211,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 16.7, + "us": 16.5, "level": "full" }, "best_any": { "variant": "Value", - "us": 16.7, + "us": 16.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 16.7, + "us": 16.5, "level": "full" } } @@ -11231,19 +11231,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 5.5, + "us": 5.4, "level": "full" }, "best_any": { "variant": "Value", - "us": 5.5, + "us": 5.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 5.5, + "us": 5.4, "level": "full" } } @@ -11251,19 +11251,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 9.5, + "us": 9.2, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 9.5, + "us": 9.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 9.5, + "us": 9.2, "level": "full" } } @@ -11273,35 +11273,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 438.8, + "us": 419.1, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 438.8, + "us": 419.1, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 460.8, + "us": 441.1, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 460.8, + "us": 441.1, "level": "full" }, "variants": { "parse + dump (source numbers)": { - "us": 438.8, - "level": "full" - }, - "read + dump (reused)": { - "us": 460.8, + "us": 419.1, "level": "full" }, "parse + dump": { - "us": 473.7, + "us": 426.4, + "level": "full" + }, + "read + dump (reused)": { + "us": 441.1, "level": "full" } } @@ -11309,59 +11309,59 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 4208.4, + "us": 3807.1, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 4208.4, + "us": 3807.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 4208.4, + "us": 3807.1, "level": "full" } } }, "yyjson": { "best": { - "variant": "read (raw numbers) + write", - "us": 581.7, + "variant": "read + write", + "us": 557.8, "level": "full" }, "best_any": { - "variant": "read (raw numbers) + write", - "us": 581.7, + "variant": "read + write", + "us": 557.8, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 606.3, + "us": 553.1, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 606.3, + "us": 553.1, "level": "full" }, "variants": { - "read (raw numbers) + write": { - "us": 581.7, + "read + write (reused allocator)": { + "us": 553.1, "level": "full" }, "read + write": { - "us": 581.9, + "us": 557.8, "level": "full" }, "insitu (copy) + write": { - "us": 605.7, + "us": 609.9, "level": "full" }, - "read + write (reused allocator)": { - "us": 606.3, + "read (raw numbers) + write": { + "us": 610.9, "level": "full" } } @@ -11369,35 +11369,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 866.5, + "us": 770.3, "level": "full" }, "best_any": { "variant": "minify", - "us": 68.4, + "us": 68.3, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 848.5, + "us": 782.8, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 848.5, + "us": 782.8, "level": "full" }, "variants": { "minify": { - "us": 68.4, + "us": 68.3, "level": "partial" }, - "DOM (reused) + to_string": { - "us": 848.5, + "DOM + to_string": { + "us": 770.3, "level": "full" }, - "DOM + to_string": { - "us": 866.5, + "DOM (reused) + to_string": { + "us": 782.8, "level": "full" } } @@ -11406,14 +11406,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 554.6, + "us": 542.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 554.6, + "us": 542.4, "level": "no UTF-8" } } @@ -11421,27 +11421,27 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 3462.8, + "us": 3173.4, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 376.3, + "us": 353.4, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 376.3, + "us": 353.4, "level": "partial" }, "generic": { - "us": 3456.7, + "us": 3011.9, "level": "partial" }, "generic (strict)": { - "us": 3462.8, + "us": 3173.4, "level": "full" } }, @@ -11453,87 +11453,87 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 1802.9, + "us": 1661.9, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 1802.9, + "us": 1661.9, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 1846.9, + "us": 1670.3, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 1846.9, + "us": 1670.3, "level": "full" }, "variants": { "parse + serialize": { - "us": 1802.9, + "us": 1661.9, "level": "full" }, "parser (reused) + serialize": { - "us": 1846.9, + "us": 1670.3, "level": "full" } } }, "RapidJSON": { "best": { - "variant": "SAX to Writer", - "us": 2671.0, + "variant": "SAX to Writer (raw numbers)", + "us": 2435.3, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 1892.9, + "us": 1713.2, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 2390.7, + "us": 2114.2, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 2172.6, + "us": 1957.8, "level": "no UTF-8" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 1892.9, + "us": 1713.2, "level": "no UTF-8" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 1950.5, - "level": "no UTF-8" - }, - "Document + Writer (no encoding check)": { - "us": 2172.3, + "us": 1754.2, "level": "no UTF-8" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 2172.6, + "us": 1957.8, + "level": "no UTF-8" + }, + "Document + Writer (no encoding check)": { + "us": 2006.6, "level": "no UTF-8" }, "Document + Writer (reused allocator)": { - "us": 2390.7, - "level": "full" - }, - "SAX to Writer": { - "us": 2671.0, + "us": 2114.2, "level": "full" }, "SAX to Writer (raw numbers)": { - "us": 2756.6, + "us": 2435.3, + "level": "full" + }, + "SAX to Writer": { + "us": 2504.7, "level": "full" }, "Document + Writer": { - "us": 3045.0, + "us": 2755.6, "level": "full" } } @@ -11541,19 +11541,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 4035.0, + "us": 3887.6, "level": "full" }, "best_any": { "variant": "Value", - "us": 4035.0, + "us": 3887.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 4035.0, + "us": 3887.6, "level": "full" } } @@ -11561,19 +11561,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 860.5, + "us": 864.3, "level": "full" }, "best_any": { "variant": "Value", - "us": 860.5, + "us": 864.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 860.5, + "us": 864.3, "level": "full" } } @@ -11581,19 +11581,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 1851.3, + "us": 1839.7, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 1851.3, + "us": 1839.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 1851.3, + "us": 1839.7, "level": "full" } } @@ -11603,35 +11603,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 734.3, + "us": 741.3, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 734.3, + "us": 741.3, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 762.7, + "us": 762.9, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 762.7, + "us": 762.9, "level": "full" }, "variants": { "parse + dump (source numbers)": { - "us": 734.3, - "level": "full" - }, - "read + dump (reused)": { - "us": 762.7, + "us": 741.3, "level": "full" }, "parse + dump": { - "us": 764.8, + "us": 762.8, + "level": "full" + }, + "read + dump (reused)": { + "us": 762.9, "level": "full" } } @@ -11639,19 +11639,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 6074.2, + "us": 5322.5, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 6074.2, + "us": 5322.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 6074.2, + "us": 5322.5, "level": "full" } } @@ -11659,39 +11659,39 @@ "yyjson": { "best": { "variant": "read (raw numbers) + write", - "us": 779.3, + "us": 776.2, "level": "full" }, "best_any": { "variant": "read (raw numbers) + write", - "us": 779.3, + "us": 776.2, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 823.9, + "us": 813.9, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 823.9, + "us": 813.9, "level": "full" }, "variants": { "read (raw numbers) + write": { - "us": 779.3, - "level": "full" - }, - "insitu (copy) + write": { - "us": 808.2, + "us": 776.2, "level": "full" }, "read + write": { - "us": 813.7, + "us": 802.3, + "level": "full" + }, + "insitu (copy) + write": { + "us": 813.8, "level": "full" }, "read + write (reused allocator)": { - "us": 823.9, + "us": 813.9, "level": "full" } } @@ -11699,35 +11699,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 1149.9, + "us": 1140.8, "level": "full" }, "best_any": { "variant": "minify", - "us": 78.6, + "us": 69.3, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 1175.4, + "us": 1137.3, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 1175.4, + "us": 1137.3, "level": "full" }, "variants": { "minify": { - "us": 78.6, + "us": 69.3, "level": "partial" }, - "DOM + to_string": { - "us": 1149.9, + "DOM (reused) + to_string": { + "us": 1137.3, "level": "full" }, - "DOM (reused) + to_string": { - "us": 1175.4, + "DOM + to_string": { + "us": 1140.8, "level": "full" } } @@ -11736,14 +11736,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 1099.8, + "us": 1096.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 1099.8, + "us": 1096.4, "level": "no UTF-8" } } @@ -11751,28 +11751,28 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 5436.9, + "us": 5149.8, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 647.8, + "us": 646.2, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 647.8, + "us": 646.2, + "level": "partial" + }, + "generic": { + "us": 5092.3, "level": "partial" }, "generic (strict)": { - "us": 5436.9, + "us": 5149.8, "level": "full" - }, - "generic": { - "us": 5513.1, - "level": "partial" } }, "excluded": { @@ -11783,31 +11783,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 2236.1, + "us": 2211.5, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 2236.1, + "us": 2211.5, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 2213.2, + "us": 2216.8, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 2213.2, + "us": 2216.8, "level": "full" }, "variants": { - "parser (reused) + serialize": { - "us": 2213.2, + "parse + serialize": { + "us": 2211.5, "level": "full" }, - "parse + serialize": { - "us": 2236.1, + "parser (reused) + serialize": { + "us": 2216.8, "level": "full" } } @@ -11815,55 +11815,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 2624.6, + "us": 2604.9, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 2212.3, + "us": 2170.7, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 2704.4, + "us": 2604.1, "level": "full" }, "best_reused_any": { - "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 2687.7, - "level": "no UTF-8" + "variant": "Document + Writer (reused allocator)", + "us": 2604.1, + "level": "full" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 2212.3, + "us": 2170.7, "level": "no UTF-8" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 2533.7, + "us": 2454.5, "level": "no UTF-8" }, - "SAX to Writer": { - "us": 2624.6, - "level": "full" - }, "Document + Writer (no encoding check)": { - "us": 2635.9, - "level": "no UTF-8" - }, - "Document + Writer (reused allocator) (no encoding check)": { - "us": 2687.7, + "us": 2590.1, "level": "no UTF-8" }, "Document + Writer (reused allocator)": { - "us": 2704.4, + "us": 2604.1, "level": "full" }, + "SAX to Writer": { + "us": 2604.9, + "level": "full" + }, + "Document + Writer (reused allocator) (no encoding check)": { + "us": 2665.9, + "level": "no UTF-8" + }, "SAX to Writer (raw numbers)": { - "us": 2952.7, + "us": 2810.3, "level": "full" }, "Document + Writer": { - "us": 3144.4, + "us": 3063.0, "level": "full" } } @@ -11871,19 +11871,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 5949.5, + "us": 5737.6, "level": "full" }, "best_any": { "variant": "Value", - "us": 5949.5, + "us": 5737.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 5949.5, + "us": 5737.6, "level": "full" } } @@ -11891,19 +11891,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 1731.3, + "us": 1729.0, "level": "full" }, "best_any": { "variant": "Value", - "us": 1731.3, + "us": 1729.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 1731.3, + "us": 1729.0, "level": "full" } } @@ -11911,19 +11911,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 4193.3, + "us": 3903.9, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 4193.3, + "us": 3903.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 4193.3, + "us": 3903.9, "level": "full" } } @@ -11935,23 +11935,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 141.4, + "us": 138.9, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 141.4, + "us": 138.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 141.4, + "us": 138.9, "level": "n/a" }, "dump": { - "us": 157.7, + "us": 155.1, "level": "n/a" } } @@ -11959,19 +11959,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 426.8, + "us": 424.3, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 426.8, + "us": 424.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 426.8, + "us": 424.3, "level": "n/a" } } @@ -11979,19 +11979,19 @@ "yyjson": { "best": { "variant": "write", - "us": 215.1, + "us": 187.2, "level": "n/a" }, "best_any": { "variant": "write", - "us": 215.1, + "us": 187.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 215.1, + "us": 187.2, "level": "n/a" } } @@ -11999,19 +11999,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 461.0, + "us": 463.4, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 461.0, + "us": 463.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 461.0, + "us": 463.4, "level": "n/a" } } @@ -12019,19 +12019,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 685.7, + "us": 636.9, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 685.7, + "us": 636.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 685.7, + "us": 636.9, "level": "n/a" } } @@ -12039,19 +12039,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 254.1, + "us": 250.3, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 254.1, + "us": 250.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 254.1, + "us": 250.3, "level": "n/a" } } @@ -12059,23 +12059,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 379.5, + "us": 380.4, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 379.5, + "us": 380.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 379.5, + "us": 380.4, "level": "n/a" }, "generic (strict)": { - "us": 413.5, + "us": 422.4, "level": "n/a" } }, @@ -12087,19 +12087,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 451.7, + "us": 454.6, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 451.7, + "us": 454.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 451.7, + "us": 454.6, "level": "n/a" } } @@ -12107,19 +12107,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 559.5, + "us": 549.8, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 559.5, + "us": 549.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 559.5, + "us": 549.8, "level": "n/a" } } @@ -12127,19 +12127,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 445.3, + "us": 434.3, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 445.3, + "us": 434.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 445.3, + "us": 434.3, "level": "n/a" } } @@ -12147,19 +12147,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 597.0, + "us": 582.5, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 597.0, + "us": 582.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 597.0, + "us": 582.5, "level": "n/a" } } @@ -12169,23 +12169,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 229.9, + "us": 231.8, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 229.9, + "us": 231.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 229.9, + "us": 231.8, "level": "n/a" }, "dump": { - "us": 254.8, + "us": 251.4, "level": "n/a" } } @@ -12193,19 +12193,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 613.0, + "us": 656.5, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 613.0, + "us": 656.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 613.0, + "us": 656.5, "level": "n/a" } } @@ -12213,19 +12213,19 @@ "yyjson": { "best": { "variant": "write", - "us": 319.0, + "us": 333.4, "level": "n/a" }, "best_any": { "variant": "write", - "us": 319.0, + "us": 333.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 319.0, + "us": 333.4, "level": "n/a" } } @@ -12233,19 +12233,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 590.4, + "us": 586.0, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 590.4, + "us": 586.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 590.4, + "us": 586.0, "level": "n/a" } } @@ -12253,19 +12253,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 979.9, + "us": 983.1, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 979.9, + "us": 983.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 979.9, + "us": 983.1, "level": "n/a" } } @@ -12273,19 +12273,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 509.7, + "us": 512.1, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 509.7, + "us": 512.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 509.7, + "us": 512.1, "level": "n/a" } } @@ -12293,23 +12293,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 714.2, + "us": 733.2, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 714.2, + "us": 733.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 714.2, + "us": 733.2, "level": "n/a" }, "generic (strict)": { - "us": 741.6, + "us": 780.1, "level": "n/a" } }, @@ -12321,19 +12321,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 824.8, + "us": 837.1, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 824.8, + "us": 837.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 824.8, + "us": 837.1, "level": "n/a" } } @@ -12341,19 +12341,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 848.0, + "us": 887.3, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 848.0, + "us": 887.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 848.0, + "us": 887.3, "level": "n/a" } } @@ -12361,19 +12361,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 931.3, + "us": 927.2, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 931.3, + "us": 927.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 931.3, + "us": 927.2, "level": "n/a" } } @@ -12381,19 +12381,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 808.9, + "us": 799.5, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 808.9, + "us": 799.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 808.9, + "us": 799.5, "level": "n/a" } } @@ -12403,23 +12403,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 834.1, + "us": 834.6, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 834.1, + "us": 834.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 834.1, + "us": 834.6, "level": "n/a" }, "dump": { - "us": 3956.9, + "us": 3843.5, "level": "n/a" } } @@ -12427,19 +12427,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 4150.2, + "us": 3869.7, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 4150.2, + "us": 3869.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 4150.2, + "us": 3869.7, "level": "n/a" } } @@ -12447,19 +12447,19 @@ "yyjson": { "best": { "variant": "write", - "us": 3367.3, + "us": 3343.2, "level": "n/a" }, "best_any": { "variant": "write", - "us": 3367.3, + "us": 3343.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 3367.3, + "us": 3343.2, "level": "n/a" } } @@ -12467,19 +12467,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 5868.3, + "us": 5626.1, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 5868.3, + "us": 5626.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 5868.3, + "us": 5626.1, "level": "n/a" } } @@ -12487,19 +12487,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 9131.9, + "us": 8995.8, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 9131.9, + "us": 8995.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 9131.9, + "us": 8995.8, "level": "n/a" } } @@ -12507,43 +12507,43 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 5355.7, + "us": 5097.8, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 5355.7, + "us": 5097.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 5355.7, + "us": 5097.8, "level": "n/a" } } }, "Glaze": { "best": { - "variant": "generic (strict)", - "us": 4135.2, + "variant": "generic", + "us": 4017.0, "level": "n/a" }, "best_any": { - "variant": "generic (strict)", - "us": 4135.2, + "variant": "generic", + "us": 4017.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (strict)": { - "us": 4135.2, + "generic": { + "us": 4017.0, "level": "n/a" }, - "generic": { - "us": 4151.8, + "generic (strict)": { + "us": 4018.0, "level": "n/a" } }, @@ -12555,19 +12555,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 5580.4, + "us": 5472.0, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 5580.4, + "us": 5472.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 5580.4, + "us": 5472.0, "level": "n/a" } } @@ -12575,19 +12575,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 3963.8, + "us": 4005.1, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 3963.8, + "us": 4005.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 3963.8, + "us": 4005.1, "level": "n/a" } } @@ -12595,19 +12595,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 4047.8, + "us": 3987.3, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 4047.8, + "us": 3987.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 4047.8, + "us": 3987.3, "level": "n/a" } } @@ -12615,19 +12615,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 4816.6, + "us": 5146.6, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 4816.6, + "us": 5146.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 4816.6, + "us": 5146.6, "level": "n/a" } } @@ -12637,23 +12637,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 69351.9, + "us": 69129.2, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 69351.9, + "us": 69129.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 69351.9, + "us": 69129.2, "level": "n/a" }, "dump": { - "us": 69975.1, + "us": 70826.6, "level": "n/a" } } @@ -12661,19 +12661,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 113964.8, + "us": 117711.6, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 113964.8, + "us": 117711.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 113964.8, + "us": 117711.6, "level": "n/a" } } @@ -12681,19 +12681,19 @@ "yyjson": { "best": { "variant": "write", - "us": 66592.7, + "us": 68342.1, "level": "n/a" }, "best_any": { "variant": "write", - "us": 66592.7, + "us": 68342.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 66592.7, + "us": 68342.1, "level": "n/a" } } @@ -12701,19 +12701,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 176988.4, + "us": 185383.7, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 176988.4, + "us": 185383.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 176988.4, + "us": 185383.7, "level": "n/a" } } @@ -12721,19 +12721,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 132234.3, + "us": 130098.9, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 132234.3, + "us": 130098.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 132234.3, + "us": 130098.9, "level": "n/a" } } @@ -12741,19 +12741,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 72110.4, + "us": 69815.0, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 72110.4, + "us": 69815.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 72110.4, + "us": 69815.0, "level": "n/a" } } @@ -12761,23 +12761,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 133035.6, + "us": 133545.1, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 133035.6, + "us": 133545.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 133035.6, + "us": 133545.1, "level": "n/a" }, "generic (strict)": { - "us": 143156.2, + "us": 146897.6, "level": "n/a" } }, @@ -12789,19 +12789,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 126954.8, + "us": 144557.4, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 126954.8, + "us": 144557.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 126954.8, + "us": 144557.4, "level": "n/a" } } @@ -12809,19 +12809,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 129472.9, + "us": 134162.6, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 129472.9, + "us": 134162.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 129472.9, + "us": 134162.6, "level": "n/a" } } @@ -12829,19 +12829,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 104487.1, + "us": 109175.6, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 104487.1, + "us": 109175.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 104487.1, + "us": 109175.6, "level": "n/a" } } @@ -12849,19 +12849,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 114244.7, + "us": 122623.4, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 114244.7, + "us": 122623.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 114244.7, + "us": 122623.4, "level": "n/a" } } @@ -12870,24 +12870,24 @@ "status": { "nlohmann json_document": { "best": { - "variant": "dump", - "us": 1.0, + "variant": "dump (source numbers)", + "us": 0.8, "level": "n/a" }, "best_any": { - "variant": "dump", - "us": 1.0, + "variant": "dump (source numbers)", + "us": 0.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { - "dump": { - "us": 1.0, + "dump (source numbers)": { + "us": 0.8, "level": "n/a" }, - "dump (source numbers)": { - "us": 1.0, + "dump": { + "us": 0.9, "level": "n/a" } } @@ -12895,19 +12895,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 2.0, + "us": 1.8, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 2.0, + "us": 1.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 2.0, + "us": 1.8, "level": "n/a" } } @@ -12935,19 +12935,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 3.3, + "us": 2.8, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 3.3, + "us": 2.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 3.3, + "us": 2.8, "level": "n/a" } } @@ -12955,19 +12955,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 4.1, + "us": 3.8, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 4.1, + "us": 3.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 4.1, + "us": 3.8, "level": "n/a" } } @@ -12995,23 +12995,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 2.2, + "us": 2.0, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 2.2, + "us": 2.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 2.2, + "us": 2.0, "level": "n/a" }, "generic (strict)": { - "us": 2.5, + "us": 2.3, "level": "n/a" } }, @@ -13023,19 +13023,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 2.7, + "us": 2.3, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 2.7, + "us": 2.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 2.7, + "us": 2.3, "level": "n/a" } } @@ -13043,19 +13043,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 3.2, + "us": 3.3, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 3.2, + "us": 3.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 3.2, + "us": 3.3, "level": "n/a" } } @@ -13083,19 +13083,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 3.1, + "us": 2.8, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 3.1, + "us": 2.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 3.1, + "us": 2.8, "level": "n/a" } } @@ -13105,23 +13105,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 139.6, + "us": 134.7, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 139.6, + "us": 134.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 139.6, + "us": 134.7, "level": "n/a" }, "dump": { - "us": 164.8, + "us": 151.4, "level": "n/a" } } @@ -13129,19 +13129,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 470.0, + "us": 431.9, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 470.0, + "us": 431.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 470.0, + "us": 431.9, "level": "n/a" } } @@ -13149,19 +13149,19 @@ "yyjson": { "best": { "variant": "write", - "us": 210.4, + "us": 203.2, "level": "n/a" }, "best_any": { "variant": "write", - "us": 210.4, + "us": 203.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 210.4, + "us": 203.2, "level": "n/a" } } @@ -13169,19 +13169,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 492.1, + "us": 466.2, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 492.1, + "us": 466.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 492.1, + "us": 466.2, "level": "n/a" } } @@ -13189,19 +13189,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 698.2, + "us": 625.0, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 698.2, + "us": 625.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 698.2, + "us": 625.0, "level": "n/a" } } @@ -13209,19 +13209,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 262.0, + "us": 232.1, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 262.0, + "us": 232.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 262.0, + "us": 232.1, "level": "n/a" } } @@ -13229,23 +13229,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 413.5, + "us": 381.1, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 413.5, + "us": 381.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 413.5, + "us": 381.1, "level": "n/a" }, "generic (strict)": { - "us": 443.0, + "us": 422.6, "level": "n/a" } }, @@ -13257,19 +13257,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 505.0, + "us": 455.9, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 505.0, + "us": 455.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 505.0, + "us": 455.9, "level": "n/a" } } @@ -13277,19 +13277,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 562.4, + "us": 550.4, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 562.4, + "us": 550.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 562.4, + "us": 550.4, "level": "n/a" } } @@ -13297,19 +13297,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 442.4, + "us": 434.7, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 442.4, + "us": 434.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 442.4, + "us": 434.7, "level": "n/a" } } @@ -13317,19 +13317,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 594.0, + "us": 580.2, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 594.0, + "us": 580.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 594.0, + "us": 580.2, "level": "n/a" } } @@ -13339,23 +13339,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 225.4, + "us": 225.9, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 225.4, + "us": 225.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 225.4, + "us": 225.9, "level": "n/a" }, "dump": { - "us": 250.5, + "us": 247.7, "level": "n/a" } } @@ -13363,19 +13363,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 617.0, + "us": 624.1, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 617.0, + "us": 624.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 617.0, + "us": 624.1, "level": "n/a" } } @@ -13383,19 +13383,19 @@ "yyjson": { "best": { "variant": "write", - "us": 318.5, + "us": 316.3, "level": "n/a" }, "best_any": { "variant": "write", - "us": 318.5, + "us": 316.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 318.5, + "us": 316.3, "level": "n/a" } } @@ -13403,19 +13403,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 591.4, + "us": 588.6, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 591.4, + "us": 588.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 591.4, + "us": 588.6, "level": "n/a" } } @@ -13423,19 +13423,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 976.8, + "us": 977.0, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 976.8, + "us": 977.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 976.8, + "us": 977.0, "level": "n/a" } } @@ -13443,19 +13443,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 496.0, + "us": 499.3, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 496.0, + "us": 499.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 496.0, + "us": 499.3, "level": "n/a" } } @@ -13463,23 +13463,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 708.8, + "us": 730.0, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 708.8, + "us": 730.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 708.8, + "us": 730.0, "level": "n/a" }, "generic (strict)": { - "us": 741.1, + "us": 752.5, "level": "n/a" } }, @@ -13491,19 +13491,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 831.7, + "us": 835.3, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 831.7, + "us": 835.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 831.7, + "us": 835.3, "level": "n/a" } } @@ -13511,19 +13511,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 851.0, + "us": 828.7, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 851.0, + "us": 828.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 851.0, + "us": 828.7, "level": "n/a" } } @@ -13531,19 +13531,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 908.2, + "us": 889.5, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 908.2, + "us": 889.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 908.2, + "us": 889.5, "level": "n/a" } } @@ -13551,19 +13551,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 788.3, + "us": 765.0, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 788.3, + "us": 765.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 788.3, + "us": 765.0, "level": "n/a" } } diff --git a/docs/mkdocs/scripts/figures/data/perf_usecases_x86-gcc13.json b/docs/mkdocs/scripts/figures/data/perf_usecases_x86-gcc13.json index 73238e29a..4fc555f51 100644 --- a/docs/mkdocs/scripts/figures/data/perf_usecases_x86-gcc13.json +++ b/docs/mkdocs/scripts/figures/data/perf_usecases_x86-gcc13.json @@ -4,35 +4,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 268.1, + "us": 269.3, "level": "full" }, "best_any": { "variant": "accept", - "us": 268.1, + "us": 269.3, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 322.3, + "us": 317.6, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 322.3, + "us": 317.6, "level": "full" }, "variants": { "accept": { - "us": 268.1, + "us": 269.3, "level": "full" }, "read (reused)": { - "us": 322.3, + "us": 317.6, "level": "full" }, "parse": { - "us": 333.9, + "us": 323.0, "level": "full" } } @@ -40,63 +40,63 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 658.9, + "us": 697.9, "level": "full" }, "best_any": { "variant": "accept", - "us": 658.9, + "us": 697.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 658.9, + "us": 697.9, "level": "full" }, "parse": { - "us": 3281.9, + "us": 3374.5, "level": "full" } } }, "yyjson": { "best": { - "variant": "read", - "us": 394.5, + "variant": "insitu (copy)", + "us": 392.1, "level": "full" }, "best_any": { - "variant": "read", - "us": 394.5, + "variant": "insitu (copy)", + "us": 392.1, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 398.9, + "us": 402.1, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 398.9, + "us": 402.1, "level": "full" }, "variants": { + "insitu (copy)": { + "us": 392.1, + "level": "full" + }, + "read (raw numbers)": { + "us": 394.0, + "level": "full" + }, "read": { "us": 394.5, "level": "full" }, - "read (raw numbers)": { - "us": 397.8, - "level": "full" - }, - "insitu (copy)": { - "us": 398.7, - "level": "full" - }, "read (reused allocator)": { - "us": 398.9, + "us": 402.1, "level": "full" } } @@ -104,31 +104,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 313.5, + "us": 310.6, "level": "full" }, "best_any": { "variant": "DOM", - "us": 313.5, + "us": 310.6, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 313.0, + "us": 313.6, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 313.0, + "us": 313.6, "level": "full" }, "variants": { - "DOM (reused)": { - "us": 313.0, + "DOM": { + "us": 310.6, "level": "full" }, - "DOM": { - "us": 313.5, + "DOM (reused)": { + "us": 313.6, "level": "full" } } @@ -137,14 +137,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 407.6, + "us": 416.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 407.6, + "us": 416.0, "level": "no UTF-8" } } @@ -152,83 +152,83 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 595.1, + "us": 592.3, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 595.1, + "us": 592.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 595.1, + "us": 592.3, "level": "full" }, "generic (double, strict)": { - "us": 2341.5, + "us": 2320.2, "level": "full" }, "generic (double)": { - "us": 2346.0, + "us": 2343.6, + "level": "partial" + }, + "generic": { + "us": 3005.0, "level": "partial" }, "generic (strict)": { - "us": 3071.1, + "us": 3072.4, "level": "full" - }, - "generic": { - "us": 3107.9, - "level": "partial" } } }, "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 716.4, + "us": 722.6, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 716.4, + "us": 722.6, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 729.1, + "us": 727.2, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 729.1, + "us": 727.2, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 716.4, + "us": 722.6, "level": "full" }, "SAX (reused)": { - "us": 729.1, + "us": 727.2, "level": "full" }, "SAX": { - "us": 730.2, + "us": 733.1, "level": "full" }, "parse (numbers: none)": { - "us": 1385.2, - "level": "full" - }, - "parser (reused)": { - "us": 1397.3, + "us": 1421.2, "level": "full" }, "parse": { - "us": 1403.9, + "us": 1424.3, + "level": "full" + }, + "parser (reused)": { + "us": 1469.0, "level": "full" } } @@ -236,63 +236,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1606.1, + "us": 1694.2, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1133.1, + "us": 1125.6, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1566.8, + "us": 1634.6, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1476.3, + "us": 1516.7, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1133.1, + "us": 1125.6, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 1353.0, + "us": 1371.6, "level": "no UTF-8" }, "SAX (raw numbers) (no encoding check)": { - "us": 1373.5, + "us": 1415.7, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1476.3, + "us": 1516.7, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1512.1, + "us": 1585.1, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1566.8, + "us": 1634.6, "level": "full" }, "insitu (copy)": { - "us": 1606.1, - "level": "full" - }, - "SAX (raw numbers)": { - "us": 2259.4, + "us": 1694.2, "level": "full" }, "SAX": { - "us": 2278.7, + "us": 2270.2, + "level": "full" + }, + "SAX (raw numbers)": { + "us": 2342.2, "level": "full" }, "Document": { - "us": 2407.6, + "us": 2477.8, "level": "full" } } @@ -300,27 +300,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 621.9, + "us": 624.3, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 480.2, + "us": 483.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 480.2, + "us": 483.8, "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 621.9, + "us": 624.3, "level": "full" }, "Value": { - "us": 3675.2, + "us": 3430.3, "level": "full" } } @@ -328,23 +328,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 481.8, + "us": 501.3, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 481.8, + "us": 501.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 481.8, + "us": 501.3, "level": "full" }, "Value": { - "us": 557.9, + "us": 558.3, "level": "full" } } @@ -352,35 +352,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 563.4, + "us": 567.2, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 563.4, + "us": 567.2, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 572.1, + "us": 591.7, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 572.1, + "us": 591.7, "level": "full" }, "variants": { "tape (copy)": { - "us": 563.4, + "us": 567.2, "level": "full" }, "tape (reused)": { - "us": 572.1, + "us": 591.7, "level": "full" }, "borrowed (copy)": { - "us": 1259.6, + "us": 1274.3, "level": "full" } } @@ -390,35 +390,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 576.8, + "us": 576.3, "level": "full" }, "best_any": { "variant": "accept", - "us": 576.8, + "us": 576.3, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 761.8, + "us": 733.0, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 761.8, + "us": 733.0, "level": "full" }, "variants": { "accept": { - "us": 576.8, + "us": 576.3, "level": "full" }, "parse": { - "us": 755.3, + "us": 730.1, "level": "full" }, "read (reused)": { - "us": 761.8, + "us": 733.0, "level": "full" } } @@ -426,23 +426,23 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 1360.1, + "us": 1299.1, "level": "full" }, "best_any": { "variant": "accept", - "us": 1360.1, + "us": 1299.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 1360.1, + "us": 1299.1, "level": "full" }, "parse": { - "us": 5704.0, + "us": 5094.5, "level": "full" } } @@ -450,39 +450,39 @@ "yyjson": { "best": { "variant": "read (raw numbers)", - "us": 990.2, + "us": 990.8, "level": "full" }, "best_any": { "variant": "read (raw numbers)", - "us": 990.2, + "us": 990.8, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 1069.8, + "us": 1001.8, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 1069.8, + "us": 1001.8, "level": "full" }, "variants": { "read (raw numbers)": { - "us": 990.2, + "us": 990.8, "level": "full" }, "read": { - "us": 991.1, + "us": 992.8, "level": "full" }, "insitu (copy)": { - "us": 1000.7, + "us": 992.9, "level": "full" }, "read (reused allocator)": { - "us": 1069.8, + "us": 1001.8, "level": "full" } } @@ -490,31 +490,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 754.7, + "us": 749.5, "level": "full" }, "best_any": { "variant": "DOM", - "us": 754.7, + "us": 749.5, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 738.8, + "us": 754.5, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 738.8, + "us": 754.5, "level": "full" }, "variants": { - "DOM (reused)": { - "us": 738.8, + "DOM": { + "us": 749.5, "level": "full" }, - "DOM": { - "us": 754.7, + "DOM (reused)": { + "us": 754.5, "level": "full" } } @@ -523,14 +523,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1044.1, + "us": 1034.1, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1044.1, + "us": 1034.1, "level": "no UTF-8" } } @@ -538,35 +538,35 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 1445.2, + "us": 1417.4, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 1445.2, + "us": 1417.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 1445.2, - "level": "full" - }, - "generic (double, strict)": { - "us": 3986.9, + "us": 1417.4, "level": "full" }, "generic (double)": { - "us": 4055.9, + "us": 3888.9, "level": "partial" }, + "generic (double, strict)": { + "us": 3913.6, + "level": "full" + }, "generic": { - "us": 5724.1, + "us": 5456.4, "level": "partial" }, "generic (strict)": { - "us": 5766.6, + "us": 5559.1, "level": "full" } } @@ -574,111 +574,111 @@ "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 949.2, + "us": 933.0, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 949.2, + "us": 933.0, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 993.2, + "us": 990.6, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 993.2, + "us": 990.6, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 949.2, - "level": "full" - }, - "SAX (reused)": { - "us": 993.2, + "us": 933.0, "level": "full" }, "SAX": { - "us": 1025.9, + "us": 989.6, + "level": "full" + }, + "SAX (reused)": { + "us": 990.6, "level": "full" }, "parse (numbers: none)": { - "us": 1711.6, + "us": 1811.4, "level": "full" }, "parser (reused)": { - "us": 1795.1, + "us": 1912.7, "level": "full" }, "parse": { - "us": 1856.7, + "us": 1951.8, "level": "full" } } }, "RapidJSON": { "best": { - "variant": "SAX", - "us": 2314.8, + "variant": "insitu (copy)", + "us": 2221.5, "level": "full" }, "best_any": { "variant": "SAX (no encoding check)", - "us": 1678.0, + "us": 1695.3, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1990.9, + "us": 1997.5, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1977.6, + "us": 1933.4, "level": "no UTF-8" }, "variants": { "SAX (no encoding check)": { - "us": 1678.0, - "level": "no UTF-8" - }, - "SAX (raw numbers) (no encoding check)": { - "us": 1925.8, + "us": 1695.3, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1958.0, + "us": 1917.7, + "level": "no UTF-8" + }, + "SAX (raw numbers) (no encoding check)": { + "us": 1922.1, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1977.6, + "us": 1933.4, + "level": "no UTF-8" + }, + "insitu (copy) (no encoding check)": { + "us": 1940.3, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1990.9, - "level": "full" - }, - "insitu (copy) (no encoding check)": { - "us": 1996.8, - "level": "no UTF-8" - }, - "SAX": { - "us": 2314.8, + "us": 1997.5, "level": "full" }, "insitu (copy)": { - "us": 2335.7, + "us": 2221.5, "level": "full" }, - "Document": { - "us": 2574.1, + "SAX": { + "us": 2242.8, "level": "full" }, "SAX (raw numbers)": { - "us": 2583.1, + "us": 2517.2, + "level": "full" + }, + "Document": { + "us": 2610.6, "level": "full" } } @@ -686,27 +686,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 1439.7, + "us": 1440.0, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 1370.7, + "us": 1370.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 1370.7, + "us": 1370.0, "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 1439.7, + "us": 1440.0, "level": "full" }, "Value": { - "us": 5958.6, + "us": 5622.3, "level": "full" } } @@ -714,23 +714,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 969.0, + "us": 969.7, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 969.0, + "us": 969.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 969.0, + "us": 969.7, "level": "full" }, "Value": { - "us": 1191.8, + "us": 1192.0, "level": "full" } } @@ -738,35 +738,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 1402.8, + "us": 1429.6, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 1402.8, + "us": 1429.6, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 1451.4, + "us": 1442.3, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 1451.4, + "us": 1442.3, "level": "full" }, "variants": { "tape (copy)": { - "us": 1402.8, + "us": 1429.6, "level": "full" }, "tape (reused)": { - "us": 1451.4, + "us": 1442.3, "level": "full" }, "borrowed (copy)": { - "us": 3702.4, + "us": 3462.6, "level": "full" } } @@ -776,35 +776,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 968.5, + "us": 984.0, "level": "full" }, "best_any": { "variant": "accept", - "us": 968.5, + "us": 984.0, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 1353.4, + "us": 1366.0, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 1353.4, + "us": 1366.0, "level": "full" }, "variants": { "accept": { - "us": 968.5, - "level": "full" - }, - "read (reused)": { - "us": 1353.4, + "us": 984.0, "level": "full" }, "parse": { - "us": 1355.6, + "us": 1354.5, + "level": "full" + }, + "read (reused)": { + "us": 1366.0, "level": "full" } } @@ -812,23 +812,23 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 4532.7, + "us": 4369.8, "level": "full" }, "best_any": { "variant": "accept", - "us": 4532.7, + "us": 4369.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 4532.7, + "us": 4369.8, "level": "full" }, "parse": { - "us": 11731.0, + "us": 11905.3, "level": "full" } } @@ -836,39 +836,39 @@ "yyjson": { "best": { "variant": "read (raw numbers)", - "us": 2223.5, + "us": 2208.6, "level": "full" }, "best_any": { "variant": "read (raw numbers)", - "us": 2223.5, + "us": 2208.6, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 5392.5, + "us": 5377.2, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 5392.5, + "us": 5377.2, "level": "full" }, "variants": { "read (raw numbers)": { - "us": 2223.5, + "us": 2208.6, "level": "full" }, "read (reused allocator)": { - "us": 5392.5, - "level": "full" - }, - "insitu (copy)": { - "us": 5392.7, + "us": 5377.2, "level": "full" }, "read": { - "us": 5463.1, + "us": 5385.3, + "level": "full" + }, + "insitu (copy)": { + "us": 5447.5, "level": "full" } } @@ -876,31 +876,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 3203.3, + "us": 3110.9, "level": "full" }, "best_any": { "variant": "DOM", - "us": 3203.3, + "us": 3110.9, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 3199.3, + "us": 3154.7, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 3199.3, + "us": 3154.7, "level": "full" }, "variants": { - "DOM (reused)": { - "us": 3199.3, + "DOM": { + "us": 3110.9, "level": "full" }, - "DOM": { - "us": 3203.3, + "DOM (reused)": { + "us": 3154.7, "level": "full" } } @@ -909,14 +909,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 3640.7, + "us": 3562.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 3640.7, + "us": 3562.9, "level": "no UTF-8" } } @@ -924,35 +924,35 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 1869.5, + "us": 1867.7, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 1869.5, + "us": 1867.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 1869.5, + "us": 1867.7, "level": "full" }, "generic (double)": { - "us": 10573.5, + "us": 9925.0, "level": "partial" }, "generic (double, strict)": { - "us": 10828.5, + "us": 9956.5, "level": "full" }, "generic": { - "us": 19642.3, + "us": 18538.5, "level": "partial" }, "generic (strict)": { - "us": 19706.0, + "us": 18589.6, "level": "full" } } @@ -960,47 +960,47 @@ "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 1637.8, + "us": 1673.7, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 1637.8, + "us": 1673.7, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 5182.8, + "us": 5655.4, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 5182.8, + "us": 5655.4, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 1637.8, + "us": 1673.7, "level": "full" }, "parse (numbers: none)": { - "us": 2823.7, - "level": "full" - }, - "SAX": { - "us": 5140.6, + "us": 2793.6, "level": "full" }, "SAX (reused)": { - "us": 5182.8, + "us": 5655.4, + "level": "full" + }, + "SAX": { + "us": 5757.3, "level": "full" }, "parser (reused)": { - "us": 7348.8, + "us": 7287.5, "level": "full" }, "parse": { - "us": 7390.7, + "us": 7363.6, "level": "full" } } @@ -1008,63 +1008,63 @@ "RapidJSON": { "best": { "variant": "SAX (raw numbers)", - "us": 10369.7, + "us": 10357.4, "level": "full" }, "best_any": { - "variant": "SAX (raw numbers) (no encoding check)", - "us": 10349.8, - "level": "no UTF-8" + "variant": "SAX (raw numbers)", + "us": 10357.4, + "level": "full" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 11992.1, + "us": 11513.6, "level": "full" }, "best_reused_any": { - "variant": "Document (reused allocator) (no encoding check)", - "us": 11683.1, - "level": "no UTF-8" + "variant": "Document (reused allocator)", + "us": 11513.6, + "level": "full" }, "variants": { - "SAX (raw numbers) (no encoding check)": { - "us": 10349.8, - "level": "no UTF-8" - }, "SAX (raw numbers)": { - "us": 10369.7, + "us": 10357.4, "level": "full" }, + "SAX (raw numbers) (no encoding check)": { + "us": 10539.5, + "level": "no UTF-8" + }, "SAX": { - "us": 11252.0, + "us": 10801.1, "level": "full" }, "SAX (no encoding check)": { - "us": 11501.0, + "us": 10935.5, "level": "no UTF-8" }, - "Document (reused allocator) (no encoding check)": { - "us": 11683.1, + "Document (no encoding check)": { + "us": 11029.1, "level": "no UTF-8" }, - "Document": { - "us": 11708.9, + "insitu (copy)": { + "us": 11342.1, "level": "full" }, "insitu (copy) (no encoding check)": { - "us": 11743.2, + "us": 11415.4, "level": "no UTF-8" }, + "Document": { + "us": 11492.5, + "level": "full" + }, "Document (reused allocator)": { - "us": 11992.1, + "us": 11513.6, "level": "full" }, - "insitu (copy)": { - "us": 12156.4, - "level": "full" - }, - "Document (no encoding check)": { - "us": 12440.9, + "Document (reused allocator) (no encoding check)": { + "us": 11635.9, "level": "no UTF-8" } } @@ -1072,27 +1072,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 2621.0, + "us": 2406.0, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 2537.6, + "us": 2313.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 2537.6, + "us": 2313.5, "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 2621.0, + "us": 2406.0, "level": "full" }, "Value": { - "us": 14488.3, + "us": 12777.0, "level": "full" } } @@ -1100,23 +1100,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 2489.1, + "us": 2249.1, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 2489.1, + "us": 2249.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 2489.1, + "us": 2249.1, "level": "full" }, "Value": { - "us": 4041.2, + "us": 3650.5, "level": "full" } } @@ -1124,35 +1124,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 4629.8, + "us": 4358.8, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 4629.8, + "us": 4358.8, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 4807.9, + "us": 4188.3, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 4807.9, + "us": 4188.3, "level": "full" }, "variants": { - "tape (copy)": { - "us": 4629.8, + "tape (reused)": { + "us": 4188.3, "level": "full" }, - "tape (reused)": { - "us": 4807.9, + "tape (copy)": { + "us": 4358.8, "level": "full" }, "borrowed (copy)": { - "us": 11597.1, + "us": 9740.4, "level": "full" } } @@ -1162,35 +1162,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 36995.5, + "us": 34383.4, "level": "full" }, "best_any": { "variant": "accept", - "us": 36995.5, + "us": 34383.4, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 46894.0, + "us": 41667.9, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 46894.0, + "us": 41667.9, "level": "full" }, "variants": { "accept": { - "us": 36995.5, + "us": 34383.4, "level": "full" }, "read (reused)": { - "us": 46894.0, + "us": 41667.9, "level": "full" }, "parse": { - "us": 86154.5, + "us": 76548.1, "level": "full" } } @@ -1198,23 +1198,23 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 76432.3, + "us": 72855.6, "level": "full" }, "best_any": { "variant": "accept", - "us": 76432.3, + "us": 72855.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 76432.3, + "us": 72855.6, "level": "full" }, "parse": { - "us": 568966.3, + "us": 379397.7, "level": "full" } } @@ -1222,39 +1222,39 @@ "yyjson": { "best": { "variant": "read (raw numbers)", - "us": 137955.4, + "us": 125376.4, "level": "full" }, "best_any": { "variant": "read (raw numbers)", - "us": 137955.4, + "us": 125376.4, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 65479.4, + "us": 61532.6, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 65479.4, + "us": 61532.6, "level": "full" }, "variants": { "read (reused allocator)": { - "us": 65479.4, + "us": 61532.6, "level": "full" }, "read (raw numbers)": { - "us": 137955.4, + "us": 125376.4, "level": "full" }, "read": { - "us": 138494.5, + "us": 130166.5, "level": "full" }, "insitu (copy)": { - "us": 139126.9, + "us": 132429.2, "level": "full" } } @@ -1262,31 +1262,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 123091.0, + "us": 114706.8, "level": "full" }, "best_any": { "variant": "DOM", - "us": 123091.0, + "us": 114706.8, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 53178.6, + "us": 53611.1, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 53178.6, + "us": 53611.1, "level": "full" }, "variants": { "DOM (reused)": { - "us": 53178.6, + "us": 53611.1, "level": "full" }, "DOM": { - "us": 123091.0, + "us": 114706.8, "level": "full" } } @@ -1295,14 +1295,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 99805.2, + "us": 95395.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 99805.2, + "us": 95395.5, "level": "no UTF-8" } } @@ -1310,83 +1310,83 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 77939.6, + "us": 72509.8, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 77939.6, + "us": 72509.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 77939.6, + "us": 72509.8, + "level": "full" + }, + "generic (double, strict)": { + "us": 217688.9, "level": "full" }, "generic (double)": { - "us": 273192.9, + "us": 219204.9, "level": "partial" }, - "generic (double, strict)": { - "us": 283651.6, - "level": "full" - }, - "generic (strict)": { - "us": 378631.9, - "level": "full" - }, "generic": { - "us": 382597.6, + "us": 315095.7, "level": "partial" + }, + "generic (strict)": { + "us": 316908.0, + "level": "full" } } }, "Boost.JSON": { "best": { - "variant": "SAX (numbers: none)", - "us": 63909.1, + "variant": "SAX", + "us": 61381.8, "level": "full" }, "best_any": { - "variant": "SAX (numbers: none)", - "us": 63909.1, + "variant": "SAX", + "us": 61381.8, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 64602.6, + "us": 61262.2, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 64602.6, + "us": 61262.2, "level": "full" }, "variants": { - "SAX (numbers: none)": { - "us": 63909.1, - "level": "full" - }, "SAX (reused)": { - "us": 64602.6, + "us": 61262.2, "level": "full" }, "SAX": { - "us": 65701.8, + "us": 61381.8, + "level": "full" + }, + "SAX (numbers: none)": { + "us": 61512.4, "level": "full" }, "parser (reused)": { - "us": 136977.0, - "level": "full" - }, - "parse": { - "us": 193283.9, + "us": 133386.5, "level": "full" }, "parse (numbers: none)": { - "us": 201708.6, + "us": 184702.7, + "level": "full" + }, + "parse": { + "us": 186837.5, "level": "full" } } @@ -1394,63 +1394,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 223678.2, + "us": 207460.4, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 162310.1, + "us": 153062.3, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 202752.2, + "us": 187642.7, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 187702.7, + "us": 182918.1, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 162310.1, + "us": 153062.3, "level": "no UTF-8" }, "SAX (raw numbers) (no encoding check)": { - "us": 175642.9, + "us": 166512.6, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 175849.3, + "us": 168597.9, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 187702.7, + "us": 182918.1, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 191118.4, + "us": 186131.3, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 202752.2, + "us": 187642.7, "level": "full" }, "insitu (copy)": { - "us": 223678.2, - "level": "full" - }, - "SAX (raw numbers)": { - "us": 289205.3, - "level": "full" - }, - "Document": { - "us": 302736.2, + "us": 207460.4, "level": "full" }, "SAX": { - "us": 304393.9, + "us": 283751.9, + "level": "full" + }, + "SAX (raw numbers)": { + "us": 286112.7, + "level": "full" + }, + "Document": { + "us": 298600.9, "level": "full" } } @@ -1458,27 +1458,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 65602.4, + "us": 64719.7, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 60154.2, + "us": 58247.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 60154.2, + "us": 58247.3, "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 65602.4, + "us": 64719.7, "level": "full" }, "Value": { - "us": 514855.6, + "us": 389667.2, "level": "full" } } @@ -1486,23 +1486,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 55486.2, + "us": 54369.2, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 55486.2, + "us": 54369.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 55486.2, + "us": 54369.2, "level": "full" }, "Value": { - "us": 113431.8, + "us": 113483.8, "level": "full" } } @@ -1510,35 +1510,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 212467.4, + "us": 207551.3, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 212467.4, + "us": 207551.3, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 142848.3, + "us": 139519.7, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 142848.3, + "us": 139519.7, "level": "full" }, "variants": { "tape (reused)": { - "us": 142848.3, + "us": 139519.7, "level": "full" }, "tape (copy)": { - "us": 212467.4, + "us": 207551.3, "level": "full" }, "borrowed (copy)": { - "us": 297916.2, + "us": 277163.2, "level": "full" } } @@ -1548,35 +1548,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 1.3, + "us": 1.2, "level": "full" }, "best_any": { "variant": "accept", - "us": 1.3, + "us": 1.2, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 1.7, + "us": 1.4, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 1.7, + "us": 1.4, "level": "full" }, "variants": { "accept": { - "us": 1.3, + "us": 1.2, "level": "full" }, "read (reused)": { - "us": 1.7, + "us": 1.4, "level": "full" }, "parse": { - "us": 1.8, + "us": 1.5, "level": "full" } } @@ -1584,35 +1584,35 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 3.4, + "us": 3.1, "level": "full" }, "best_any": { "variant": "accept", - "us": 3.4, + "us": 3.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 3.4, + "us": 3.1, "level": "full" }, "parse": { - "us": 14.5, + "us": 17.7, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", + "variant": "read", "us": 1.7, "level": "full" }, "best_any": { - "variant": "insitu (copy)", + "variant": "read", "us": 1.7, "level": "full" }, @@ -1631,16 +1631,16 @@ "us": 1.6, "level": "full" }, + "read": { + "us": 1.7, + "level": "full" + }, "insitu (copy)": { "us": 1.7, "level": "full" }, - "read": { - "us": 1.8, - "level": "full" - }, "read (raw numbers)": { - "us": 1.8, + "us": 1.7, "level": "full" } } @@ -1648,31 +1648,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 1.9, + "us": 1.8, "level": "full" }, "best_any": { "variant": "DOM", - "us": 1.9, + "us": 1.8, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 1.6, + "us": 1.4, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 1.6, + "us": 1.4, "level": "full" }, "variants": { "DOM (reused)": { - "us": 1.6, + "us": 1.4, "level": "full" }, "DOM": { - "us": 1.9, + "us": 1.8, "level": "full" } } @@ -1681,14 +1681,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1.8, + "us": 1.6, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1.8, + "us": 1.6, "level": "no UTF-8" } } @@ -1712,19 +1712,19 @@ "level": "full" }, "generic (double)": { - "us": 10.2, + "us": 8.2, "level": "partial" }, "generic (double, strict)": { - "us": 10.4, + "us": 8.4, "level": "full" }, "generic": { - "us": 14.5, + "us": 12.2, "level": "partial" }, "generic (strict)": { - "us": 14.8, + "us": 12.6, "level": "full" } } @@ -1732,47 +1732,47 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 3.4, + "us": 3.2, "level": "full" }, "best_any": { "variant": "SAX", - "us": 3.4, + "us": 3.2, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 3.3, + "us": 3.2, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 3.3, + "us": 3.2, "level": "full" }, "variants": { - "SAX (reused)": { - "us": 3.3, - "level": "full" - }, "SAX": { - "us": 3.4, + "us": 3.2, "level": "full" }, "SAX (numbers: none)": { - "us": 3.4, + "us": 3.2, + "level": "full" + }, + "SAX (reused)": { + "us": 3.2, "level": "full" }, "parser (reused)": { - "us": 6.9, - "level": "full" - }, - "parse": { - "us": 7.2, + "us": 6.4, "level": "full" }, "parse (numbers: none)": { - "us": 7.3, + "us": 6.6, + "level": "full" + }, + "parse": { + "us": 6.7, "level": "full" } } @@ -1780,17 +1780,17 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 7.9, + "us": 7.0, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 4.2, + "us": 3.6, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 8.9, + "us": 8.0, "level": "full" }, "best_reused_any": { @@ -1800,43 +1800,43 @@ }, "variants": { "insitu (copy) (no encoding check)": { - "us": 4.2, + "us": 3.6, + "level": "no UTF-8" + }, + "insitu (copy)": { + "us": 7.0, + "level": "full" + }, + "SAX (no encoding check)": { + "us": 7.1, + "level": "no UTF-8" + }, + "SAX (raw numbers) (no encoding check)": { + "us": 7.3, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { "us": 7.5, "level": "no UTF-8" }, - "SAX (no encoding check)": { - "us": 7.6, - "level": "no UTF-8" - }, - "SAX (raw numbers) (no encoding check)": { - "us": 7.7, - "level": "no UTF-8" - }, - "insitu (copy)": { - "us": 7.9, - "level": "full" - }, "Document (reused allocator)": { - "us": 8.9, + "us": 8.0, "level": "full" }, "Document (no encoding check)": { - "us": 9.0, + "us": 8.1, "level": "no UTF-8" }, - "SAX (raw numbers)": { - "us": 13.2, + "SAX": { + "us": 12.2, "level": "full" }, - "SAX": { - "us": 13.4, + "SAX (raw numbers)": { + "us": 12.2, "level": "full" }, "Document": { - "us": 14.6, + "us": 12.9, "level": "full" } } @@ -1844,7 +1844,7 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 2.5, + "us": 2.4, "level": "full" }, "best_any": { @@ -1860,11 +1860,11 @@ "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 2.5, + "us": 2.4, "level": "full" }, "Value": { - "us": 13.9, + "us": 12.9, "level": "full" } } @@ -1888,7 +1888,7 @@ "level": "full" }, "Value": { - "us": 2.5, + "us": 2.3, "level": "full" } } @@ -1906,17 +1906,17 @@ }, "best_reused": { "variant": "tape (reused)", - "us": 2.4, + "us": 2.6, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 2.4, + "us": 2.6, "level": "full" }, "variants": { "tape (reused)": { - "us": 2.4, + "us": 2.6, "level": "full" }, "tape (copy)": { @@ -1924,7 +1924,7 @@ "level": "full" }, "borrowed (copy)": { - "us": 5.9, + "us": 5.7, "level": "full" } } @@ -1934,35 +1934,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 218.9, + "us": 222.3, "level": "full" }, "best_any": { "variant": "accept", - "us": 218.9, + "us": 222.3, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 278.5, + "us": 261.7, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 278.5, + "us": 261.7, "level": "full" }, "variants": { "accept": { - "us": 218.9, + "us": 222.3, "level": "full" }, "read (reused)": { - "us": 278.5, + "us": 261.7, "level": "full" }, "parse": { - "us": 285.6, + "us": 267.1, "level": "full" } } @@ -1970,63 +1970,63 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 561.7, + "us": 546.9, "level": "full" }, "best_any": { "variant": "accept", - "us": 561.7, + "us": 546.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 561.7, + "us": 546.9, "level": "full" }, "parse": { - "us": 3175.4, + "us": 3232.6, "level": "full" } } }, "yyjson": { "best": { - "variant": "read", - "us": 333.7, + "variant": "insitu (copy)", + "us": 335.3, "level": "full" }, "best_any": { - "variant": "read", - "us": 333.7, + "variant": "insitu (copy)", + "us": 335.3, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 334.0, + "us": 336.1, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 334.0, + "us": 336.1, "level": "full" }, "variants": { + "insitu (copy)": { + "us": 335.3, + "level": "full" + }, "read": { - "us": 333.7, + "us": 335.6, "level": "full" }, "read (reused allocator)": { - "us": 334.0, - "level": "full" - }, - "insitu (copy)": { - "us": 334.2, + "us": 336.1, "level": "full" }, "read (raw numbers)": { - "us": 336.2, + "us": 337.2, "level": "full" } } @@ -2034,31 +2034,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 291.0, + "us": 289.2, "level": "full" }, "best_any": { "variant": "DOM", - "us": 291.0, + "us": 289.2, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 291.1, + "us": 290.5, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 291.1, + "us": 290.5, "level": "full" }, "variants": { "DOM": { - "us": 291.0, + "us": 289.2, "level": "full" }, "DOM (reused)": { - "us": 291.1, + "us": 290.5, "level": "full" } } @@ -2067,14 +2067,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 291.6, + "us": 289.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 291.6, + "us": 289.4, "level": "no UTF-8" } } @@ -2082,83 +2082,83 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 449.6, + "us": 450.1, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 449.6, + "us": 450.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 449.6, - "level": "full" - }, - "generic (double, strict)": { - "us": 2145.9, + "us": 450.1, "level": "full" }, "generic (double)": { - "us": 2213.3, + "us": 2096.2, "level": "partial" }, - "generic": { - "us": 2857.2, - "level": "partial" + "generic (double, strict)": { + "us": 2134.6, + "level": "full" }, "generic (strict)": { - "us": 2938.9, + "us": 2845.8, "level": "full" + }, + "generic": { + "us": 2852.8, + "level": "partial" } } }, "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 600.3, + "us": 596.7, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 600.3, + "us": 596.7, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 612.3, + "us": 619.1, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 612.3, + "us": 619.1, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 600.3, - "level": "full" - }, - "SAX (reused)": { - "us": 612.3, + "us": 596.7, "level": "full" }, "SAX": { - "us": 620.2, + "us": 610.0, "level": "full" }, - "parse": { - "us": 1279.6, - "level": "full" - }, - "parser (reused)": { - "us": 1301.8, + "SAX (reused)": { + "us": 619.1, "level": "full" }, "parse (numbers: none)": { - "us": 1306.5, + "us": 1294.6, + "level": "full" + }, + "parse": { + "us": 1298.8, + "level": "full" + }, + "parser (reused)": { + "us": 1304.0, "level": "full" } } @@ -2166,63 +2166,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1257.3, + "us": 1256.6, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 905.7, + "us": 832.3, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1545.2, + "us": 1507.6, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1465.3, + "us": 1403.9, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 905.7, + "us": 832.3, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1257.3, + "us": 1256.6, "level": "full" }, - "SAX (no encoding check)": { - "us": 1272.1, - "level": "no UTF-8" - }, "SAX (raw numbers) (no encoding check)": { - "us": 1294.7, + "us": 1290.3, "level": "no UTF-8" }, - "Document (no encoding check)": { - "us": 1429.0, + "SAX (no encoding check)": { + "us": 1301.3, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1465.3, + "us": 1403.9, + "level": "no UTF-8" + }, + "Document (no encoding check)": { + "us": 1437.0, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1545.2, + "us": 1507.6, "level": "full" }, "SAX (raw numbers)": { - "us": 2205.6, + "us": 2173.0, "level": "full" }, "SAX": { - "us": 2210.6, + "us": 2243.9, "level": "full" }, "Document": { - "us": 2328.8, + "us": 2372.0, "level": "full" } } @@ -2230,27 +2230,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 476.4, + "us": 475.9, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 345.3, + "us": 347.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 345.3, + "us": 347.5, "level": "no UTF-8" }, "from_utf8 + IgnoredAny": { - "us": 476.4, + "us": 475.9, "level": "full" }, "Value": { - "us": 3489.5, + "us": 3319.6, "level": "full" } } @@ -2258,23 +2258,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 340.0, + "us": 336.8, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 340.0, + "us": 336.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 340.0, + "us": 336.8, "level": "full" }, "Value": { - "us": 418.5, + "us": 416.3, "level": "full" } } @@ -2282,35 +2282,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 515.3, + "us": 516.9, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 515.3, + "us": 516.9, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 518.0, + "us": 541.7, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 518.0, + "us": 541.7, "level": "full" }, "variants": { "tape (copy)": { - "us": 515.3, + "us": 516.9, "level": "full" }, "tape (reused)": { - "us": 518.0, + "us": 541.7, "level": "full" }, "borrowed (copy)": { - "us": 1217.8, + "us": 1254.2, "level": "full" } } @@ -2320,35 +2320,35 @@ "nlohmann json_document": { "best": { "variant": "accept", - "us": 329.9, + "us": 333.4, "level": "full" }, "best_any": { "variant": "accept", - "us": 329.9, + "us": 333.4, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 542.3, + "us": 517.3, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 542.3, + "us": 517.3, "level": "full" }, "variants": { "accept": { - "us": 329.9, - "level": "full" - }, - "read (reused)": { - "us": 542.3, + "us": 333.4, "level": "full" }, "parse": { - "us": 562.7, + "us": 515.6, + "level": "full" + }, + "read (reused)": { + "us": 517.3, "level": "full" } } @@ -2356,23 +2356,23 @@ "nlohmann json": { "best": { "variant": "accept", - "us": 1093.5, + "us": 1025.4, "level": "full" }, "best_any": { "variant": "accept", - "us": 1093.5, + "us": 1025.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "accept": { - "us": 1093.5, + "us": 1025.4, "level": "full" }, "parse": { - "us": 5448.7, + "us": 4698.4, "level": "full" } } @@ -2380,39 +2380,39 @@ "yyjson": { "best": { "variant": "read", - "us": 518.9, + "us": 512.3, "level": "full" }, "best_any": { "variant": "read", - "us": 518.9, + "us": 512.3, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 533.4, + "us": 511.1, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 533.4, + "us": 511.1, "level": "full" }, "variants": { - "read": { - "us": 518.9, - "level": "full" - }, - "read (raw numbers)": { - "us": 522.2, - "level": "full" - }, "read (reused allocator)": { - "us": 533.4, + "us": 511.1, + "level": "full" + }, + "read": { + "us": 512.3, "level": "full" }, "insitu (copy)": { - "us": 553.1, + "us": 512.3, + "level": "full" + }, + "read (raw numbers)": { + "us": 521.0, "level": "full" } } @@ -2420,31 +2420,31 @@ "simdjson": { "best": { "variant": "DOM", - "us": 597.4, + "us": 582.7, "level": "full" }, "best_any": { "variant": "DOM", - "us": 597.4, + "us": 582.7, "level": "full" }, "best_reused": { "variant": "DOM (reused)", - "us": 599.4, + "us": 583.1, "level": "full" }, "best_reused_any": { "variant": "DOM (reused)", - "us": 599.4, + "us": 583.1, "level": "full" }, "variants": { "DOM": { - "us": 597.4, + "us": 582.7, "level": "full" }, "DOM (reused)": { - "us": 599.4, + "us": 583.1, "level": "full" } } @@ -2453,14 +2453,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 723.7, + "us": 694.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 723.7, + "us": 694.2, "level": "no UTF-8" } } @@ -2468,83 +2468,83 @@ "Glaze": { "best": { "variant": "validate_json", - "us": 634.1, + "us": 624.2, "level": "full" }, "best_any": { "variant": "validate_json", - "us": 634.1, + "us": 624.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "validate_json": { - "us": 634.1, + "us": 624.2, "level": "full" }, "generic (double)": { - "us": 3285.1, + "us": 3123.3, "level": "partial" }, "generic (double, strict)": { - "us": 3359.5, + "us": 3126.7, + "level": "full" + }, + "generic (strict)": { + "us": 4759.3, "level": "full" }, "generic": { - "us": 5256.6, + "us": 4776.3, "level": "partial" - }, - "generic (strict)": { - "us": 5284.8, - "level": "full" } } }, "Boost.JSON": { "best": { "variant": "SAX (numbers: none)", - "us": 582.2, + "us": 580.2, "level": "full" }, "best_any": { "variant": "SAX (numbers: none)", - "us": 582.2, + "us": 580.2, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 670.4, + "us": 662.9, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 670.4, + "us": 662.9, "level": "full" }, "variants": { "SAX (numbers: none)": { - "us": 582.2, + "us": 580.2, "level": "full" }, "SAX (reused)": { - "us": 670.4, + "us": 662.9, "level": "full" }, "SAX": { - "us": 694.5, - "level": "full" - }, - "parser (reused)": { - "us": 1446.0, + "us": 663.7, "level": "full" }, "parse (numbers: none)": { - "us": 1456.1, + "us": 1492.8, + "level": "full" + }, + "parser (reused)": { + "us": 1573.9, "level": "full" }, "parse": { - "us": 1516.0, + "us": 1575.2, "level": "full" } } @@ -2552,63 +2552,63 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1640.0, + "us": 1632.3, "level": "full" }, "best_any": { "variant": "SAX (no encoding check)", - "us": 1417.6, + "us": 1409.9, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1776.1, + "us": 1779.4, "level": "full" }, "best_reused_any": { - "variant": "Document (reused allocator)", - "us": 1776.1, - "level": "full" + "variant": "Document (reused allocator) (no encoding check)", + "us": 1774.8, + "level": "no UTF-8" }, "variants": { "SAX (no encoding check)": { - "us": 1417.6, + "us": 1409.9, "level": "no UTF-8" }, "insitu (copy) (no encoding check)": { - "us": 1525.1, + "us": 1422.9, + "level": "no UTF-8" + }, + "SAX (raw numbers) (no encoding check)": { + "us": 1617.8, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1640.0, - "level": "full" - }, - "SAX (raw numbers) (no encoding check)": { - "us": 1691.4, - "level": "no UTF-8" - }, - "Document (reused allocator)": { - "us": 1776.1, + "us": 1632.3, "level": "full" }, "Document (no encoding check)": { - "us": 1814.2, + "us": 1729.8, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1840.3, + "us": 1774.8, "level": "no UTF-8" }, + "Document (reused allocator)": { + "us": 1779.4, + "level": "full" + }, "SAX": { - "us": 1954.1, + "us": 1923.6, "level": "full" }, "SAX (raw numbers)": { - "us": 2166.5, + "us": 2178.3, "level": "full" }, "Document": { - "us": 2460.6, + "us": 2367.7, "level": "full" } } @@ -2616,27 +2616,27 @@ "serde_json": { "best": { "variant": "from_utf8 + IgnoredAny", - "us": 637.2, + "us": 647.4, "level": "full" }, "best_any": { - "variant": "from_utf8 + IgnoredAny", - "us": 637.2, - "level": "full" + "variant": "IgnoredAny", + "us": 641.0, + "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { - "from_utf8 + IgnoredAny": { - "us": 637.2, - "level": "full" - }, "IgnoredAny": { - "us": 665.8, + "us": 641.0, "level": "no UTF-8" }, + "from_utf8 + IgnoredAny": { + "us": 647.4, + "level": "full" + }, "Value": { - "us": 5301.8, + "us": 5357.5, "level": "full" } } @@ -2644,23 +2644,23 @@ "sonic-rs": { "best": { "variant": "IgnoredAny", - "us": 640.9, + "us": 610.9, "level": "full" }, "best_any": { "variant": "IgnoredAny", - "us": 640.9, + "us": 610.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "IgnoredAny": { - "us": 640.9, + "us": 610.9, "level": "full" }, "Value": { - "us": 819.1, + "us": 903.1, "level": "full" } } @@ -2668,35 +2668,35 @@ "simd-json": { "best": { "variant": "tape (copy)", - "us": 1159.4, + "us": 1075.7, "level": "full" }, "best_any": { "variant": "tape (copy)", - "us": 1159.4, + "us": 1075.7, "level": "full" }, "best_reused": { "variant": "tape (reused)", - "us": 1092.3, + "us": 1077.7, "level": "full" }, "best_reused_any": { "variant": "tape (reused)", - "us": 1092.3, + "us": 1077.7, "level": "full" }, "variants": { - "tape (reused)": { - "us": 1092.3, + "tape (copy)": { + "us": 1075.7, "level": "full" }, - "tape (copy)": { - "us": 1159.4, + "tape (reused)": { + "us": 1077.7, "level": "full" }, "borrowed (copy)": { - "us": 3638.6, + "us": 3360.4, "level": "full" } } @@ -2708,31 +2708,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 411.0, + "us": 391.0, "level": "full" }, "best_any": { "variant": "parse", - "us": 411.0, + "us": 391.0, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 409.5, + "us": 387.7, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 409.5, + "us": 387.7, "level": "full" }, "variants": { "read (reused)": { - "us": 409.5, + "us": 387.7, "level": "full" }, "parse": { - "us": 411.0, + "us": 391.0, "level": "full" } } @@ -2740,23 +2740,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 822.3, + "us": 792.4, "level": "full" }, "best_any": { "variant": "sax", - "us": 822.3, + "us": 792.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 822.3, + "us": 792.4, "level": "full" }, "parse": { - "us": 3669.3, + "us": 3431.4, "level": "full" } } @@ -2764,35 +2764,35 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 448.3, + "us": 445.2, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 448.3, + "us": 445.2, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 495.2, + "us": 450.2, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 495.2, + "us": 450.2, "level": "full" }, "variants": { "insitu (copy)": { - "us": 448.3, + "us": 445.2, "level": "full" }, "read": { - "us": 493.2, + "us": 445.4, "level": "full" }, "read (reused allocator)": { - "us": 495.2, + "us": 450.2, "level": "full" } } @@ -2800,39 +2800,39 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 359.6, + "us": 356.5, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 359.6, + "us": 356.5, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 359.9, + "us": 356.3, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 359.9, + "us": 356.3, "level": "full" }, "variants": { - "On-Demand": { - "us": 359.6, + "On-Demand (reused)": { + "us": 356.3, "level": "full" }, - "On-Demand (reused)": { - "us": 359.9, + "On-Demand": { + "us": 356.5, "level": "full" }, "DOM": { - "us": 447.7, + "us": 431.5, "level": "full" }, "DOM (reused)": { - "us": 461.5, + "us": 437.5, "level": "full" } } @@ -2841,14 +2841,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 488.8, + "us": 461.7, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 488.8, + "us": 461.7, "level": "no UTF-8" } } @@ -2856,36 +2856,36 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 2416.0, + "us": 2350.3, "level": "full" }, "best_any": { - "variant": "generic (double, strict)", - "us": 2416.0, - "level": "full" + "variant": "generic (double)", + "us": 2333.7, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { + "generic (double)": { + "us": 2333.7, + "level": "partial" + }, "generic (double, strict)": { - "us": 2416.0, + "us": 2350.3, "level": "full" }, - "generic (double)": { - "us": 2448.3, - "level": "partial" - }, - "generic": { - "us": 3114.8, - "level": "partial" - }, "lazy_json": { - "us": 3246.4, + "us": 2999.9, "level": "partial" }, "generic (strict)": { - "us": 3377.1, + "us": 3008.2, "level": "full" + }, + "generic": { + "us": 3015.1, + "level": "partial" } }, "excluded": { @@ -2895,39 +2895,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 794.2, + "us": 736.0, "level": "full" }, "best_any": { "variant": "SAX", - "us": 794.2, + "us": 736.0, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 742.2, + "us": 737.4, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 742.2, + "us": 737.4, "level": "full" }, "variants": { - "SAX (reused)": { - "us": 742.2, + "SAX": { + "us": 736.0, "level": "full" }, - "SAX": { - "us": 794.2, + "SAX (reused)": { + "us": 737.4, "level": "full" }, "parser (reused)": { - "us": 1565.7, + "us": 1490.1, "level": "full" }, "parse": { - "us": 1571.6, + "us": 1498.4, "level": "full" } } @@ -2935,55 +2935,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1768.0, + "us": 1647.3, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1283.4, + "us": 1169.4, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1737.0, + "us": 1642.2, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1680.9, + "us": 1547.6, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1283.4, + "us": 1169.4, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 1476.9, - "level": "no UTF-8" - }, - "Document (no encoding check)": { - "us": 1654.6, + "us": 1369.4, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1680.9, + "us": 1547.6, + "level": "no UTF-8" + }, + "Document (no encoding check)": { + "us": 1550.9, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1737.0, + "us": 1642.2, "level": "full" }, "insitu (copy)": { - "us": 1768.0, + "us": 1647.3, "level": "full" }, "SAX": { - "us": 2478.9, + "us": 2288.2, "level": "full" }, "Document": { - "us": 2612.5, + "us": 2430.6, "level": "full" } } @@ -2991,23 +2991,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 1310.8, + "us": 1311.0, "level": "full" }, "best_any": { "variant": "visitor", - "us": 1310.8, + "us": 1311.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 1310.8, + "us": 1311.0, "level": "full" }, "Value": { - "us": 3672.0, + "us": 3539.8, "level": "full" } } @@ -3015,23 +3015,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 503.3, + "us": 501.0, "level": "full" }, "best_any": { "variant": "visitor", - "us": 503.3, + "us": 501.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 503.3, + "us": 501.0, "level": "full" }, "Value": { - "us": 815.3, + "us": 813.3, "level": "full" } } @@ -3039,35 +3039,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 667.8, + "us": 681.3, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 667.8, + "us": 681.3, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 1440.1, + "us": 1417.9, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 1440.1, + "us": 1417.9, "level": "full" }, "variants": { "visitor (copy)": { - "us": 667.8, - "level": "full" - }, - "borrowed (reused)": { - "us": 1440.1, + "us": 681.3, "level": "full" }, "borrowed (copy)": { - "us": 1456.2, + "us": 1398.0, + "level": "full" + }, + "borrowed (reused)": { + "us": 1417.9, "level": "full" } } @@ -3077,31 +3077,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 1033.9, + "us": 918.6, "level": "full" }, "best_any": { "variant": "parse", - "us": 1033.9, + "us": 918.6, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 1006.2, + "us": 916.4, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 1006.2, + "us": 916.4, "level": "full" }, "variants": { "read (reused)": { - "us": 1006.2, + "us": 916.4, "level": "full" }, "parse": { - "us": 1033.9, + "us": 918.6, "level": "full" } } @@ -3109,23 +3109,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 1849.2, + "us": 1544.8, "level": "full" }, "best_any": { "variant": "sax", - "us": 1849.2, + "us": 1544.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 1849.2, + "us": 1544.8, "level": "full" }, "parse": { - "us": 6360.2, + "us": 5265.9, "level": "full" } } @@ -3133,35 +3133,35 @@ "yyjson": { "best": { "variant": "read", - "us": 1160.7, + "us": 1152.7, "level": "full" }, "best_any": { "variant": "read", - "us": 1160.7, + "us": 1152.7, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 1346.2, + "us": 1161.6, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 1346.2, + "us": 1161.6, "level": "full" }, "variants": { "read": { - "us": 1160.7, + "us": 1152.7, "level": "full" }, "insitu (copy)": { - "us": 1226.1, + "us": 1153.4, "level": "full" }, "read (reused allocator)": { - "us": 1346.2, + "us": 1161.6, "level": "full" } } @@ -3169,39 +3169,39 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 868.9, + "us": 811.3, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 868.9, + "us": 811.3, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 868.9, + "us": 811.2, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 868.9, + "us": 811.2, "level": "full" }, "variants": { - "On-Demand": { - "us": 868.9, + "On-Demand (reused)": { + "us": 811.2, "level": "full" }, - "On-Demand (reused)": { - "us": 868.9, + "On-Demand": { + "us": 811.3, "level": "full" }, "DOM (reused)": { - "us": 1129.1, + "us": 1225.4, "level": "full" }, "DOM": { - "us": 1179.2, + "us": 1229.4, "level": "full" } } @@ -3210,14 +3210,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1319.9, + "us": 1211.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1319.9, + "us": 1211.2, "level": "no UTF-8" } } @@ -3225,35 +3225,35 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 4521.3, + "us": 4048.4, "level": "full" }, "best_any": { "variant": "generic (double)", - "us": 4415.4, + "us": 4030.0, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "generic (double)": { - "us": 4415.4, + "us": 4030.0, "level": "partial" }, "generic (double, strict)": { - "us": 4521.3, + "us": 4048.4, "level": "full" }, "generic": { - "us": 6475.9, + "us": 5622.8, "level": "partial" }, "generic (strict)": { - "us": 6519.4, + "us": 5628.8, "level": "full" }, "lazy_json": { - "us": 13809.8, + "us": 13445.6, "level": "partial" } }, @@ -3264,39 +3264,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 1131.1, + "us": 1017.5, "level": "full" }, "best_any": { "variant": "SAX", - "us": 1131.1, + "us": 1017.5, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 1097.4, + "us": 1014.5, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 1097.4, + "us": 1014.5, "level": "full" }, "variants": { "SAX (reused)": { - "us": 1097.4, + "us": 1014.5, "level": "full" }, "SAX": { - "us": 1131.1, - "level": "full" - }, - "parse": { - "us": 2118.7, + "us": 1017.5, "level": "full" }, "parser (reused)": { - "us": 2162.7, + "us": 2064.3, + "level": "full" + }, + "parse": { + "us": 2079.0, "level": "full" } } @@ -3304,55 +3304,55 @@ "RapidJSON": { "best": { "variant": "SAX", - "us": 2476.3, + "us": 2326.3, "level": "full" }, "best_any": { "variant": "SAX (no encoding check)", - "us": 1909.5, + "us": 1738.9, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2338.1, + "us": 2162.1, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 2261.5, + "us": 2108.7, "level": "no UTF-8" }, "variants": { "SAX (no encoding check)": { - "us": 1909.5, + "us": 1738.9, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 2252.1, + "us": 2085.9, + "level": "no UTF-8" + }, + "insitu (copy) (no encoding check)": { + "us": 2101.0, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 2261.5, + "us": 2108.7, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 2338.1, + "us": 2162.1, "level": "full" }, - "insitu (copy) (no encoding check)": { - "us": 2391.6, - "level": "no UTF-8" - }, "SAX": { - "us": 2476.3, + "us": 2326.3, "level": "full" }, "insitu (copy)": { - "us": 2514.1, + "us": 2381.9, "level": "full" }, "Document": { - "us": 2931.9, + "us": 2782.0, "level": "full" } } @@ -3360,23 +3360,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 2316.5, + "us": 2287.8, "level": "full" }, "best_any": { "variant": "visitor", - "us": 2316.5, + "us": 2287.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 2316.5, + "us": 2287.8, "level": "full" }, "Value": { - "us": 6263.6, + "us": 5984.9, "level": "full" } } @@ -3384,23 +3384,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 1122.8, + "us": 1122.9, "level": "full" }, "best_any": { "variant": "visitor", - "us": 1122.8, + "us": 1122.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 1122.8, + "us": 1122.9, "level": "full" }, "Value": { - "us": 1850.5, + "us": 1829.3, "level": "full" } } @@ -3408,35 +3408,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 1687.6, + "us": 1649.9, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 1687.6, + "us": 1649.9, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 3929.4, + "us": 3680.4, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 3929.4, + "us": 3680.4, "level": "full" }, "variants": { "visitor (copy)": { - "us": 1687.6, - "level": "full" - }, - "borrowed (reused)": { - "us": 3929.4, + "us": 1649.9, "level": "full" }, "borrowed (copy)": { - "us": 3960.3, + "us": 3653.1, + "level": "full" + }, + "borrowed (reused)": { + "us": 3680.4, "level": "full" } } @@ -3446,31 +3446,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 3807.5, + "us": 3687.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 3807.5, + "us": 3687.2, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 3952.0, + "us": 3683.1, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 3952.0, + "us": 3683.1, "level": "full" }, "variants": { - "parse": { - "us": 3807.5, + "read (reused)": { + "us": 3683.1, "level": "full" }, - "read (reused)": { - "us": 3952.0, + "parse": { + "us": 3687.2, "level": "full" } } @@ -3478,59 +3478,59 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 6123.6, + "us": 5697.2, "level": "full" }, "best_any": { "variant": "sax", - "us": 6123.6, + "us": 5697.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 6123.6, + "us": 5697.2, "level": "full" }, "parse": { - "us": 13079.9, + "us": 12296.3, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 6229.9, + "variant": "read", + "us": 5982.4, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 6229.9, + "variant": "read", + "us": 5982.4, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 6281.7, + "us": 5974.2, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 6281.7, + "us": 5974.2, "level": "full" }, "variants": { - "insitu (copy)": { - "us": 6229.9, - "level": "full" - }, "read (reused allocator)": { - "us": 6281.7, + "us": 5974.2, "level": "full" }, "read": { - "us": 6305.3, + "us": 5982.4, + "level": "full" + }, + "insitu (copy)": { + "us": 6021.5, "level": "full" } } @@ -3538,39 +3538,39 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 3513.8, + "us": 3329.5, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 3513.8, + "us": 3329.5, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 3406.8, + "us": 3299.8, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 3406.8, + "us": 3299.8, "level": "full" }, "variants": { "On-Demand (reused)": { - "us": 3406.8, + "us": 3299.8, "level": "full" }, "On-Demand": { - "us": 3513.8, - "level": "full" - }, - "DOM": { - "us": 4450.8, + "us": 3329.5, "level": "full" }, "DOM (reused)": { - "us": 4508.4, + "us": 4613.5, + "level": "full" + }, + "DOM": { + "us": 4636.3, "level": "full" } } @@ -3579,14 +3579,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 4447.5, + "us": 4177.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 4447.5, + "us": 4177.8, "level": "no UTF-8" } } @@ -3594,36 +3594,36 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 12147.8, + "us": 10485.2, "level": "full" }, "best_any": { - "variant": "generic (double)", - "us": 12045.8, - "level": "partial" + "variant": "generic (double, strict)", + "us": 10485.2, + "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (double)": { - "us": 12045.8, - "level": "partial" - }, "generic (double, strict)": { - "us": 12147.8, + "us": 10485.2, "level": "full" }, - "lazy_json": { - "us": 20412.5, + "generic (double)": { + "us": 10596.7, "level": "partial" }, - "generic": { - "us": 20935.3, + "lazy_json": { + "us": 17558.6, "level": "partial" }, "generic (strict)": { - "us": 21726.5, + "us": 19018.6, "level": "full" + }, + "generic": { + "us": 19548.1, + "level": "partial" } }, "excluded": { @@ -3633,39 +3633,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 5696.0, + "us": 5847.3, "level": "full" }, "best_any": { "variant": "SAX", - "us": 5696.0, + "us": 5847.3, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 5604.4, + "us": 5836.0, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 5604.4, + "us": 5836.0, "level": "full" }, "variants": { "SAX (reused)": { - "us": 5604.4, + "us": 5836.0, "level": "full" }, "SAX": { - "us": 5696.0, + "us": 5847.3, "level": "full" }, "parse": { - "us": 8109.2, + "us": 7838.4, "level": "full" }, "parser (reused)": { - "us": 8294.9, + "us": 7894.2, "level": "full" } } @@ -3673,55 +3673,55 @@ "RapidJSON": { "best": { "variant": "SAX", - "us": 12444.3, + "us": 10949.2, "level": "full" }, "best_any": { - "variant": "SAX", - "us": 12444.3, - "level": "full" + "variant": "SAX (no encoding check)", + "us": 10824.8, + "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 13516.5, + "us": 12203.3, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 12815.8, + "us": 12124.3, "level": "no UTF-8" }, "variants": { + "SAX (no encoding check)": { + "us": 10824.8, + "level": "no UTF-8" + }, "SAX": { - "us": 12444.3, + "us": 10949.2, + "level": "full" + }, + "Document (no encoding check)": { + "us": 11639.9, + "level": "no UTF-8" + }, + "insitu (copy)": { + "us": 11992.4, + "level": "full" + }, + "Document": { + "us": 12108.3, "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 12815.8, + "us": 12124.3, "level": "no UTF-8" }, - "Document": { - "us": 12902.5, - "level": "full" - }, "insitu (copy) (no encoding check)": { - "us": 13065.7, - "level": "no UTF-8" - }, - "SAX (no encoding check)": { - "us": 13265.2, - "level": "no UTF-8" - }, - "Document (no encoding check)": { - "us": 13498.5, + "us": 12147.6, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 13516.5, - "level": "full" - }, - "insitu (copy)": { - "us": 13668.9, + "us": 12203.3, "level": "full" } } @@ -3729,23 +3729,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 7240.7, + "us": 7126.8, "level": "full" }, "best_any": { "variant": "visitor", - "us": 7240.7, + "us": 7126.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 7240.7, + "us": 7126.8, "level": "full" }, "Value": { - "us": 13909.9, + "us": 13663.1, "level": "full" } } @@ -3753,23 +3753,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 4418.5, + "us": 4397.1, "level": "full" }, "best_any": { "variant": "visitor", - "us": 4418.5, + "us": 4397.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 4418.5, + "us": 4397.1, "level": "full" }, "Value": { - "us": 7197.0, + "us": 7133.8, "level": "full" } } @@ -3777,35 +3777,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 5134.0, + "us": 5083.0, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 5134.0, + "us": 5083.0, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 11297.7, + "us": 10643.9, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 11297.7, + "us": 10643.9, "level": "full" }, "variants": { "visitor (copy)": { - "us": 5134.0, - "level": "full" - }, - "borrowed (copy)": { - "us": 11077.3, + "us": 5083.0, "level": "full" }, "borrowed (reused)": { - "us": 11297.7, + "us": 10643.9, + "level": "full" + }, + "borrowed (copy)": { + "us": 10771.4, "level": "full" } } @@ -3815,31 +3815,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 97029.0, + "us": 83750.6, "level": "full" }, "best_any": { "variant": "parse", - "us": 97029.0, + "us": 83750.6, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 59521.6, + "us": 52077.6, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 59521.6, + "us": 52077.6, "level": "full" }, "variants": { "read (reused)": { - "us": 59521.6, + "us": 52077.6, "level": "full" }, "parse": { - "us": 97029.0, + "us": 83750.6, "level": "full" } } @@ -3847,23 +3847,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 106309.7, + "us": 95144.5, "level": "full" }, "best_any": { "variant": "sax", - "us": 106309.7, + "us": 95144.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 106309.7, + "us": 95144.5, "level": "full" }, "parse": { - "us": 622584.0, + "us": 412945.5, "level": "full" } } @@ -3871,35 +3871,35 @@ "yyjson": { "best": { "variant": "read", - "us": 137829.8, + "us": 132844.2, "level": "full" }, "best_any": { "variant": "read", - "us": 137829.8, + "us": 132844.2, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 77850.5, + "us": 70112.6, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 77850.5, + "us": 70112.6, "level": "full" }, "variants": { "read (reused allocator)": { - "us": 77850.5, + "us": 70112.6, "level": "full" }, "read": { - "us": 137829.8, + "us": 132844.2, "level": "full" }, "insitu (copy)": { - "us": 149441.6, + "us": 135201.1, "level": "full" } } @@ -3907,39 +3907,39 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 97314.9, + "us": 89536.4, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 97314.9, + "us": 89536.4, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 54088.4, + "us": 50299.5, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 54088.4, + "us": 50299.5, "level": "full" }, "variants": { "On-Demand (reused)": { - "us": 54088.4, + "us": 50299.5, "level": "full" }, "DOM (reused)": { - "us": 67650.2, + "us": 63616.1, "level": "full" }, "On-Demand": { - "us": 97314.9, + "us": 89536.4, "level": "full" }, "DOM": { - "us": 133196.5, + "us": 135224.9, "level": "full" } } @@ -3948,14 +3948,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 108214.1, + "us": 102429.2, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 108214.1, + "us": 102429.2, "level": "no UTF-8" } } @@ -3963,36 +3963,36 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 312262.9, + "us": 233679.5, "level": "full" }, "best_any": { "variant": "lazy_json", - "us": 241144.8, + "us": 220377.0, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "lazy_json": { - "us": 241144.8, - "level": "partial" - }, - "generic (double)": { - "us": 306413.7, + "us": 220377.0, "level": "partial" }, "generic (double, strict)": { - "us": 312262.9, + "us": 233679.5, "level": "full" }, - "generic": { - "us": 412843.2, + "generic (double)": { + "us": 242563.5, "level": "partial" }, "generic (strict)": { - "us": 429840.7, + "us": 334266.2, "level": "full" + }, + "generic": { + "us": 334572.3, + "level": "partial" } }, "excluded": { @@ -4002,39 +4002,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 69348.3, + "us": 62360.7, "level": "full" }, "best_any": { "variant": "SAX", - "us": 69348.3, + "us": 62360.7, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 67127.1, + "us": 61875.3, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 67127.1, + "us": 61875.3, "level": "full" }, "variants": { "SAX (reused)": { - "us": 67127.1, + "us": 61875.3, "level": "full" }, "SAX": { - "us": 69348.3, + "us": 62360.7, "level": "full" }, "parser (reused)": { - "us": 149870.3, + "us": 150245.8, "level": "full" }, "parse": { - "us": 211593.4, + "us": 196936.9, "level": "full" } } @@ -4042,55 +4042,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 223612.4, + "us": 212747.0, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 160781.3, + "us": 156639.2, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 212183.7, + "us": 198855.5, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 192770.6, + "us": 191691.5, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 160781.3, + "us": 156639.2, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 183157.1, + "us": 167429.0, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 192770.6, + "us": 191691.5, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 208314.8, + "us": 198523.1, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 212183.7, + "us": 198855.5, "level": "full" }, "insitu (copy)": { - "us": 223612.4, + "us": 212747.0, "level": "full" }, "SAX": { - "us": 304345.3, + "us": 282812.1, "level": "full" }, "Document": { - "us": 335030.4, + "us": 307605.9, "level": "full" } } @@ -4098,23 +4098,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 130249.3, + "us": 129497.0, "level": "full" }, "best_any": { "variant": "visitor", - "us": 130249.3, + "us": 129497.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 130249.3, + "us": 129497.0, "level": "full" }, "Value": { - "us": 544041.8, + "us": 403258.0, "level": "full" } } @@ -4122,23 +4122,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 59992.8, + "us": 59583.3, "level": "full" }, "best_any": { "variant": "visitor", - "us": 59992.8, + "us": 59583.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 59992.8, + "us": 59583.3, "level": "full" }, "Value": { - "us": 149296.9, + "us": 139337.6, "level": "full" } } @@ -4146,35 +4146,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 224411.1, + "us": 210185.2, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 224411.1, + "us": 210185.2, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 236685.9, + "us": 220283.6, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 236685.9, + "us": 220283.6, "level": "full" }, "variants": { "visitor (copy)": { - "us": 224411.1, + "us": 210185.2, "level": "full" }, "borrowed (reused)": { - "us": 236685.9, + "us": 220283.6, "level": "full" }, "borrowed (copy)": { - "us": 310720.1, + "us": 282561.7, "level": "full" } } @@ -4184,31 +4184,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 2.2, + "us": 2.0, "level": "full" }, "best_any": { "variant": "parse", - "us": 2.2, + "us": 2.0, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 2.1, + "us": 1.9, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 2.1, + "us": 1.9, "level": "full" }, "variants": { "read (reused)": { - "us": 2.1, + "us": 1.9, "level": "full" }, "parse": { - "us": 2.2, + "us": 2.0, "level": "full" } } @@ -4216,23 +4216,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 4.2, + "us": 4.1, "level": "full" }, "best_any": { "variant": "sax", - "us": 4.2, + "us": 4.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 4.2, + "us": 4.1, "level": "full" }, "parse": { - "us": 14.9, + "us": 18.3, "level": "full" } } @@ -4240,35 +4240,35 @@ "yyjson": { "best": { "variant": "read", - "us": 2.1, + "us": 2.0, "level": "full" }, "best_any": { "variant": "read", - "us": 2.1, + "us": 2.0, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 2.0, + "us": 1.9, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 2.0, + "us": 1.9, "level": "full" }, "variants": { "read (reused allocator)": { - "us": 2.0, + "us": 1.9, "level": "full" }, "read": { - "us": 2.1, + "us": 2.0, "level": "full" }, "insitu (copy)": { - "us": 2.2, + "us": 2.0, "level": "full" } } @@ -4276,39 +4276,39 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 2.1, + "us": 2.0, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 2.1, + "us": 2.0, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 1.8, + "us": 1.7, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 1.8, + "us": 1.7, "level": "full" }, "variants": { "On-Demand (reused)": { - "us": 1.8, + "us": 1.7, "level": "full" }, "On-Demand": { - "us": 2.1, - "level": "full" - }, - "DOM (reused)": { - "us": 2.3, + "us": 2.0, "level": "full" }, "DOM": { - "us": 2.6, + "us": 2.4, + "level": "full" + }, + "DOM (reused)": { + "us": 2.4, "level": "full" } } @@ -4317,14 +4317,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 2.2, + "us": 1.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 2.2, + "us": 1.9, "level": "no UTF-8" } } @@ -4332,35 +4332,35 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 10.5, + "us": 8.9, "level": "full" }, "best_any": { "variant": "lazy_json", - "us": 6.6, + "us": 6.1, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "lazy_json": { - "us": 6.6, + "us": 6.1, "level": "partial" }, "generic (double)": { - "us": 10.4, + "us": 8.7, "level": "partial" }, "generic (double, strict)": { - "us": 10.5, + "us": 8.9, "level": "full" }, "generic": { - "us": 14.5, + "us": 13.2, "level": "partial" }, "generic (strict)": { - "us": 14.8, + "us": 13.4, "level": "full" } }, @@ -4371,39 +4371,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 3.5, + "us": 3.3, "level": "full" }, "best_any": { "variant": "SAX", - "us": 3.5, + "us": 3.3, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 3.5, + "us": 3.4, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 3.5, + "us": 3.4, "level": "full" }, "variants": { "SAX": { - "us": 3.5, + "us": 3.3, "level": "full" }, "SAX (reused)": { - "us": 3.5, + "us": 3.4, "level": "full" }, "parser (reused)": { - "us": 7.0, + "us": 6.7, "level": "full" }, "parse": { - "us": 7.5, + "us": 7.2, "level": "full" } } @@ -4411,47 +4411,47 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 7.9, + "us": 7.7, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 4.4, + "us": 4.0, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 8.8, + "us": 8.4, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 8.3, + "us": 8.2, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 4.4, + "us": 4.0, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 7.4, + "us": 7.1, "level": "no UTF-8" }, "insitu (copy)": { - "us": 7.9, + "us": 7.7, "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 8.3, + "us": 8.2, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 8.8, + "us": 8.4, "level": "full" }, "Document (no encoding check)": { - "us": 8.8, + "us": 8.4, "level": "no UTF-8" }, "SAX": { @@ -4459,7 +4459,7 @@ "level": "full" }, "Document": { - "us": 14.0, + "us": 13.7, "level": "full" } } @@ -4467,23 +4467,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 5.1, + "us": 4.6, "level": "full" }, "best_any": { "variant": "visitor", - "us": 5.1, + "us": 4.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 5.1, + "us": 4.6, "level": "full" }, "Value": { - "us": 14.2, + "us": 13.2, "level": "full" } } @@ -4491,23 +4491,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 2.8, + "us": 2.5, "level": "full" }, "best_any": { "variant": "visitor", - "us": 2.8, + "us": 2.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 2.8, + "us": 2.5, "level": "full" }, "Value": { - "us": 4.5, + "us": 3.9, "level": "full" } } @@ -4515,35 +4515,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 4.0, + "us": 3.5, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 4.0, + "us": 3.5, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 6.7, + "us": 5.8, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 6.7, + "us": 5.8, "level": "full" }, "variants": { "visitor (copy)": { - "us": 4.0, + "us": 3.5, "level": "full" }, "borrowed (reused)": { - "us": 6.7, + "us": 5.8, "level": "full" }, "borrowed (copy)": { - "us": 7.4, + "us": 6.1, "level": "full" } } @@ -4553,31 +4553,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 367.2, + "us": 341.5, "level": "full" }, "best_any": { "variant": "parse", - "us": 367.2, + "us": 341.5, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 351.4, + "us": 336.0, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 351.4, + "us": 336.0, "level": "full" }, "variants": { "read (reused)": { - "us": 351.4, + "us": 336.0, "level": "full" }, "parse": { - "us": 367.2, + "us": 341.5, "level": "full" } } @@ -4585,23 +4585,23 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 732.3, + "us": 698.8, "level": "full" }, "best_any": { "variant": "sax", - "us": 732.3, + "us": 698.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 732.3, + "us": 698.8, "level": "full" }, "parse": { - "us": 3584.1, + "us": 3289.5, "level": "full" } } @@ -4609,35 +4609,35 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 389.0, + "us": 388.0, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 389.0, + "us": 388.0, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 411.6, + "us": 387.5, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 411.6, + "us": 387.5, "level": "full" }, "variants": { + "read (reused allocator)": { + "us": 387.5, + "level": "full" + }, "insitu (copy)": { - "us": 389.0, + "us": 388.0, "level": "full" }, "read": { - "us": 393.9, - "level": "full" - }, - "read (reused allocator)": { - "us": 411.6, + "us": 388.2, "level": "full" } } @@ -4645,39 +4645,39 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 337.7, + "us": 335.4, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 337.7, + "us": 335.4, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 372.3, + "us": 335.4, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 372.3, + "us": 335.4, "level": "full" }, "variants": { "On-Demand": { - "us": 337.7, + "us": 335.4, "level": "full" }, "On-Demand (reused)": { - "us": 372.3, + "us": 335.4, "level": "full" }, "DOM (reused)": { - "us": 432.9, + "us": 415.5, "level": "full" }, "DOM": { - "us": 443.6, + "us": 420.3, "level": "full" } } @@ -4686,14 +4686,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 345.8, + "us": 342.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 345.8, + "us": 342.9, "level": "no UTF-8" } } @@ -4701,35 +4701,35 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 2343.5, + "us": 2166.7, "level": "full" }, "best_any": { "variant": "lazy_json", - "us": 1873.2, + "us": 1708.7, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "lazy_json": { - "us": 1873.2, + "us": 1708.7, + "level": "partial" + }, + "generic (double)": { + "us": 2137.5, "level": "partial" }, "generic (double, strict)": { - "us": 2343.5, + "us": 2166.7, "level": "full" }, - "generic (double)": { - "us": 2416.7, - "level": "partial" - }, "generic (strict)": { - "us": 3202.5, + "us": 2824.4, "level": "full" }, "generic": { - "us": 3209.4, + "us": 2845.1, "level": "partial" } }, @@ -4740,39 +4740,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 619.9, + "us": 620.9, "level": "full" }, "best_any": { "variant": "SAX", - "us": 619.9, + "us": 620.9, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 642.4, + "us": 619.6, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 642.4, + "us": 619.6, "level": "full" }, "variants": { - "SAX": { - "us": 619.9, + "SAX (reused)": { + "us": 619.6, "level": "full" }, - "SAX (reused)": { - "us": 642.4, + "SAX": { + "us": 620.9, "level": "full" }, "parser (reused)": { - "us": 1415.0, + "us": 1367.5, "level": "full" }, "parse": { - "us": 1461.1, + "us": 1367.9, "level": "full" } } @@ -4780,55 +4780,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1414.4, + "us": 1309.1, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 952.5, + "us": 888.0, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1734.4, + "us": 1566.1, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1528.8, + "us": 1471.2, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 952.5, + "us": 888.0, "level": "no UTF-8" }, "SAX (no encoding check)": { - "us": 1395.0, + "us": 1283.2, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1414.4, + "us": 1309.1, "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 1528.8, + "us": 1471.2, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1587.3, + "us": 1490.4, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1734.4, + "us": 1566.1, "level": "full" }, "SAX": { - "us": 2361.7, + "us": 2170.0, "level": "full" }, "Document": { - "us": 2576.3, + "us": 2344.3, "level": "full" } } @@ -4836,23 +4836,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 1040.4, + "us": 1119.0, "level": "full" }, "best_any": { "variant": "visitor", - "us": 1040.4, + "us": 1119.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 1040.4, + "us": 1119.0, "level": "full" }, "Value": { - "us": 3494.0, + "us": 3713.4, "level": "full" } } @@ -4860,23 +4860,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 397.3, + "us": 443.3, "level": "full" }, "best_any": { "variant": "visitor", - "us": 397.3, + "us": 443.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 397.3, + "us": 443.3, "level": "full" }, "Value": { - "us": 674.0, + "us": 684.6, "level": "full" } } @@ -4884,35 +4884,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 619.8, + "us": 635.0, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 619.8, + "us": 635.0, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 1381.5, + "us": 1433.7, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 1381.5, + "us": 1433.7, "level": "full" }, "variants": { "visitor (copy)": { - "us": 619.8, + "us": 635.0, "level": "full" }, "borrowed (reused)": { - "us": 1381.5, + "us": 1433.7, "level": "full" }, "borrowed (copy)": { - "us": 1415.1, + "us": 1434.6, "level": "full" } } @@ -4922,31 +4922,31 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 735.2, + "us": 705.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 735.2, + "us": 705.2, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 735.9, + "us": 703.8, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 735.9, + "us": 703.8, "level": "full" }, "variants": { - "parse": { - "us": 735.2, + "read (reused)": { + "us": 703.8, "level": "full" }, - "read (reused)": { - "us": 735.9, + "parse": { + "us": 705.2, "level": "full" } } @@ -4954,59 +4954,59 @@ "nlohmann json": { "best": { "variant": "sax", - "us": 1294.6, + "us": 1260.1, "level": "full" }, "best_any": { "variant": "sax", - "us": 1294.6, + "us": 1260.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "sax": { - "us": 1294.6, + "us": 1260.1, "level": "full" }, "parse": { - "us": 5560.7, + "us": 4943.6, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 672.3, + "variant": "read", + "us": 674.0, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 672.3, + "variant": "read", + "us": 674.0, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 672.5, + "us": 676.2, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 672.5, + "us": 676.2, "level": "full" }, "variants": { + "read": { + "us": 674.0, + "level": "full" + }, "insitu (copy)": { - "us": 672.3, + "us": 674.8, "level": "full" }, "read (reused allocator)": { - "us": 672.5, - "level": "full" - }, - "read": { - "us": 673.5, + "us": 676.2, "level": "full" } } @@ -5014,39 +5014,39 @@ "simdjson": { "best": { "variant": "On-Demand", - "us": 662.6, + "us": 650.1, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 662.6, + "us": 650.1, "level": "full" }, "best_reused": { "variant": "On-Demand (reused)", - "us": 660.8, + "us": 650.0, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 660.8, + "us": 650.0, "level": "full" }, "variants": { "On-Demand (reused)": { - "us": 660.8, + "us": 650.0, "level": "full" }, "On-Demand": { - "us": 662.6, - "level": "full" - }, - "DOM": { - "us": 895.8, + "us": 650.1, "level": "full" }, "DOM (reused)": { - "us": 895.8, + "us": 1061.1, + "level": "full" + }, + "DOM": { + "us": 1061.7, "level": "full" } } @@ -5055,14 +5055,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 879.3, + "us": 878.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 879.3, + "us": 878.0, "level": "no UTF-8" } } @@ -5070,35 +5070,35 @@ "Glaze": { "best": { "variant": "generic (double, strict)", - "us": 3399.8, + "us": 3325.0, "level": "full" }, "best_any": { - "variant": "generic (double, strict)", - "us": 3399.8, - "level": "full" + "variant": "generic (double)", + "us": 3311.4, + "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (double, strict)": { - "us": 3399.8, - "level": "full" - }, "generic (double)": { - "us": 3484.7, + "us": 3311.4, "level": "partial" }, + "generic (double, strict)": { + "us": 3325.0, + "level": "full" + }, "lazy_json": { - "us": 3583.5, + "us": 3368.7, "level": "partial" }, "generic (strict)": { - "us": 5138.9, + "us": 4961.7, "level": "full" }, "generic": { - "us": 5268.3, + "us": 4968.5, "level": "partial" } }, @@ -5109,39 +5109,39 @@ "Boost.JSON": { "best": { "variant": "SAX", - "us": 690.9, + "us": 697.7, "level": "full" }, "best_any": { "variant": "SAX", - "us": 690.9, + "us": 697.7, "level": "full" }, "best_reused": { "variant": "SAX (reused)", - "us": 691.5, + "us": 697.9, "level": "full" }, "best_reused_any": { "variant": "SAX (reused)", - "us": 691.5, + "us": 697.9, "level": "full" }, "variants": { "SAX": { - "us": 690.9, + "us": 697.7, "level": "full" }, "SAX (reused)": { - "us": 691.5, + "us": 697.9, "level": "full" }, "parser (reused)": { - "us": 1592.7, + "us": 1735.1, "level": "full" }, "parse": { - "us": 1626.7, + "us": 1737.4, "level": "full" } } @@ -5149,55 +5149,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1821.6, + "us": 1797.6, "level": "full" }, "best_any": { "variant": "SAX (no encoding check)", - "us": 1475.6, + "us": 1468.5, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1941.1, + "us": 1955.6, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1936.6, + "us": 1952.3, "level": "no UTF-8" }, "variants": { "SAX (no encoding check)": { - "us": 1475.6, + "us": 1468.5, "level": "no UTF-8" }, "insitu (copy) (no encoding check)": { - "us": 1618.0, + "us": 1586.3, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1821.6, + "us": 1797.6, "level": "full" }, "Document (no encoding check)": { - "us": 1920.7, + "us": 1920.9, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1936.6, + "us": 1952.3, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1941.1, + "us": 1955.6, "level": "full" }, "SAX": { - "us": 2049.4, + "us": 2059.3, "level": "full" }, "Document": { - "us": 2461.5, + "us": 2551.4, "level": "full" } } @@ -5205,23 +5205,23 @@ "serde_json": { "best": { "variant": "visitor", - "us": 1337.4, + "us": 1259.6, "level": "full" }, "best_any": { "variant": "visitor", - "us": 1337.4, + "us": 1259.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 1337.4, + "us": 1259.6, "level": "full" }, "Value": { - "us": 5475.1, + "us": 5376.8, "level": "full" } } @@ -5229,23 +5229,23 @@ "sonic-rs": { "best": { "variant": "visitor", - "us": 836.5, + "us": 840.4, "level": "full" }, "best_any": { "variant": "visitor", - "us": 836.5, + "us": 840.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "visitor": { - "us": 836.5, + "us": 840.4, "level": "full" }, "Value": { - "us": 1438.7, + "us": 1438.3, "level": "full" } } @@ -5253,35 +5253,35 @@ "simd-json": { "best": { "variant": "visitor (copy)", - "us": 1252.6, + "us": 1231.2, "level": "full" }, "best_any": { "variant": "visitor (copy)", - "us": 1252.6, + "us": 1231.2, "level": "full" }, "best_reused": { "variant": "borrowed (reused)", - "us": 3572.8, + "us": 3329.6, "level": "full" }, "best_reused_any": { "variant": "borrowed (reused)", - "us": 3572.8, + "us": 3329.6, "level": "full" }, "variants": { "visitor (copy)": { - "us": 1252.6, + "us": 1231.2, "level": "full" }, "borrowed (reused)": { - "us": 3572.8, + "us": 3329.6, "level": "full" }, "borrowed (copy)": { - "us": 3644.7, + "us": 3447.9, "level": "full" } } @@ -5292,100 +5292,100 @@ "twitter": { "nlohmann json_document": { "best": { - "variant": "structs (from_json)", - "us": 346.9, + "variant": "parse", + "us": 334.7, "level": "full" }, "best_any": { - "variant": "structs (from_json)", - "us": 346.9, + "variant": "parse", + "us": 334.7, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 336.8, + "us": 327.9, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 336.8, + "us": 327.9, "level": "full" }, "variants": { "read (reused)": { - "us": 336.8, - "level": "full" - }, - "structs (from_json)": { - "us": 346.9, + "us": 327.9, "level": "full" }, "parse": { - "us": 347.1, + "us": 334.7, + "level": "full" + }, + "structs (from_json)": { + "us": 335.5, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "structs (from_json)", - "us": 3260.3, + "variant": "parse", + "us": 3323.0, "level": "full" }, "best_any": { - "variant": "structs (from_json)", - "us": 3260.3, + "variant": "parse", + "us": 3323.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "structs (from_json)": { - "us": 3260.3, + "parse": { + "us": 3323.0, "level": "full" }, - "parse": { - "us": 3295.6, + "structs (from_json)": { + "us": 3481.1, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 398.2, + "variant": "read", + "us": 399.1, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 398.2, + "variant": "read", + "us": 399.1, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 400.0, + "us": 402.9, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 400.0, + "us": 402.9, "level": "full" }, "variants": { - "insitu (copy)": { - "us": 398.2, - "level": "full" - }, - "read (reused allocator)": { - "us": 400.0, - "level": "full" - }, "read": { - "us": 401.3, + "us": 399.1, + "level": "full" + }, + "insitu (copy)": { + "us": 401.8, "level": "full" }, "read (raw numbers)": { - "us": 407.3, + "us": 402.9, + "level": "full" + }, + "read (reused allocator)": { + "us": 402.9, "level": "full" } } @@ -5393,47 +5393,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 324.1, + "us": 320.4, "level": "full" }, "best_any": { "variant": "On-Demand (key selectors)", - "us": 185.7, + "us": 184.1, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 325.7, + "us": 321.3, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 184.8, + "us": 182.7, "level": "partial" }, "variants": { "On-Demand (reused)": { - "us": 184.8, + "us": 182.7, "level": "partial" }, "On-Demand (key selectors)": { - "us": 185.7, + "us": 184.1, "level": "partial" }, "On-Demand": { - "us": 186.3, + "us": 184.2, "level": "partial" }, "On-Demand structs": { - "us": 190.1, + "us": 188.7, "level": "partial" }, "DOM": { - "us": 324.1, + "us": 320.4, "level": "full" }, "DOM (reused)": { - "us": 325.7, + "us": 321.3, "level": "full" } } @@ -5442,14 +5442,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 413.6, + "us": 415.1, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 413.6, + "us": 415.1, "level": "no UTF-8" } } @@ -5457,43 +5457,43 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 525.3, + "us": 526.0, "level": "full" }, "best_any": { "variant": "structs", - "us": 338.5, + "us": 340.9, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 338.5, + "us": 340.9, "level": "partial" }, "structs (validate_skipped)": { - "us": 525.3, + "us": 526.0, "level": "full" }, "lazy_json": { - "us": 974.7, + "us": 1000.8, "level": "partial" }, "generic (double)": { - "us": 2470.7, + "us": 2398.8, "level": "partial" }, "generic (double, strict)": { - "us": 2512.2, + "us": 2411.7, "level": "full" }, "generic": { - "us": 3140.6, + "us": 3064.4, "level": "partial" }, "generic (strict)": { - "us": 3195.3, + "us": 3064.7, "level": "full" } }, @@ -5504,35 +5504,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 905.0, + "us": 888.9, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 905.0, + "us": 888.9, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 1421.1, + "us": 1444.3, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 1421.1, + "us": 1444.3, "level": "full" }, "variants": { "parse_into structs": { - "us": 905.0, + "us": 888.9, "level": "full" }, "parser (reused)": { - "us": 1421.1, + "us": 1444.3, "level": "full" }, "parse": { - "us": 1424.8, + "us": 1447.1, "level": "full" } }, @@ -5543,55 +5543,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1613.8, + "us": 1600.8, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1135.3, + "us": 1117.3, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1571.2, + "us": 1581.4, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1489.6, + "us": 1484.1, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1135.3, + "us": 1117.3, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 1489.6, + "us": 1484.1, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1491.8, + "us": 1496.9, "level": "no UTF-8" }, "Document (raw numbers) (no encoding check)": { - "us": 1516.3, + "us": 1530.3, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1571.2, + "us": 1581.4, "level": "full" }, "insitu (copy)": { - "us": 1613.8, + "us": 1600.8, "level": "full" }, "Document": { - "us": 2369.9, + "us": 2374.3, "level": "full" }, "Document (raw numbers)": { - "us": 2400.3, + "us": 2409.1, "level": "full" } } @@ -5599,27 +5599,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 721.9, + "us": 700.6, "level": "full" }, "best_any": { "variant": "from_utf8 + structs", - "us": 721.9, + "us": 700.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "from_utf8 + structs": { - "us": 721.9, + "us": 700.6, "level": "full" }, "structs": { - "us": 785.8, + "us": 739.3, "level": "no UTF-8" }, "Value": { - "us": 4043.7, + "us": 3473.7, "level": "full" } } @@ -5627,23 +5627,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 538.0, + "us": 504.2, "level": "full" }, "best_any": { "variant": "structs", - "us": 538.0, + "us": 504.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 538.0, + "us": 504.2, "level": "full" }, "Value": { - "us": 601.3, + "us": 585.5, "level": "full" } } @@ -5651,23 +5651,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 740.4, + "us": 678.8, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 740.4, + "us": 678.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 740.4, + "us": 678.8, "level": "full" }, "borrowed (copy)": { - "us": 1364.7, + "us": 1284.4, "level": "full" } } @@ -5677,59 +5677,59 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 825.9, + "us": 740.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 825.9, + "us": 740.2, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 843.5, + "us": 743.7, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 843.5, + "us": 743.7, "level": "full" }, "variants": { "parse": { - "us": 825.9, + "us": 740.2, "level": "full" }, "read (reused)": { - "us": 843.5, + "us": 743.7, "level": "full" }, "structs (from_json)": { - "us": 861.4, + "us": 776.0, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "structs (from_json)", - "us": 5881.4, + "variant": "parse", + "us": 5055.3, "level": "full" }, "best_any": { - "variant": "structs (from_json)", - "us": 5881.4, + "variant": "parse", + "us": 5055.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "structs (from_json)": { - "us": 5881.4, + "parse": { + "us": 5055.3, "level": "full" }, - "parse": { - "us": 5944.3, + "structs (from_json)": { + "us": 5143.7, "level": "full" } } @@ -5737,39 +5737,39 @@ "yyjson": { "best": { "variant": "read", - "us": 1053.9, + "us": 995.9, "level": "full" }, "best_any": { "variant": "read", - "us": 1053.9, + "us": 995.9, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 1127.5, + "us": 1007.8, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 1127.5, + "us": 1007.8, "level": "full" }, "variants": { "read": { - "us": 1053.9, + "us": 995.9, "level": "full" }, "insitu (copy)": { - "us": 1061.0, + "us": 995.9, "level": "full" }, "read (raw numbers)": { - "us": 1067.7, + "us": 1003.0, "level": "full" }, "read (reused allocator)": { - "us": 1127.5, + "us": 1007.8, "level": "full" } } @@ -5777,47 +5777,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 780.7, + "us": 755.0, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 530.2, + "us": 508.2, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 797.3, + "us": 754.4, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 497.6, + "us": 506.8, "level": "partial" }, "variants": { "On-Demand (reused)": { - "us": 497.6, + "us": 506.8, "level": "partial" }, "On-Demand": { - "us": 530.2, + "us": 508.2, "level": "partial" }, "On-Demand (key selectors)": { - "us": 531.4, + "us": 510.4, "level": "partial" }, "On-Demand structs": { - "us": 573.3, + "us": 545.3, "level": "partial" }, - "DOM": { - "us": 780.7, + "DOM (reused)": { + "us": 754.4, "level": "full" }, - "DOM (reused)": { - "us": 797.3, + "DOM": { + "us": 755.0, "level": "full" } } @@ -5826,14 +5826,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1099.6, + "us": 1040.1, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1099.6, + "us": 1040.1, "level": "no UTF-8" } } @@ -5841,43 +5841,43 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 1533.7, + "us": 1453.2, "level": "full" }, "best_any": { "variant": "structs", - "us": 416.7, + "us": 404.6, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 416.7, + "us": 404.6, "level": "partial" }, "structs (validate_skipped)": { - "us": 1533.7, + "us": 1453.2, + "level": "full" + }, + "generic (double, strict)": { + "us": 3922.1, "level": "full" }, "generic (double)": { - "us": 4383.5, + "us": 3932.6, "level": "partial" }, - "generic (double, strict)": { - "us": 4402.8, - "level": "full" - }, "generic (strict)": { - "us": 6119.5, + "us": 5510.0, "level": "full" }, "generic": { - "us": 6128.0, + "us": 5566.5, "level": "partial" }, "lazy_json": { - "us": 9255.3, + "us": 9013.5, "level": "partial" } }, @@ -5888,35 +5888,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 1325.2, + "us": 1383.0, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 1325.2, + "us": 1383.0, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 1963.4, + "us": 1917.0, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 1963.4, + "us": 1917.0, "level": "full" }, "variants": { "parse_into structs": { - "us": 1325.2, - "level": "full" - }, - "parse": { - "us": 1960.9, + "us": 1383.0, "level": "full" }, "parser (reused)": { - "us": 1963.4, + "us": 1917.0, + "level": "full" + }, + "parse": { + "us": 1921.7, "level": "full" } }, @@ -5927,55 +5927,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 2467.1, + "us": 2216.5, "level": "full" }, "best_any": { "variant": "Document (no encoding check)", - "us": 2119.9, + "us": 1919.5, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 2188.6, + "us": 1996.4, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 2065.7, + "us": 1931.8, "level": "no UTF-8" }, "variants": { - "Document (reused allocator) (no encoding check)": { - "us": 2065.7, + "Document (no encoding check)": { + "us": 1919.5, "level": "no UTF-8" }, - "Document (no encoding check)": { - "us": 2119.9, + "Document (reused allocator) (no encoding check)": { + "us": 1931.8, "level": "no UTF-8" }, "insitu (copy) (no encoding check)": { - "us": 2166.9, + "us": 1932.5, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 2188.6, + "us": 1996.4, "level": "full" }, "Document (raw numbers) (no encoding check)": { - "us": 2340.4, + "us": 2214.8, "level": "no UTF-8" }, "insitu (copy)": { - "us": 2467.1, + "us": 2216.5, "level": "full" }, "Document": { - "us": 2794.0, + "us": 2609.8, "level": "full" }, "Document (raw numbers)": { - "us": 3101.0, + "us": 2781.6, "level": "full" } } @@ -5983,27 +5983,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 1558.9, + "us": 1532.5, "level": "full" }, "best_any": { "variant": "structs", - "us": 1515.6, + "us": 1526.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 1515.6, + "us": 1526.5, "level": "no UTF-8" }, "from_utf8 + structs": { - "us": 1558.9, + "us": 1532.5, "level": "full" }, "Value": { - "us": 6063.1, + "us": 5821.5, "level": "full" } } @@ -6011,23 +6011,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 1027.5, + "us": 1033.2, "level": "full" }, "best_any": { "variant": "structs", - "us": 1027.5, + "us": 1033.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 1027.5, + "us": 1033.2, "level": "full" }, "Value": { - "us": 1219.0, + "us": 1226.3, "level": "full" } } @@ -6035,23 +6035,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 1801.5, + "us": 1731.1, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 1801.5, + "us": 1731.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 1801.5, + "us": 1731.1, "level": "full" }, "borrowed (copy)": { - "us": 3775.9, + "us": 3476.9, "level": "full" } } @@ -6060,60 +6060,60 @@ "canada": { "nlohmann json_document": { "best": { - "variant": "structs (from_json)", - "us": 1403.1, + "variant": "parse", + "us": 1358.0, "level": "full" }, "best_any": { - "variant": "structs (from_json)", - "us": 1403.1, + "variant": "parse", + "us": 1358.0, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 1414.9, + "us": 1359.4, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 1414.9, + "us": 1359.4, "level": "full" }, "variants": { - "structs (from_json)": { - "us": 1403.1, + "parse": { + "us": 1358.0, "level": "full" }, - "parse": { - "us": 1406.3, + "structs (from_json)": { + "us": 1358.8, "level": "full" }, "read (reused)": { - "us": 1414.9, + "us": 1359.4, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "parse", - "us": 12046.0, + "variant": "structs (from_json)", + "us": 12002.3, "level": "full" }, "best_any": { - "variant": "parse", - "us": 12046.0, + "variant": "structs (from_json)", + "us": 12002.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "parse": { - "us": 12046.0, + "structs (from_json)": { + "us": 12002.3, "level": "full" }, - "structs (from_json)": { - "us": 12113.2, + "parse": { + "us": 12169.0, "level": "full" } } @@ -6121,39 +6121,39 @@ "yyjson": { "best": { "variant": "read (raw numbers)", - "us": 2306.5, + "us": 2221.3, "level": "full" }, "best_any": { "variant": "read (raw numbers)", - "us": 2306.5, + "us": 2221.3, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 5387.0, + "us": 5470.4, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 5387.0, + "us": 5470.4, "level": "full" }, "variants": { "read (raw numbers)": { - "us": 2306.5, - "level": "full" - }, - "insitu (copy)": { - "us": 5333.5, + "us": 2221.3, "level": "full" }, "read (reused allocator)": { - "us": 5387.0, + "us": 5470.4, "level": "full" }, "read": { - "us": 5673.3, + "us": 5485.1, + "level": "full" + }, + "insitu (copy)": { + "us": 5498.1, "level": "full" } } @@ -6161,47 +6161,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 3417.9, + "us": 3149.3, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 733.2, + "us": 700.7, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 3199.6, + "us": 3189.2, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 732.9, + "us": 697.5, "level": "partial" }, "variants": { "On-Demand (reused)": { - "us": 732.9, + "us": 697.5, "level": "partial" }, "On-Demand": { - "us": 733.2, + "us": 700.7, "level": "partial" }, "On-Demand (key selectors)": { - "us": 748.9, + "us": 738.1, "level": "partial" }, "On-Demand structs": { - "us": 954.7, + "us": 920.7, "level": "partial" }, - "DOM (reused)": { - "us": 3199.6, + "DOM": { + "us": 3149.3, "level": "full" }, - "DOM": { - "us": 3417.9, + "DOM (reused)": { + "us": 3189.2, "level": "full" } } @@ -6210,14 +6210,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 3705.0, + "us": 3708.3, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 3705.0, + "us": 3708.3, "level": "no UTF-8" } } @@ -6225,43 +6225,43 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 1925.9, + "us": 1901.9, "level": "full" }, "best_any": { "variant": "structs", - "us": 445.5, + "us": 431.8, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 445.5, + "us": 431.8, "level": "partial" }, "structs (validate_skipped)": { - "us": 1925.9, + "us": 1901.9, "level": "full" }, "lazy_json": { - "us": 3102.7, + "us": 3620.8, + "level": "partial" + }, + "generic (double)": { + "us": 10049.9, "level": "partial" }, "generic (double, strict)": { - "us": 10905.1, + "us": 10134.4, "level": "full" }, - "generic (double)": { - "us": 10928.2, - "level": "partial" - }, "generic": { - "us": 21078.9, + "us": 19176.3, "level": "partial" }, "generic (strict)": { - "us": 21281.0, + "us": 19219.5, "level": "full" } }, @@ -6271,36 +6271,36 @@ }, "Boost.JSON": { "best": { - "variant": "parse", - "us": 7511.3, + "variant": "parse_into structs", + "us": 6905.7, "level": "full" }, "best_any": { - "variant": "parse", - "us": 7511.3, + "variant": "parse_into structs", + "us": 6905.7, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 7821.5, + "us": 7635.1, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 7821.5, + "us": 7635.1, "level": "full" }, "variants": { - "parse": { - "us": 7511.3, - "level": "full" - }, "parse_into structs": { - "us": 7544.2, + "us": 6905.7, "level": "full" }, "parser (reused)": { - "us": 7821.5, + "us": 7635.1, + "level": "full" + }, + "parse": { + "us": 7638.7, "level": "full" } }, @@ -6310,56 +6310,56 @@ }, "RapidJSON": { "best": { - "variant": "Document", - "us": 11972.6, + "variant": "insitu (copy)", + "us": 11490.9, "level": "full" }, "best_any": { - "variant": "Document", - "us": 11972.6, - "level": "full" + "variant": "insitu (copy) (no encoding check)", + "us": 11482.5, + "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 12088.9, + "us": 11597.4, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator)", - "us": 12088.9, + "us": 11597.4, "level": "full" }, "variants": { - "Document": { - "us": 11972.6, - "level": "full" - }, - "Document (reused allocator)": { - "us": 12088.9, - "level": "full" - }, "insitu (copy) (no encoding check)": { - "us": 12276.7, - "level": "no UTF-8" - }, - "Document (reused allocator) (no encoding check)": { - "us": 12306.5, + "us": 11482.5, "level": "no UTF-8" }, "insitu (copy)": { - "us": 12579.0, + "us": 11490.9, "level": "full" }, "Document (no encoding check)": { - "us": 12677.6, + "us": 11560.4, "level": "no UTF-8" }, + "Document (reused allocator)": { + "us": 11597.4, + "level": "full" + }, + "Document (reused allocator) (no encoding check)": { + "us": 11626.0, + "level": "no UTF-8" + }, + "Document": { + "us": 11860.2, + "level": "full" + }, "Document (raw numbers) (no encoding check)": { - "us": 13525.4, + "us": 13471.3, "level": "no UTF-8" }, "Document (raw numbers)": { - "us": 13856.3, + "us": 13907.8, "level": "full" } } @@ -6367,27 +6367,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 2585.2, + "us": 2529.2, "level": "full" }, "best_any": { "variant": "structs", - "us": 2447.5, + "us": 2402.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 2447.5, + "us": 2402.0, "level": "no UTF-8" }, "from_utf8 + structs": { - "us": 2585.2, + "us": 2529.2, "level": "full" }, "Value": { - "us": 13748.4, + "us": 13616.4, "level": "full" } } @@ -6395,23 +6395,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 2283.1, + "us": 2328.5, "level": "full" }, "best_any": { "variant": "structs", - "us": 2283.1, + "us": 2328.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 2283.1, + "us": 2328.5, "level": "full" }, "Value": { - "us": 3833.4, + "us": 3907.0, "level": "full" } } @@ -6419,23 +6419,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 4997.1, + "us": 5143.5, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 4997.1, + "us": 5143.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 4997.1, + "us": 5143.5, "level": "full" }, "borrowed (copy)": { - "us": 10749.4, + "us": 10672.8, "level": "full" } } @@ -6445,35 +6445,35 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 92440.3, + "us": 94846.1, "level": "full" }, "best_any": { "variant": "parse", - "us": 92440.3, + "us": 94846.1, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 61405.9, + "us": 56581.7, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 61405.9, + "us": 56581.7, "level": "full" }, "variants": { "read (reused)": { - "us": 61405.9, + "us": 56581.7, "level": "full" }, "parse": { - "us": 92440.3, + "us": 94846.1, "level": "full" }, "structs (from_json)": { - "us": 116957.8, + "us": 110993.3, "level": "full" } } @@ -6481,63 +6481,63 @@ "nlohmann json": { "best": { "variant": "parse", - "us": 630235.4, + "us": 432006.0, "level": "full" }, "best_any": { "variant": "parse", - "us": 630235.4, + "us": 432006.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 630235.4, + "us": 432006.0, "level": "full" }, "structs (from_json)": { - "us": 665017.4, + "us": 443437.1, "level": "full" } } }, "yyjson": { "best": { - "variant": "insitu (copy)", - "us": 146260.3, + "variant": "read", + "us": 142095.9, "level": "full" }, "best_any": { - "variant": "insitu (copy)", - "us": 146260.3, + "variant": "read", + "us": 142095.9, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 73151.0, + "us": 72269.1, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 73151.0, + "us": 72269.1, "level": "full" }, "variants": { "read (reused allocator)": { - "us": 73151.0, - "level": "full" - }, - "insitu (copy)": { - "us": 146260.3, - "level": "full" - }, - "read (raw numbers)": { - "us": 148581.5, + "us": 72269.1, "level": "full" }, "read": { - "us": 150318.3, + "us": 142095.9, + "level": "full" + }, + "read (raw numbers)": { + "us": 143822.5, + "level": "full" + }, + "insitu (copy)": { + "us": 146389.6, "level": "full" } } @@ -6545,47 +6545,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 132024.8, + "us": 129931.9, "level": "full" }, "best_any": { "variant": "On-Demand (key selectors)", - "us": 49765.8, + "us": 51763.4, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 60725.0, + "us": 60237.2, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 32132.1, + "us": 30756.5, "level": "partial" }, "variants": { "On-Demand (reused)": { - "us": 32132.1, + "us": 30756.5, "level": "partial" }, "On-Demand (key selectors)": { - "us": 49765.8, + "us": 51763.4, "level": "partial" }, "On-Demand": { - "us": 53325.3, + "us": 51997.7, "level": "partial" }, "DOM (reused)": { - "us": 60725.0, + "us": 60237.2, "level": "full" }, "On-Demand structs": { - "us": 72193.9, + "us": 74977.1, "level": "partial" }, "DOM": { - "us": 132024.8, + "us": 129931.9, "level": "full" } } @@ -6594,14 +6594,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 108534.4, + "us": 111786.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 108534.4, + "us": 111786.0, "level": "no UTF-8" } } @@ -6609,44 +6609,44 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 98399.4, + "us": 87166.1, "level": "full" }, "best_any": { "variant": "structs", - "us": 72946.8, + "us": 66832.1, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 72946.8, + "us": 66832.1, "level": "partial" }, "structs (validate_skipped)": { - "us": 98399.4, + "us": 87166.1, "level": "full" }, "lazy_json": { - "us": 113189.7, - "level": "partial" - }, - "generic (double)": { - "us": 300085.7, + "us": 113899.9, "level": "partial" }, "generic (double, strict)": { - "us": 309803.6, + "us": 244263.1, "level": "full" }, - "generic": { - "us": 394920.3, + "generic (double)": { + "us": 247754.5, "level": "partial" }, "generic (strict)": { - "us": 420795.0, + "us": 341613.8, "level": "full" + }, + "generic": { + "us": 348227.9, + "level": "partial" } }, "excluded": { @@ -6656,35 +6656,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 99986.8, + "us": 102895.9, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 99986.8, + "us": 102895.9, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 149358.8, + "us": 149564.0, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 149358.8, + "us": 149564.0, "level": "full" }, "variants": { "parse_into structs": { - "us": 99986.8, + "us": 102895.9, "level": "full" }, "parser (reused)": { - "us": 149358.8, + "us": 149564.0, "level": "full" }, "parse": { - "us": 181899.9, + "us": 212463.2, "level": "full" } }, @@ -6695,55 +6695,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 231174.4, + "us": 221481.2, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 176105.0, + "us": 166715.2, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 197941.1, + "us": 202170.3, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 193323.4, + "us": 192286.8, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 176105.0, + "us": 166715.2, "level": "no UTF-8" }, "Document (reused allocator) (no encoding check)": { - "us": 193323.4, + "us": 192286.8, "level": "no UTF-8" }, - "Document (reused allocator)": { - "us": 197941.1, - "level": "full" - }, "Document (no encoding check)": { - "us": 200018.6, + "us": 197517.8, "level": "no UTF-8" }, "Document (raw numbers) (no encoding check)": { - "us": 202408.8, + "us": 201321.7, "level": "no UTF-8" }, + "Document (reused allocator)": { + "us": 202170.3, + "level": "full" + }, "insitu (copy)": { - "us": 231174.4, + "us": 221481.2, "level": "full" }, "Document (raw numbers)": { - "us": 301625.0, + "us": 307658.9, "level": "full" }, "Document": { - "us": 318100.1, + "us": 313108.9, "level": "full" } } @@ -6751,27 +6751,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 114700.9, + "us": 107315.7, "level": "full" }, "best_any": { "variant": "from_utf8 + structs", - "us": 114700.9, + "us": 107315.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "from_utf8 + structs": { - "us": 114700.9, + "us": 107315.7, "level": "full" }, "structs": { - "us": 142510.2, + "us": 134637.9, "level": "no UTF-8" }, "Value": { - "us": 525827.6, + "us": 410661.1, "level": "full" } } @@ -6779,23 +6779,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 91949.7, + "us": 90485.8, "level": "full" }, "best_any": { "variant": "structs", - "us": 91949.7, + "us": 90485.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 91949.7, + "us": 90485.8, "level": "full" }, "Value": { - "us": 135637.3, + "us": 130216.1, "level": "full" } } @@ -6803,23 +6803,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 258565.9, + "us": 239164.4, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 258565.9, + "us": 239164.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 258565.9, + "us": 239164.4, "level": "full" }, "borrowed (copy)": { - "us": 304889.5, + "us": 293642.8, "level": "full" } } @@ -6829,59 +6829,59 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 1.8, + "us": 1.6, "level": "full" }, "best_any": { "variant": "parse", - "us": 1.8, + "us": 1.6, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 1.6, + "us": 1.5, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 1.6, + "us": 1.5, "level": "full" }, "variants": { "read (reused)": { - "us": 1.6, + "us": 1.5, "level": "full" }, "parse": { - "us": 1.8, + "us": 1.6, "level": "full" }, "structs (from_json)": { - "us": 1.8, + "us": 1.6, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "structs (from_json)", - "us": 13.8, + "variant": "parse", + "us": 17.4, "level": "full" }, "best_any": { - "variant": "structs (from_json)", - "us": 13.8, + "variant": "parse", + "us": 17.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "structs (from_json)": { - "us": 13.8, + "parse": { + "us": 17.4, "level": "full" }, - "parse": { - "us": 14.8, + "structs (from_json)": { + "us": 19.0, "level": "full" } } @@ -6921,7 +6921,7 @@ "level": "full" }, "read (raw numbers)": { - "us": 1.8, + "us": 1.9, "level": "full" } } @@ -6929,7 +6929,7 @@ "simdjson": { "best": { "variant": "DOM", - "us": 2.2, + "us": 2.0, "level": "full" }, "best_any": { @@ -6939,17 +6939,17 @@ }, "best_reused": { "variant": "DOM (reused)", - "us": 1.6, + "us": 1.8, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 1.1, + "us": 1.0, "level": "partial" }, "variants": { "On-Demand (reused)": { - "us": 1.1, + "us": 1.0, "level": "partial" }, "On-Demand (key selectors)": { @@ -6957,19 +6957,19 @@ "level": "partial" }, "On-Demand": { - "us": 1.4, + "us": 1.3, "level": "partial" }, "On-Demand structs": { - "us": 1.4, + "us": 1.3, "level": "partial" }, "DOM (reused)": { - "us": 1.6, + "us": 1.8, "level": "full" }, "DOM": { - "us": 2.2, + "us": 2.0, "level": "full" } } @@ -6978,14 +6978,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1.8, + "us": 1.7, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1.8, + "us": 1.7, "level": "no UTF-8" } } @@ -6998,14 +6998,14 @@ }, "best_any": { "variant": "structs", - "us": 1.4, + "us": 1.5, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 1.4, + "us": 1.5, "level": "partial" }, "structs (validate_skipped)": { @@ -7016,21 +7016,21 @@ "us": 2.2, "level": "partial" }, - "generic (double)": { - "us": 11.1, - "level": "partial" - }, "generic (double, strict)": { - "us": 11.8, + "us": 9.4, "level": "full" }, - "generic": { - "us": 15.6, + "generic (double)": { + "us": 10.0, "level": "partial" }, "generic (strict)": { - "us": 15.6, + "us": 13.2, "level": "full" + }, + "generic": { + "us": 14.5, + "level": "partial" } }, "excluded": { @@ -7040,35 +7040,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 4.3, + "us": 4.1, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 4.3, + "us": 4.1, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 6.9, + "us": 6.5, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 6.9, + "us": 6.5, "level": "full" }, "variants": { "parse_into structs": { - "us": 4.3, - "level": "full" - }, - "parse": { - "us": 6.8, + "us": 4.1, "level": "full" }, "parser (reused)": { - "us": 6.9, + "us": 6.5, + "level": "full" + }, + "parse": { + "us": 7.0, "level": "full" } }, @@ -7079,7 +7079,7 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 7.9, + "us": 7.5, "level": "full" }, "best_any": { @@ -7089,12 +7089,12 @@ }, "best_reused": { "variant": "Document (reused allocator)", - "us": 8.9, + "us": 8.7, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 8.0, + "us": 7.9, "level": "no UTF-8" }, "variants": { @@ -7103,31 +7103,31 @@ "level": "no UTF-8" }, "insitu (copy)": { - "us": 7.9, + "us": 7.5, "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 8.0, + "us": 7.9, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 8.8, + "us": 8.2, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 8.9, + "us": 8.7, "level": "full" }, "Document (raw numbers) (no encoding check)": { - "us": 8.9, + "us": 8.7, "level": "no UTF-8" }, - "Document (raw numbers)": { - "us": 14.2, + "Document": { + "us": 12.9, "level": "full" }, - "Document": { - "us": 14.5, + "Document (raw numbers)": { + "us": 13.9, "level": "full" } } @@ -7155,7 +7155,7 @@ "level": "full" }, "Value": { - "us": 13.0, + "us": 13.1, "level": "full" } } @@ -7179,7 +7179,7 @@ "level": "full" }, "Value": { - "us": 3.0, + "us": 2.8, "level": "full" } } @@ -7187,19 +7187,19 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 3.7, + "us": 3.5, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 3.7, + "us": 3.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 3.7, + "us": 3.5, "level": "full" }, "borrowed (copy)": { @@ -7213,59 +7213,59 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 298.8, + "us": 281.9, "level": "full" }, "best_any": { "variant": "parse", - "us": 298.8, + "us": 281.9, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 300.9, + "us": 278.1, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 300.9, + "us": 278.1, "level": "full" }, "variants": { + "read (reused)": { + "us": 278.1, + "level": "full" + }, "parse": { - "us": 298.8, + "us": 281.9, "level": "full" }, "structs (from_json)": { - "us": 299.8, - "level": "full" - }, - "read (reused)": { - "us": 300.9, + "us": 283.0, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "structs (from_json)", - "us": 3340.8, + "variant": "parse", + "us": 3183.5, "level": "full" }, "best_any": { - "variant": "structs (from_json)", - "us": 3340.8, + "variant": "parse", + "us": 3183.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "structs (from_json)": { - "us": 3340.8, + "parse": { + "us": 3183.5, "level": "full" }, - "parse": { - "us": 3465.3, + "structs (from_json)": { + "us": 3335.5, "level": "full" } } @@ -7273,39 +7273,39 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 343.7, + "us": 341.0, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 343.7, + "us": 341.0, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 359.1, + "us": 343.0, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 359.1, + "us": 343.0, "level": "full" }, "variants": { "insitu (copy)": { - "us": 343.7, - "level": "full" - }, - "read (raw numbers)": { - "us": 349.0, + "us": 341.0, "level": "full" }, "read (reused allocator)": { - "us": 359.1, + "us": 343.0, "level": "full" }, "read": { - "us": 368.4, + "us": 344.5, + "level": "full" + }, + "read (raw numbers)": { + "us": 348.1, "level": "full" } } @@ -7313,47 +7313,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 327.2, + "us": 300.9, "level": "full" }, "best_any": { - "variant": "On-Demand (key selectors)", - "us": 164.0, + "variant": "On-Demand", + "us": 162.0, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 304.3, + "us": 301.8, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 170.7, + "us": 160.5, "level": "partial" }, "variants": { - "On-Demand (key selectors)": { - "us": 164.0, + "On-Demand (reused)": { + "us": 160.5, "level": "partial" }, "On-Demand": { - "us": 167.3, + "us": 162.0, "level": "partial" }, - "On-Demand (reused)": { - "us": 170.7, + "On-Demand (key selectors)": { + "us": 163.5, "level": "partial" }, "On-Demand structs": { - "us": 171.6, + "us": 167.1, "level": "partial" }, - "DOM (reused)": { - "us": 304.3, + "DOM": { + "us": 300.9, "level": "full" }, - "DOM": { - "us": 327.2, + "DOM (reused)": { + "us": 301.8, "level": "full" } } @@ -7362,14 +7362,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 298.6, + "us": 296.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 298.6, + "us": 296.9, "level": "no UTF-8" } } @@ -7377,44 +7377,44 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 441.3, + "us": 419.8, "level": "full" }, "best_any": { "variant": "structs", - "us": 293.8, + "us": 293.4, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 293.8, + "us": 293.4, "level": "partial" }, "structs (validate_skipped)": { - "us": 441.3, + "us": 419.8, "level": "full" }, "lazy_json": { - "us": 457.8, + "us": 448.6, "level": "partial" }, "generic (double)": { - "us": 2441.6, + "us": 2194.6, "level": "partial" }, "generic (double, strict)": { - "us": 2471.8, - "level": "full" - }, - "generic (strict)": { - "us": 3266.6, + "us": 2216.3, "level": "full" }, "generic": { - "us": 3300.7, + "us": 2880.0, "level": "partial" + }, + "generic (strict)": { + "us": 2888.0, + "level": "full" } }, "excluded": { @@ -7424,35 +7424,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 837.1, + "us": 767.2, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 837.1, + "us": 767.2, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 1415.9, + "us": 1322.5, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 1415.9, + "us": 1322.5, "level": "full" }, "variants": { "parse_into structs": { - "us": 837.1, - "level": "full" - }, - "parse": { - "us": 1409.3, + "us": 767.2, "level": "full" }, "parser (reused)": { - "us": 1415.9, + "us": 1322.5, + "level": "full" + }, + "parse": { + "us": 1324.8, "level": "full" } }, @@ -7463,55 +7463,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1404.3, + "us": 1260.7, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 917.8, + "us": 835.4, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1597.8, + "us": 1503.0, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1504.0, + "us": 1412.4, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 917.8, + "us": 835.4, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1404.3, + "us": 1260.7, "level": "full" }, "Document (reused allocator) (no encoding check)": { - "us": 1504.0, + "us": 1412.4, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 1587.6, + "us": 1435.3, + "level": "no UTF-8" + }, + "Document (raw numbers) (no encoding check)": { + "us": 1476.9, "level": "no UTF-8" }, "Document (reused allocator)": { - "us": 1597.8, + "us": 1503.0, "level": "full" }, - "Document (raw numbers) (no encoding check)": { - "us": 1604.3, - "level": "no UTF-8" - }, "Document": { - "us": 2403.6, + "us": 2289.9, "level": "full" }, "Document (raw numbers)": { - "us": 2508.8, + "us": 2321.5, "level": "full" } } @@ -7519,27 +7519,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 543.5, + "us": 540.9, "level": "full" }, "best_any": { "variant": "from_utf8 + structs", - "us": 543.5, + "us": 540.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "from_utf8 + structs": { - "us": 543.5, + "us": 540.9, "level": "full" }, "structs": { - "us": 580.2, + "us": 579.6, "level": "no UTF-8" }, "Value": { - "us": 3409.8, + "us": 3279.9, "level": "full" } } @@ -7547,23 +7547,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 374.9, + "us": 371.4, "level": "full" }, "best_any": { "variant": "structs", - "us": 374.9, + "us": 371.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 374.9, + "us": 371.4, "level": "full" }, "Value": { - "us": 439.6, + "us": 445.2, "level": "full" } } @@ -7571,23 +7571,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 658.8, + "us": 649.2, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 658.8, + "us": 649.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 658.8, + "us": 649.2, "level": "full" }, "borrowed (copy)": { - "us": 1225.0, + "us": 1242.3, "level": "full" } } @@ -7597,35 +7597,35 @@ "nlohmann json_document": { "best": { "variant": "parse", - "us": 553.2, + "us": 530.3, "level": "full" }, "best_any": { "variant": "parse", - "us": 553.2, + "us": 530.3, "level": "full" }, "best_reused": { "variant": "read (reused)", - "us": 554.2, + "us": 530.2, "level": "full" }, "best_reused_any": { "variant": "read (reused)", - "us": 554.2, + "us": 530.2, "level": "full" }, "variants": { - "parse": { - "us": 553.2, + "read (reused)": { + "us": 530.2, "level": "full" }, - "read (reused)": { - "us": 554.2, + "parse": { + "us": 530.3, "level": "full" }, "structs (from_json)": { - "us": 584.6, + "us": 562.8, "level": "full" } } @@ -7633,23 +7633,23 @@ "nlohmann json": { "best": { "variant": "parse", - "us": 5194.3, + "us": 4722.3, "level": "full" }, "best_any": { "variant": "parse", - "us": 5194.3, + "us": 4722.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 5194.3, + "us": 4722.3, "level": "full" }, "structs (from_json)": { - "us": 5310.5, + "us": 4806.0, "level": "full" } } @@ -7657,39 +7657,39 @@ "yyjson": { "best": { "variant": "insitu (copy)", - "us": 512.9, + "us": 516.7, "level": "full" }, "best_any": { "variant": "insitu (copy)", - "us": 512.9, + "us": 516.7, "level": "full" }, "best_reused": { "variant": "read (reused allocator)", - "us": 512.8, + "us": 517.1, "level": "full" }, "best_reused_any": { "variant": "read (reused allocator)", - "us": 512.8, + "us": 517.1, "level": "full" }, "variants": { - "read (reused allocator)": { - "us": 512.8, + "insitu (copy)": { + "us": 516.7, "level": "full" }, - "insitu (copy)": { - "us": 512.9, + "read (reused allocator)": { + "us": 517.1, "level": "full" }, "read": { - "us": 514.5, + "us": 517.5, "level": "full" }, "read (raw numbers)": { - "us": 532.6, + "us": 533.1, "level": "full" } } @@ -7697,47 +7697,47 @@ "simdjson": { "best": { "variant": "DOM", - "us": 601.0, + "us": 592.7, "level": "full" }, "best_any": { "variant": "On-Demand", - "us": 332.7, + "us": 329.3, "level": "partial" }, "best_reused": { "variant": "DOM (reused)", - "us": 599.7, + "us": 592.7, "level": "full" }, "best_reused_any": { "variant": "On-Demand (reused)", - "us": 331.0, + "us": 328.5, "level": "partial" }, "variants": { "On-Demand (reused)": { - "us": 331.0, + "us": 328.5, "level": "partial" }, "On-Demand": { - "us": 332.7, + "us": 329.3, "level": "partial" }, "On-Demand (key selectors)": { - "us": 332.7, + "us": 335.4, "level": "partial" }, "On-Demand structs": { - "us": 372.3, + "us": 369.6, "level": "partial" }, - "DOM (reused)": { - "us": 599.7, + "DOM": { + "us": 592.7, "level": "full" }, - "DOM": { - "us": 601.0, + "DOM (reused)": { + "us": 592.7, "level": "full" } } @@ -7746,14 +7746,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 707.7, + "us": 707.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 707.7, + "us": 707.0, "level": "no UTF-8" } } @@ -7761,43 +7761,43 @@ "Glaze": { "best": { "variant": "structs (validate_skipped)", - "us": 666.2, + "us": 672.8, "level": "full" }, "best_any": { "variant": "structs", - "us": 201.4, + "us": 203.7, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 201.4, + "us": 203.7, "level": "partial" }, "structs (validate_skipped)": { - "us": 666.2, + "us": 672.8, "level": "full" }, "lazy_json": { - "us": 1455.9, + "us": 1456.3, "level": "partial" }, "generic (double)": { - "us": 3364.7, + "us": 3187.6, "level": "partial" }, "generic (double, strict)": { - "us": 3370.8, + "us": 3209.8, "level": "full" }, "generic (strict)": { - "us": 5119.3, + "us": 4833.1, "level": "full" }, "generic": { - "us": 5141.4, + "us": 4843.3, "level": "partial" } }, @@ -7808,35 +7808,35 @@ "Boost.JSON": { "best": { "variant": "parse_into structs", - "us": 1020.5, + "us": 1060.1, "level": "full" }, "best_any": { "variant": "parse_into structs", - "us": 1020.5, + "us": 1060.1, "level": "full" }, "best_reused": { "variant": "parser (reused)", - "us": 1513.3, + "us": 1584.4, "level": "full" }, "best_reused_any": { "variant": "parser (reused)", - "us": 1513.3, + "us": 1584.4, "level": "full" }, "variants": { "parse_into structs": { - "us": 1020.5, - "level": "full" - }, - "parse": { - "us": 1471.5, + "us": 1060.1, "level": "full" }, "parser (reused)": { - "us": 1513.3, + "us": 1584.4, + "level": "full" + }, + "parse": { + "us": 1584.7, "level": "full" } }, @@ -7847,55 +7847,55 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 1635.8, + "us": 1638.1, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1457.0, + "us": 1425.2, "level": "no UTF-8" }, "best_reused": { "variant": "Document (reused allocator)", - "us": 1799.2, + "us": 1787.4, "level": "full" }, "best_reused_any": { "variant": "Document (reused allocator) (no encoding check)", - "us": 1768.9, + "us": 1774.2, "level": "no UTF-8" }, "variants": { "insitu (copy) (no encoding check)": { - "us": 1457.0, + "us": 1425.2, "level": "no UTF-8" }, "insitu (copy)": { - "us": 1635.8, - "level": "full" - }, - "Document (reused allocator) (no encoding check)": { - "us": 1768.9, - "level": "no UTF-8" - }, - "Document (reused allocator)": { - "us": 1799.2, + "us": 1638.1, "level": "full" }, "Document (no encoding check)": { - "us": 1818.9, + "us": 1737.4, "level": "no UTF-8" }, + "Document (reused allocator) (no encoding check)": { + "us": 1774.2, + "level": "no UTF-8" + }, + "Document (reused allocator)": { + "us": 1787.4, + "level": "full" + }, "Document (raw numbers) (no encoding check)": { - "us": 2114.9, + "us": 2037.4, "level": "no UTF-8" }, "Document": { - "us": 2325.7, + "us": 2375.1, "level": "full" }, "Document (raw numbers)": { - "us": 2690.6, + "us": 2608.6, "level": "full" } } @@ -7903,27 +7903,27 @@ "serde_json": { "best": { "variant": "from_utf8 + structs", - "us": 694.2, + "us": 694.6, "level": "full" }, "best_any": { "variant": "from_utf8 + structs", - "us": 694.2, + "us": 694.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "from_utf8 + structs": { - "us": 694.2, + "us": 694.6, "level": "full" }, "structs": { - "us": 727.6, + "us": 726.2, "level": "no UTF-8" }, "Value": { - "us": 5020.7, + "us": 4784.9, "level": "full" } } @@ -7931,23 +7931,23 @@ "sonic-rs": { "best": { "variant": "structs", - "us": 649.8, + "us": 653.4, "level": "full" }, "best_any": { "variant": "structs", - "us": 649.8, + "us": 653.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs": { - "us": 649.8, + "us": 653.4, "level": "full" }, "Value": { - "us": 866.6, + "us": 836.8, "level": "full" } } @@ -7955,23 +7955,23 @@ "simd-json": { "best": { "variant": "structs (copy)", - "us": 1329.8, + "us": 1327.6, "level": "full" }, "best_any": { "variant": "structs (copy)", - "us": 1329.8, + "us": 1327.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "structs (copy)": { - "us": 1329.8, + "us": 1327.6, "level": "full" }, "borrowed (copy)": { - "us": 3306.8, + "us": 3067.6, "level": "full" } } @@ -7983,23 +7983,23 @@ "nlohmann json_document": { "best": { "variant": "editable", - "us": 559.3, + "us": 534.2, "level": "full" }, "best_any": { "variant": "editable", - "us": 559.3, + "us": 534.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable": { - "us": 559.3, + "us": 534.2, "level": "full" }, "editable (source numbers)": { - "us": 584.7, + "us": 559.0, "level": "full" } } @@ -8007,47 +8007,47 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 3190.9, + "us": 2840.1, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 3190.9, + "us": 2840.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 3190.9, + "us": 2840.1, "level": "full" }, "parse": { - "us": 4084.5, + "us": 3840.1, "level": "full" } } }, "yyjson": { "best": { - "variant": "mut copy", - "us": 811.1, + "variant": "insitu (copy) + mut copy", + "us": 806.1, "level": "full" }, "best_any": { - "variant": "mut copy", - "us": 811.1, + "variant": "insitu (copy) + mut copy", + "us": 806.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "mut copy": { - "us": 811.1, + "insitu (copy) + mut copy": { + "us": 806.1, "level": "full" }, - "insitu (copy) + mut copy": { - "us": 813.1, + "mut copy": { + "us": 806.8, "level": "full" } } @@ -8056,14 +8056,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 654.2, + "us": 634.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 654.2, + "us": 634.9, "level": "no UTF-8" } } @@ -8071,23 +8071,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 3706.9, + "us": 3600.3, "level": "full" }, "best_any": { "variant": "generic", - "us": 3613.9, + "us": 3541.8, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 3613.9, + "us": 3541.8, "level": "partial" }, "generic (strict)": { - "us": 3706.9, + "us": 3600.3, "level": "full" } }, @@ -8099,19 +8099,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 2028.2, + "us": 1921.1, "level": "full" }, "best_any": { "variant": "parse", - "us": 2028.2, + "us": 1921.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 2028.2, + "us": 1921.1, "level": "full" } } @@ -8119,31 +8119,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 2507.7, + "us": 2333.7, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1956.0, + "us": 1891.6, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 1956.0, + "us": 1891.6, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 2159.2, + "us": 2111.1, "level": "no UTF-8" }, "insitu (copy)": { - "us": 2507.7, + "us": 2333.7, "level": "full" }, "Document": { - "us": 3192.4, + "us": 2985.1, "level": "full" } } @@ -8151,19 +8151,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 4036.2, + "us": 4041.7, "level": "full" }, "best_any": { "variant": "Value", - "us": 4036.2, + "us": 4041.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 4036.2, + "us": 4041.7, "level": "full" } } @@ -8171,19 +8171,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 1200.7, + "us": 1196.7, "level": "full" }, "best_any": { "variant": "Value", - "us": 1200.7, + "us": 1196.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 1200.7, + "us": 1196.7, "level": "full" } } @@ -8191,23 +8191,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 1923.5, + "us": 1862.2, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 1923.5, + "us": 1862.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 1923.5, + "us": 1862.2, "level": "full" }, "owned (copy)": { - "us": 2634.1, + "us": 2560.0, "level": "full" } } @@ -8217,23 +8217,23 @@ "nlohmann json_document": { "best": { "variant": "editable", - "us": 1123.4, + "us": 1090.7, "level": "full" }, "best_any": { "variant": "editable", - "us": 1123.4, + "us": 1090.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable": { - "us": 1123.4, + "us": 1090.7, "level": "full" }, "editable (source numbers)": { - "us": 1154.4, + "us": 1116.3, "level": "full" } } @@ -8241,23 +8241,23 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 5391.8, + "us": 4985.1, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 5391.8, + "us": 4985.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 5391.8, + "us": 4985.1, "level": "full" }, "parse": { - "us": 6398.7, + "us": 5725.7, "level": "full" } } @@ -8265,23 +8265,23 @@ "yyjson": { "best": { "variant": "mut copy", - "us": 1726.0, + "us": 1711.5, "level": "full" }, "best_any": { "variant": "mut copy", - "us": 1726.0, + "us": 1711.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "mut copy": { - "us": 1726.0, + "us": 1711.5, "level": "full" }, "insitu (copy) + mut copy": { - "us": 1763.8, + "us": 1715.0, "level": "full" } } @@ -8290,14 +8290,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1617.0, + "us": 1558.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1617.0, + "us": 1558.4, "level": "no UTF-8" } } @@ -8305,24 +8305,24 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 6528.0, + "us": 6812.3, "level": "full" }, "best_any": { - "variant": "generic", - "us": 6502.2, - "level": "partial" + "variant": "generic (strict)", + "us": 6812.3, + "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic": { - "us": 6502.2, - "level": "partial" - }, "generic (strict)": { - "us": 6528.0, + "us": 6812.3, "level": "full" + }, + "generic": { + "us": 6826.0, + "level": "partial" } }, "excluded": { @@ -8333,19 +8333,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 2875.0, + "us": 2957.3, "level": "full" }, "best_any": { "variant": "parse", - "us": 2875.0, + "us": 2957.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 2875.0, + "us": 2957.3, "level": "full" } } @@ -8353,31 +8353,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 3342.5, + "us": 3188.1, "level": "full" }, "best_any": { "variant": "Document (no encoding check)", - "us": 3003.6, + "us": 2898.1, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document (no encoding check)": { - "us": 3003.6, + "us": 2898.1, "level": "no UTF-8" }, "insitu (copy) (no encoding check)": { - "us": 3044.2, + "us": 2919.0, "level": "no UTF-8" }, "insitu (copy)": { - "us": 3342.5, + "us": 3188.1, "level": "full" }, "Document": { - "us": 3523.7, + "us": 3573.1, "level": "full" } } @@ -8385,19 +8385,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 7180.9, + "us": 6586.4, "level": "full" }, "best_any": { "variant": "Value", - "us": 7180.9, + "us": 6586.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 7180.9, + "us": 6586.4, "level": "full" } } @@ -8405,19 +8405,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 2415.5, + "us": 2388.6, "level": "full" }, "best_any": { "variant": "Value", - "us": 2415.5, + "us": 2388.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 2415.5, + "us": 2388.6, "level": "full" } } @@ -8425,23 +8425,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 4575.1, + "us": 4193.6, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 4575.1, + "us": 4193.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 4575.1, + "us": 4193.6, "level": "full" }, "owned (copy)": { - "us": 5459.1, + "us": 4989.9, "level": "full" } } @@ -8451,47 +8451,47 @@ "nlohmann json_document": { "best": { "variant": "editable (source numbers)", - "us": 2646.2, + "us": 2605.8, "level": "full" }, "best_any": { "variant": "editable (source numbers)", - "us": 2646.2, + "us": 2605.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable (source numbers)": { - "us": 2646.2, + "us": 2605.8, "level": "full" }, "editable": { - "us": 5740.9, + "us": 5634.2, "level": "full" } } }, "nlohmann json": { "best": { - "variant": "parse", - "us": 16314.1, + "variant": "ordered_json", + "us": 15317.0, "level": "full" }, "best_any": { - "variant": "parse", - "us": 16314.1, + "variant": "ordered_json", + "us": 15317.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "parse": { - "us": 16314.1, + "ordered_json": { + "us": 15317.0, "level": "full" }, - "ordered_json": { - "us": 16865.2, + "parse": { + "us": 15869.0, "level": "full" } } @@ -8499,23 +8499,23 @@ "yyjson": { "best": { "variant": "insitu (copy) + mut copy", - "us": 9874.6, + "us": 9794.1, "level": "full" }, "best_any": { "variant": "insitu (copy) + mut copy", - "us": 9874.6, + "us": 9794.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) + mut copy": { - "us": 9874.6, + "us": 9794.1, "level": "full" }, "mut copy": { - "us": 9876.9, + "us": 9813.6, "level": "full" } } @@ -8524,14 +8524,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 8704.4, + "us": 8793.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 8704.4, + "us": 8793.4, "level": "no UTF-8" } } @@ -8539,23 +8539,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 23958.6, + "us": 22770.9, "level": "full" }, "best_any": { "variant": "generic", - "us": 23543.2, + "us": 22359.5, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 23543.2, + "us": 22359.5, "level": "partial" }, "generic (strict)": { - "us": 23958.6, + "us": 22770.9, "level": "full" } }, @@ -8567,71 +8567,71 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 13782.3, + "us": 13679.4, "level": "full" }, "best_any": { "variant": "parse", - "us": 13782.3, + "us": 13679.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 13782.3, + "us": 13679.4, "level": "full" } } }, "RapidJSON": { "best": { - "variant": "Document", - "us": 21057.2, + "variant": "insitu (copy)", + "us": 20423.7, "level": "full" }, "best_any": { - "variant": "Document", - "us": 21057.2, + "variant": "insitu (copy)", + "us": 20423.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "Document": { - "us": 21057.2, - "level": "full" - }, - "insitu (copy) (no encoding check)": { - "us": 21295.0, - "level": "no UTF-8" - }, "insitu (copy)": { - "us": 21303.4, + "us": 20423.7, "level": "full" }, "Document (no encoding check)": { - "us": 21760.4, + "us": 20426.8, "level": "no UTF-8" + }, + "insitu (copy) (no encoding check)": { + "us": 20483.2, + "level": "no UTF-8" + }, + "Document": { + "us": 20598.2, + "level": "full" } } }, "serde_json": { "best": { "variant": "Value", - "us": 17371.4, + "us": 16630.9, "level": "full" }, "best_any": { "variant": "Value", - "us": 17371.4, + "us": 16630.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 17371.4, + "us": 16630.9, "level": "full" } } @@ -8639,19 +8639,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 7957.7, + "us": 7743.7, "level": "full" }, "best_any": { "variant": "Value", - "us": 7957.7, + "us": 7743.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 7957.7, + "us": 7743.7, "level": "full" } } @@ -8659,23 +8659,23 @@ "simd-json": { "best": { "variant": "owned (copy)", - "us": 15746.3, + "us": 14895.5, "level": "full" }, "best_any": { "variant": "owned (copy)", - "us": 15746.3, + "us": 14895.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "owned (copy)": { - "us": 15746.3, + "us": 14895.5, "level": "full" }, "borrowed (copy)": { - "us": 16036.0, + "us": 14942.9, "level": "full" } } @@ -8685,23 +8685,23 @@ "nlohmann json_document": { "best": { "variant": "editable", - "us": 180573.5, + "us": 192273.7, "level": "full" }, "best_any": { "variant": "editable", - "us": 180573.5, + "us": 192273.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable": { - "us": 180573.5, + "us": 192273.7, "level": "full" }, "editable (source numbers)": { - "us": 207793.3, + "us": 196592.7, "level": "full" } } @@ -8709,23 +8709,23 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 915203.0, + "us": 649500.3, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 915203.0, + "us": 649500.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 915203.0, + "us": 649500.3, "level": "full" }, "parse": { - "us": 1208093.5, + "us": 842186.7, "level": "full" } } @@ -8733,23 +8733,23 @@ "yyjson": { "best": { "variant": "mut copy", - "us": 296845.5, + "us": 314080.6, "level": "full" }, "best_any": { "variant": "mut copy", - "us": 296845.5, + "us": 314080.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "mut copy": { - "us": 296845.5, + "us": 314080.6, "level": "full" }, "insitu (copy) + mut copy": { - "us": 328948.1, + "us": 321483.9, "level": "full" } } @@ -8758,14 +8758,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 191868.5, + "us": 186660.6, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 191868.5, + "us": 186660.6, "level": "no UTF-8" } } @@ -8773,23 +8773,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 788989.2, + "us": 676289.0, "level": "full" }, "best_any": { "variant": "generic", - "us": 786103.0, + "us": 675224.8, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 786103.0, + "us": 675224.8, "level": "partial" }, "generic (strict)": { - "us": 788989.2, + "us": 676289.0, "level": "full" } }, @@ -8801,19 +8801,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 342711.8, + "us": 357635.8, "level": "full" }, "best_any": { "variant": "parse", - "us": 342711.8, + "us": 357635.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 342711.8, + "us": 357635.8, "level": "full" } } @@ -8821,31 +8821,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 372661.8, + "us": 354478.4, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 316447.6, + "us": 297772.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 316447.6, + "us": 297772.8, "level": "no UTF-8" }, "Document (no encoding check)": { - "us": 319980.3, + "us": 334231.2, "level": "no UTF-8" }, "insitu (copy)": { - "us": 372661.8, + "us": 354478.4, "level": "full" }, "Document": { - "us": 439193.8, + "us": 432111.8, "level": "full" } } @@ -8853,19 +8853,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 843034.0, + "us": 632766.1, "level": "full" }, "best_any": { "variant": "Value", - "us": 843034.0, + "us": 632766.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 843034.0, + "us": 632766.1, "level": "full" } } @@ -8873,19 +8873,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 421718.3, + "us": 390951.9, "level": "full" }, "best_any": { "variant": "Value", - "us": 421718.3, + "us": 390951.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 421718.3, + "us": 390951.9, "level": "full" } } @@ -8893,23 +8893,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 435817.2, + "us": 391369.2, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 435817.2, + "us": 391369.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 435817.2, + "us": 391369.2, "level": "full" }, "owned (copy)": { - "us": 696004.8, + "us": 574174.1, "level": "full" } } @@ -8918,24 +8918,24 @@ "status": { "nlohmann json_document": { "best": { - "variant": "editable (source numbers)", - "us": 3.5, + "variant": "editable", + "us": 3.1, "level": "full" }, "best_any": { - "variant": "editable (source numbers)", - "us": 3.5, + "variant": "editable", + "us": 3.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "editable (source numbers)": { - "us": 3.5, + "editable": { + "us": 3.1, "level": "full" }, - "editable": { - "us": 3.6, + "editable (source numbers)": { + "us": 3.2, "level": "full" } } @@ -8943,23 +8943,23 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 15.7, + "us": 14.3, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 15.7, + "us": 14.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 15.7, + "us": 14.3, "level": "full" }, "parse": { - "us": 16.7, + "us": 20.4, "level": "full" } } @@ -8967,23 +8967,23 @@ "yyjson": { "best": { "variant": "mut copy", - "us": 3.9, + "us": 3.8, "level": "full" }, "best_any": { "variant": "mut copy", - "us": 3.9, + "us": 3.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "mut copy": { - "us": 3.9, + "us": 3.8, "level": "full" }, "insitu (copy) + mut copy": { - "us": 4.0, + "us": 3.8, "level": "full" } } @@ -8992,14 +8992,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 3.6, + "us": 3.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 3.6, + "us": 3.4, "level": "no UTF-8" } } @@ -9007,23 +9007,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 17.7, + "us": 15.9, "level": "full" }, "best_any": { "variant": "generic", - "us": 17.7, + "us": 15.8, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 17.7, + "us": 15.8, "level": "partial" }, "generic (strict)": { - "us": 17.7, + "us": 15.9, "level": "full" } }, @@ -9035,19 +9035,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 10.0, + "us": 9.2, "level": "full" }, "best_any": { "variant": "parse", - "us": 10.0, + "us": 9.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 10.0, + "us": 9.2, "level": "full" } } @@ -9055,31 +9055,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 12.3, + "us": 11.8, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 8.4, + "us": 7.7, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 8.4, + "us": 7.7, "level": "no UTF-8" }, "insitu (copy)": { - "us": 12.3, + "us": 11.8, "level": "full" }, "Document (no encoding check)": { - "us": 12.8, + "us": 12.0, "level": "no UTF-8" }, "Document": { - "us": 18.6, + "us": 17.5, "level": "full" } } @@ -9087,19 +9087,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 16.9, + "us": 17.6, "level": "full" }, "best_any": { "variant": "Value", - "us": 16.9, + "us": 17.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 16.9, + "us": 17.6, "level": "full" } } @@ -9127,23 +9127,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 9.6, + "us": 9.0, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 9.6, + "us": 9.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 9.6, + "us": 9.0, "level": "full" }, "owned (copy)": { - "us": 14.3, + "us": 13.1, "level": "full" } } @@ -9152,24 +9152,24 @@ "twitter_min": { "nlohmann json_document": { "best": { - "variant": "editable (source numbers)", - "us": 554.1, + "variant": "editable", + "us": 484.5, "level": "full" }, "best_any": { - "variant": "editable (source numbers)", - "us": 554.1, + "variant": "editable", + "us": 484.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "editable (source numbers)": { - "us": 554.1, + "editable": { + "us": 484.5, "level": "full" }, - "editable": { - "us": 562.0, + "editable (source numbers)": { + "us": 504.9, "level": "full" } } @@ -9177,23 +9177,23 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 2965.8, + "us": 2729.9, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 2965.8, + "us": 2729.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 2965.8, + "us": 2729.9, "level": "full" }, "parse": { - "us": 4282.0, + "us": 3703.3, "level": "full" } } @@ -9201,23 +9201,23 @@ "yyjson": { "best": { "variant": "mut copy", - "us": 801.4, + "us": 734.8, "level": "full" }, "best_any": { "variant": "mut copy", - "us": 801.4, + "us": 734.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "mut copy": { - "us": 801.4, + "us": 734.8, "level": "full" }, "insitu (copy) + mut copy": { - "us": 805.6, + "us": 739.5, "level": "full" } } @@ -9226,14 +9226,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 561.7, + "us": 518.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 561.7, + "us": 518.0, "level": "no UTF-8" } } @@ -9241,24 +9241,24 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 3680.7, + "us": 3261.8, "level": "full" }, "best_any": { - "variant": "generic", - "us": 3565.1, - "level": "partial" + "variant": "generic (strict)", + "us": 3261.8, + "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic": { - "us": 3565.1, - "level": "partial" - }, "generic (strict)": { - "us": 3680.7, + "us": 3261.8, "level": "full" + }, + "generic": { + "us": 3278.1, + "level": "partial" } }, "excluded": { @@ -9269,19 +9269,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 1963.8, + "us": 1846.8, "level": "full" }, "best_any": { "variant": "parse", - "us": 1963.8, + "us": 1846.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 1963.8, + "us": 1846.8, "level": "full" } } @@ -9289,31 +9289,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 2214.0, + "us": 2019.3, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 1720.1, + "us": 1587.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 1720.1, + "us": 1587.8, "level": "no UTF-8" }, "insitu (copy)": { - "us": 2214.0, + "us": 2019.3, "level": "full" }, "Document (no encoding check)": { - "us": 2287.6, + "us": 2064.3, "level": "no UTF-8" }, "Document": { - "us": 3202.3, + "us": 2963.9, "level": "full" } } @@ -9321,19 +9321,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 3752.3, + "us": 3816.4, "level": "full" }, "best_any": { "variant": "Value", - "us": 3752.3, + "us": 3816.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 3752.3, + "us": 3816.4, "level": "full" } } @@ -9341,19 +9341,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 1050.0, + "us": 1061.1, "level": "full" }, "best_any": { "variant": "Value", - "us": 1050.0, + "us": 1061.1, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 1050.0, + "us": 1061.1, "level": "full" } } @@ -9361,23 +9361,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 1851.6, + "us": 1793.6, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 1851.6, + "us": 1793.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 1851.6, + "us": 1793.6, "level": "full" }, "owned (copy)": { - "us": 2606.9, + "us": 2514.9, "level": "full" } } @@ -9387,23 +9387,23 @@ "nlohmann json_document": { "best": { "variant": "editable", - "us": 893.4, + "us": 867.0, "level": "full" }, "best_any": { "variant": "editable", - "us": 893.4, + "us": 867.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "editable": { - "us": 893.4, + "us": 867.0, "level": "full" }, "editable (source numbers)": { - "us": 927.9, + "us": 895.6, "level": "full" } } @@ -9411,47 +9411,47 @@ "nlohmann json": { "best": { "variant": "ordered_json", - "us": 4995.1, + "us": 4710.5, "level": "full" }, "best_any": { "variant": "ordered_json", - "us": 4995.1, + "us": 4710.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "ordered_json": { - "us": 4995.1, + "us": 4710.5, "level": "full" }, "parse": { - "us": 6132.4, + "us": 5395.1, "level": "full" } } }, "yyjson": { "best": { - "variant": "mut copy", - "us": 1223.0, + "variant": "insitu (copy) + mut copy", + "us": 1229.5, "level": "full" }, "best_any": { - "variant": "mut copy", - "us": 1223.0, + "variant": "insitu (copy) + mut copy", + "us": 1229.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { - "mut copy": { - "us": 1223.0, + "insitu (copy) + mut copy": { + "us": 1229.5, "level": "full" }, - "insitu (copy) + mut copy": { - "us": 1224.4, + "mut copy": { + "us": 1231.4, "level": "full" } } @@ -9460,14 +9460,14 @@ "best": null, "best_any": { "variant": "Document", - "us": 1210.6, + "us": 1222.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document": { - "us": 1210.6, + "us": 1222.8, "level": "no UTF-8" } } @@ -9475,23 +9475,23 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 6101.5, + "us": 5560.9, "level": "full" }, "best_any": { "variant": "generic", - "us": 5797.7, + "us": 5556.3, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 5797.7, + "us": 5556.3, "level": "partial" }, "generic (strict)": { - "us": 6101.5, + "us": 5560.9, "level": "full" } }, @@ -9503,19 +9503,19 @@ "Boost.JSON": { "best": { "variant": "parse", - "us": 2549.5, + "us": 2619.0, "level": "full" }, "best_any": { "variant": "parse", - "us": 2549.5, + "us": 2619.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse": { - "us": 2549.5, + "us": 2619.0, "level": "full" } } @@ -9523,31 +9523,31 @@ "RapidJSON": { "best": { "variant": "insitu (copy)", - "us": 2686.9, + "us": 2621.4, "level": "full" }, "best_any": { "variant": "insitu (copy) (no encoding check)", - "us": 2433.3, + "us": 2434.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "insitu (copy) (no encoding check)": { - "us": 2433.3, + "us": 2434.4, "level": "no UTF-8" }, "insitu (copy)": { - "us": 2686.9, + "us": 2621.4, "level": "full" }, "Document (no encoding check)": { - "us": 2878.5, + "us": 2716.5, "level": "no UTF-8" }, "Document": { - "us": 3434.9, + "us": 3370.4, "level": "full" } } @@ -9555,19 +9555,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 5491.4, + "us": 5854.0, "level": "full" }, "best_any": { "variant": "Value", - "us": 5491.4, + "us": 5854.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 5491.4, + "us": 5854.0, "level": "full" } } @@ -9575,19 +9575,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 2034.0, + "us": 1970.9, "level": "full" }, "best_any": { "variant": "Value", - "us": 2034.0, + "us": 1970.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 2034.0, + "us": 1970.9, "level": "full" } } @@ -9595,23 +9595,23 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 4140.4, + "us": 3891.2, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 4140.4, + "us": 3891.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 4140.4, + "us": 3891.2, "level": "full" }, "owned (copy)": { - "us": 5070.4, + "us": 4690.0, "level": "full" } } @@ -9623,35 +9623,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 496.0, + "us": 483.6, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 496.0, + "us": 483.6, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 489.5, + "us": 477.4, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 489.5, + "us": 477.4, "level": "full" }, "variants": { "read + dump (reused)": { - "us": 489.5, + "us": 477.4, "level": "full" }, "parse + dump (source numbers)": { - "us": 496.0, + "us": 483.6, "level": "full" }, "parse + dump": { - "us": 503.5, + "us": 484.6, "level": "full" } } @@ -9659,19 +9659,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 3842.1, + "us": 3753.4, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 3842.1, + "us": 3753.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 3842.1, + "us": 3753.4, "level": "full" } } @@ -9679,39 +9679,39 @@ "yyjson": { "best": { "variant": "insitu (copy) + write", - "us": 647.1, + "us": 632.7, "level": "full" }, "best_any": { "variant": "insitu (copy) + write", - "us": 647.1, + "us": 632.7, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 692.5, + "us": 634.4, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 692.5, + "us": 634.4, "level": "full" }, "variants": { "insitu (copy) + write": { - "us": 647.1, - "level": "full" - }, - "read (raw numbers) + write": { - "us": 677.7, - "level": "full" - }, - "read + write": { - "us": 689.3, + "us": 632.7, "level": "full" }, "read + write (reused allocator)": { - "us": 692.5, + "us": 634.4, + "level": "full" + }, + "read (raw numbers) + write": { + "us": 640.3, + "level": "full" + }, + "read + write": { + "us": 670.7, "level": "full" } } @@ -9719,35 +9719,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 797.2, + "us": 795.4, "level": "full" }, "best_any": { "variant": "minify", - "us": 127.0, + "us": 122.6, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 812.1, + "us": 789.4, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 812.1, + "us": 789.4, "level": "full" }, "variants": { "minify": { - "us": 127.0, + "us": 122.6, "level": "partial" }, - "DOM + to_string": { - "us": 797.2, + "DOM (reused) + to_string": { + "us": 789.4, "level": "full" }, - "DOM (reused) + to_string": { - "us": 812.1, + "DOM + to_string": { + "us": 795.4, "level": "full" } } @@ -9756,14 +9756,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 648.3, + "us": 647.8, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 648.3, + "us": 647.8, "level": "no UTF-8" } } @@ -9771,27 +9771,27 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 3636.9, + "us": 3324.5, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 425.2, + "us": 418.6, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 425.2, + "us": 418.6, "level": "partial" }, "generic": { - "us": 3474.6, + "us": 3300.7, "level": "partial" }, "generic (strict)": { - "us": 3636.9, + "us": 3324.5, "level": "full" } }, @@ -9803,31 +9803,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 1947.6, + "us": 1933.1, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 1947.6, + "us": 1933.1, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 1962.2, + "us": 1936.3, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 1962.2, + "us": 1936.3, "level": "full" }, "variants": { "parse + serialize": { - "us": 1947.6, + "us": 1933.1, "level": "full" }, "parser (reused) + serialize": { - "us": 1962.2, + "us": 1936.3, "level": "full" } } @@ -9835,55 +9835,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 2811.7, + "us": 2715.6, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 1896.6, + "us": 1836.8, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 2297.4, + "us": 2240.6, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 2189.9, + "us": 2150.2, "level": "no UTF-8" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 1896.6, + "us": 1836.8, "level": "no UTF-8" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 1964.6, - "level": "no UTF-8" - }, - "Document + Writer (reused allocator) (no encoding check)": { - "us": 2189.9, + "us": 1861.9, "level": "no UTF-8" }, "Document + Writer (no encoding check)": { - "us": 2201.3, + "us": 2138.9, + "level": "no UTF-8" + }, + "Document + Writer (reused allocator) (no encoding check)": { + "us": 2150.2, "level": "no UTF-8" }, "Document + Writer (reused allocator)": { - "us": 2297.4, + "us": 2240.6, "level": "full" }, "SAX to Writer": { - "us": 2811.7, + "us": 2715.6, "level": "full" }, "SAX to Writer (raw numbers)": { - "us": 2836.6, + "us": 2765.3, "level": "full" }, "Document + Writer": { - "us": 3142.4, + "us": 2999.1, "level": "full" } } @@ -9891,19 +9891,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 4220.0, + "us": 4012.4, "level": "full" }, "best_any": { "variant": "Value", - "us": 4220.0, + "us": 4012.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 4220.0, + "us": 4012.4, "level": "full" } } @@ -9911,19 +9911,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 1003.1, + "us": 1000.4, "level": "full" }, "best_any": { "variant": "Value", - "us": 1003.1, + "us": 1000.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 1003.1, + "us": 1000.4, "level": "full" } } @@ -9931,19 +9931,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 1877.7, + "us": 1888.9, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 1877.7, + "us": 1888.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 1877.7, + "us": 1888.9, "level": "full" } } @@ -9953,35 +9953,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 1096.2, + "us": 990.1, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 1096.2, + "us": 990.1, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 1099.7, + "us": 1005.5, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 1099.7, + "us": 1005.5, "level": "full" }, "variants": { "parse + dump (source numbers)": { - "us": 1096.2, - "level": "full" - }, - "read + dump (reused)": { - "us": 1099.7, + "us": 990.1, "level": "full" }, "parse + dump": { - "us": 1126.8, + "us": 1004.1, + "level": "full" + }, + "read + dump (reused)": { + "us": 1005.5, "level": "full" } } @@ -9989,19 +9989,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 6640.4, + "us": 5668.8, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 6640.4, + "us": 5668.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 6640.4, + "us": 5668.8, "level": "full" } } @@ -10009,39 +10009,39 @@ "yyjson": { "best": { "variant": "read (raw numbers) + write", - "us": 1359.5, + "us": 1267.6, "level": "full" }, "best_any": { "variant": "read (raw numbers) + write", - "us": 1359.5, + "us": 1267.6, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 1470.1, + "us": 1351.1, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 1470.1, + "us": 1351.1, "level": "full" }, "variants": { "read (raw numbers) + write": { - "us": 1359.5, + "us": 1267.6, "level": "full" }, "read + write": { - "us": 1395.7, + "us": 1326.7, "level": "full" }, "insitu (copy) + write": { - "us": 1422.3, + "us": 1327.2, "level": "full" }, "read + write (reused allocator)": { - "us": 1470.1, + "us": 1351.1, "level": "full" } } @@ -10049,35 +10049,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 1468.0, + "us": 1395.7, "level": "full" }, "best_any": { "variant": "minify", - "us": 343.2, + "us": 336.5, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 1497.6, + "us": 1389.0, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 1497.6, + "us": 1389.0, "level": "full" }, "variants": { "minify": { - "us": 343.2, + "us": 336.5, "level": "partial" }, - "DOM + to_string": { - "us": 1468.0, + "DOM (reused) + to_string": { + "us": 1389.0, "level": "full" }, - "DOM (reused) + to_string": { - "us": 1497.6, + "DOM + to_string": { + "us": 1395.7, "level": "full" } } @@ -10086,14 +10086,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 1653.6, + "us": 1550.7, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 1653.6, + "us": 1550.7, "level": "no UTF-8" } } @@ -10101,27 +10101,27 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 6974.1, + "us": 6163.6, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 1209.9, + "us": 1112.3, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 1209.9, + "us": 1112.3, "level": "partial" }, "generic": { - "us": 6642.0, + "us": 6130.0, "level": "partial" }, "generic (strict)": { - "us": 6974.1, + "us": 6163.6, "level": "full" } }, @@ -10133,31 +10133,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 3011.3, + "us": 2926.7, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 3011.3, + "us": 2926.7, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 3027.5, + "us": 2920.5, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 3027.5, + "us": 2920.5, "level": "full" }, "variants": { - "parse + serialize": { - "us": 3011.3, + "parser (reused) + serialize": { + "us": 2920.5, "level": "full" }, - "parser (reused) + serialize": { - "us": 3027.5, + "parse + serialize": { + "us": 2926.7, "level": "full" } } @@ -10165,55 +10165,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 3359.6, + "us": 3081.9, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 2724.7, + "us": 2508.5, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 3209.2, + "us": 2965.7, "level": "full" }, "best_reused_any": { - "variant": "Document + Writer (reused allocator)", - "us": 3209.2, - "level": "full" + "variant": "Document + Writer (reused allocator) (no encoding check)", + "us": 2910.0, + "level": "no UTF-8" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 2724.7, + "us": 2508.5, "level": "no UTF-8" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 3034.2, + "us": 2813.7, "level": "no UTF-8" }, "Document + Writer (no encoding check)": { - "us": 3092.6, + "us": 2844.5, + "level": "no UTF-8" + }, + "Document + Writer (reused allocator) (no encoding check)": { + "us": 2910.0, "level": "no UTF-8" }, "Document + Writer (reused allocator)": { - "us": 3209.2, + "us": 2965.7, "level": "full" }, - "Document + Writer (reused allocator) (no encoding check)": { - "us": 3221.5, - "level": "no UTF-8" - }, "SAX to Writer": { - "us": 3359.6, + "us": 3081.9, "level": "full" }, "SAX to Writer (raw numbers)": { - "us": 3658.0, + "us": 3329.0, "level": "full" }, "Document + Writer": { - "us": 3764.1, + "us": 3542.7, "level": "full" } } @@ -10221,19 +10221,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 6875.5, + "us": 6582.6, "level": "full" }, "best_any": { "variant": "Value", - "us": 6875.5, + "us": 6582.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 6875.5, + "us": 6582.6, "level": "full" } } @@ -10241,19 +10241,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 2174.1, + "us": 2096.9, "level": "full" }, "best_any": { "variant": "Value", - "us": 2174.1, + "us": 2096.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 2174.1, + "us": 2096.9, "level": "full" } } @@ -10261,19 +10261,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 4655.1, + "us": 4196.0, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 4655.1, + "us": 4196.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 4655.1, + "us": 4196.0, "level": "full" } } @@ -10283,35 +10283,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 2311.3, + "us": 2236.3, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 2311.3, + "us": 2236.3, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 5410.6, + "us": 5289.2, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 5410.6, + "us": 5289.2, "level": "full" }, "variants": { "parse + dump (source numbers)": { - "us": 2311.3, - "level": "full" - }, - "read + dump (reused)": { - "us": 5410.6, + "us": 2236.3, "level": "full" }, "parse + dump": { - "us": 5555.4, + "us": 5260.5, + "level": "full" + }, + "read + dump (reused)": { + "us": 5289.2, "level": "full" } } @@ -10319,19 +10319,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 16883.4, + "us": 15646.8, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 16883.4, + "us": 15646.8, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 16883.4, + "us": 15646.8, "level": "full" } } @@ -10339,39 +10339,39 @@ "yyjson": { "best": { "variant": "read (raw numbers) + write", - "us": 3214.0, + "us": 2942.0, "level": "full" }, "best_any": { "variant": "read (raw numbers) + write", - "us": 3214.0, + "us": 2942.0, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 9510.7, + "us": 8887.0, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 9510.7, + "us": 8887.0, "level": "full" }, "variants": { "read (raw numbers) + write": { - "us": 3214.0, + "us": 2942.0, "level": "full" }, "read + write (reused allocator)": { - "us": 9510.7, + "us": 8887.0, "level": "full" }, "insitu (copy) + write": { - "us": 9551.5, + "us": 8944.4, "level": "full" }, "read + write": { - "us": 9691.6, + "us": 8947.6, "level": "full" } } @@ -10379,35 +10379,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 8866.3, + "us": 8341.9, "level": "full" }, "best_any": { "variant": "minify", - "us": 501.5, + "us": 423.2, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 9241.1, + "us": 8112.6, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 9241.1, + "us": 8112.6, "level": "full" }, "variants": { "minify": { - "us": 501.5, + "us": 423.2, "level": "partial" }, - "DOM + to_string": { - "us": 8866.3, + "DOM (reused) + to_string": { + "us": 8112.6, "level": "full" }, - "DOM (reused) + to_string": { - "us": 9241.1, + "DOM + to_string": { + "us": 8341.9, "level": "full" } } @@ -10416,14 +10416,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 9043.3, + "us": 8645.6, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 9043.3, + "us": 8645.6, "level": "no UTF-8" } } @@ -10431,27 +10431,27 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 24961.9, + "us": 22576.5, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 2653.8, + "us": 2094.7, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 2653.8, + "us": 2094.7, "level": "partial" }, "generic": { - "us": 24350.0, + "us": 22473.3, "level": "partial" }, "generic (strict)": { - "us": 24961.9, + "us": 22576.5, "level": "full" } }, @@ -10463,31 +10463,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 14314.2, + "us": 13579.8, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 14314.2, + "us": 13579.8, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 13432.8, + "us": 13526.1, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 13432.8, + "us": 13526.1, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 13432.8, + "us": 13526.1, "level": "full" }, "parse + serialize": { - "us": 14314.2, + "us": 13579.8, "level": "full" } } @@ -10495,55 +10495,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer (raw numbers)", - "us": 15755.8, + "us": 15054.1, "level": "full" }, "best_any": { "variant": "SAX to Writer (raw numbers) (no encoding check)", - "us": 15282.3, + "us": 14997.8, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 22652.6, + "us": 20500.1, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 21553.7, + "us": 20436.5, "level": "no UTF-8" }, "variants": { "SAX to Writer (raw numbers) (no encoding check)": { - "us": 15282.3, + "us": 14997.8, "level": "no UTF-8" }, "SAX to Writer (raw numbers)": { - "us": 15755.8, - "level": "full" - }, - "Document + Writer (reused allocator) (no encoding check)": { - "us": 21553.7, - "level": "no UTF-8" - }, - "Document + Writer": { - "us": 21928.9, + "us": 15054.1, "level": "full" }, "Document + Writer (no encoding check)": { - "us": 22104.5, + "us": 20161.7, + "level": "no UTF-8" + }, + "Document + Writer (reused allocator) (no encoding check)": { + "us": 20436.5, "level": "no UTF-8" }, "Document + Writer (reused allocator)": { - "us": 22652.6, + "us": 20500.1, + "level": "full" + }, + "Document + Writer": { + "us": 20610.1, "level": "full" }, "SAX to Writer (no encoding check)": { - "us": 22849.0, + "us": 21449.0, "level": "no UTF-8" }, "SAX to Writer": { - "us": 22973.3, + "us": 21783.5, "level": "full" } } @@ -10551,19 +10551,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 17275.8, + "us": 17306.0, "level": "full" }, "best_any": { "variant": "Value", - "us": 17275.8, + "us": 17306.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 17275.8, + "us": 17306.0, "level": "full" } } @@ -10571,19 +10571,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 7753.0, + "us": 7795.3, "level": "full" }, "best_any": { "variant": "Value", - "us": 7753.0, + "us": 7795.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 7753.0, + "us": 7795.3, "level": "full" } } @@ -10591,19 +10591,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 15954.8, + "us": 15716.2, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 15954.8, + "us": 15716.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 15954.8, + "us": 15716.2, "level": "full" } } @@ -10613,35 +10613,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 156721.2, + "us": 138808.2, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 156721.2, + "us": 138808.2, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 119656.3, + "us": 110572.1, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 119656.3, + "us": 110572.1, "level": "full" }, "variants": { "read + dump (reused)": { - "us": 119656.3, + "us": 110572.1, "level": "full" }, "parse + dump (source numbers)": { - "us": 156721.2, + "us": 138808.2, "level": "full" }, "parse + dump": { - "us": 158588.9, + "us": 142985.0, "level": "full" } } @@ -10649,59 +10649,59 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 753123.2, + "us": 527354.2, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 753123.2, + "us": 527354.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 753123.2, + "us": 527354.2, "level": "full" } } }, "yyjson": { "best": { - "variant": "read + write", - "us": 204215.4, + "variant": "insitu (copy) + write", + "us": 194228.4, "level": "full" }, "best_any": { - "variant": "read + write", - "us": 204215.4, + "variant": "insitu (copy) + write", + "us": 194228.4, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 100416.7, + "us": 101369.5, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 100416.7, + "us": 101369.5, "level": "full" }, "variants": { "read + write (reused allocator)": { - "us": 100416.7, - "level": "full" - }, - "read + write": { - "us": 204215.4, - "level": "full" - }, - "read (raw numbers) + write": { - "us": 210170.6, + "us": 101369.5, "level": "full" }, "insitu (copy) + write": { - "us": 210330.3, + "us": 194228.4, + "level": "full" + }, + "read (raw numbers) + write": { + "us": 197415.2, + "level": "full" + }, + "read + write": { + "us": 203511.6, "level": "full" } } @@ -10709,35 +10709,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 306969.6, + "us": 283279.5, "level": "full" }, "best_any": { "variant": "minify", - "us": 47256.3, + "us": 44889.9, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 238041.2, + "us": 217554.5, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 238041.2, + "us": 217554.5, "level": "full" }, "variants": { "minify": { - "us": 47256.3, + "us": 44889.9, "level": "partial" }, "DOM (reused) + to_string": { - "us": 238041.2, + "us": 217554.5, "level": "full" }, "DOM + to_string": { - "us": 306969.6, + "us": 283279.5, "level": "full" } } @@ -10746,14 +10746,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 176994.5, + "us": 162813.5, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 176994.5, + "us": 162813.5, "level": "no UTF-8" } } @@ -10761,27 +10761,27 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 528359.0, + "us": 476578.9, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 98485.4, + "us": 96282.2, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 98485.4, + "us": 96282.2, "level": "partial" }, "generic": { - "us": 519790.7, + "us": 457687.6, "level": "partial" }, "generic (strict)": { - "us": 528359.0, + "us": 476578.9, "level": "full" } }, @@ -10793,87 +10793,87 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 318313.3, + "us": 333217.2, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 318313.3, + "us": 333217.2, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 268424.5, + "us": 277347.6, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 268424.5, + "us": 277347.6, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 268424.5, + "us": 277347.6, "level": "full" }, "parse + serialize": { - "us": 318313.3, + "us": 333217.2, "level": "full" } } }, "RapidJSON": { "best": { - "variant": "SAX to Writer (raw numbers)", - "us": 414703.1, + "variant": "SAX to Writer", + "us": 386777.9, "level": "full" }, "best_any": { - "variant": "SAX to Writer (no encoding check)", - "us": 291381.7, + "variant": "SAX to Writer (raw numbers) (no encoding check)", + "us": 277974.1, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 341761.6, + "us": 330106.4, "level": "full" }, "best_reused_any": { - "variant": "Document + Writer (reused allocator)", - "us": 341761.6, - "level": "full" + "variant": "Document + Writer (reused allocator) (no encoding check)", + "us": 327572.5, + "level": "no UTF-8" }, "variants": { - "SAX to Writer (no encoding check)": { - "us": 291381.7, + "SAX to Writer (raw numbers) (no encoding check)": { + "us": 277974.1, "level": "no UTF-8" }, - "SAX to Writer (raw numbers) (no encoding check)": { - "us": 300861.4, + "SAX to Writer (no encoding check)": { + "us": 284149.9, + "level": "no UTF-8" + }, + "Document + Writer (reused allocator) (no encoding check)": { + "us": 327572.5, "level": "no UTF-8" }, "Document + Writer (no encoding check)": { - "us": 341125.6, + "us": 327803.5, "level": "no UTF-8" }, "Document + Writer (reused allocator)": { - "us": 341761.6, - "level": "full" - }, - "Document + Writer (reused allocator) (no encoding check)": { - "us": 343248.9, - "level": "no UTF-8" - }, - "SAX to Writer (raw numbers)": { - "us": 414703.1, + "us": 330106.4, "level": "full" }, "SAX to Writer": { - "us": 425370.1, + "us": 386777.9, + "level": "full" + }, + "SAX to Writer (raw numbers)": { + "us": 395391.9, "level": "full" }, "Document + Writer": { - "us": 470965.9, + "us": 433958.5, "level": "full" } } @@ -10881,19 +10881,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 628191.9, + "us": 509701.9, "level": "full" }, "best_any": { "variant": "Value", - "us": 628191.9, + "us": 509701.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 628191.9, + "us": 509701.9, "level": "full" } } @@ -10901,19 +10901,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 217354.2, + "us": 215280.2, "level": "full" }, "best_any": { "variant": "Value", - "us": 217354.2, + "us": 215280.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 217354.2, + "us": 215280.2, "level": "full" } } @@ -10921,19 +10921,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 419412.0, + "us": 414376.9, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 419412.0, + "us": 414376.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 419412.0, + "us": 414376.9, "level": "full" } } @@ -10943,35 +10943,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump", - "us": 2.6, + "us": 2.5, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 2.6, + "us": 2.5, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 2.6, + "us": 2.4, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 2.6, + "us": 2.4, "level": "full" }, "variants": { + "read + dump (reused)": { + "us": 2.4, + "level": "full" + }, "parse + dump": { - "us": 2.6, + "us": 2.5, "level": "full" }, "parse + dump (source numbers)": { - "us": 2.6, - "level": "full" - }, - "read + dump (reused)": { - "us": 2.6, + "us": 2.5, "level": "full" } } @@ -10979,19 +10979,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 16.0, + "us": 19.3, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 16.0, + "us": 19.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 16.0, + "us": 19.3, "level": "full" } } @@ -11031,7 +11031,7 @@ "level": "full" }, "read (raw numbers) + write": { - "us": 3.1, + "us": 3.0, "level": "full" } } @@ -11039,7 +11039,7 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 5.0, + "us": 4.7, "level": "full" }, "best_any": { @@ -11049,12 +11049,12 @@ }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 4.6, + "us": 4.3, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 4.6, + "us": 4.3, "level": "full" }, "variants": { @@ -11063,11 +11063,11 @@ "level": "partial" }, "DOM (reused) + to_string": { - "us": 4.6, + "us": 4.3, "level": "full" }, "DOM + to_string": { - "us": 5.0, + "us": 4.7, "level": "full" } } @@ -11076,14 +11076,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 3.3, + "us": 3.4, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 3.3, + "us": 3.4, "level": "no UTF-8" } } @@ -11091,28 +11091,28 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 15.8, + "us": 14.6, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 2.0, + "us": 1.9, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 2.0, + "us": 1.9, + "level": "partial" + }, + "generic": { + "us": 14.2, "level": "partial" }, "generic (strict)": { - "us": 15.8, + "us": 14.6, "level": "full" - }, - "generic": { - "us": 15.9, - "level": "partial" } }, "excluded": { @@ -11123,12 +11123,12 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 9.5, + "us": 9.4, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 9.5, + "us": 9.4, "level": "full" }, "best_reused": { @@ -11147,7 +11147,7 @@ "level": "full" }, "parse + serialize": { - "us": 9.5, + "us": 9.4, "level": "full" } } @@ -11155,55 +11155,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 15.8, + "us": 15.2, "level": "full" }, "best_any": { - "variant": "SAX to Writer (raw numbers) (no encoding check)", - "us": 10.7, + "variant": "SAX to Writer (no encoding check)", + "us": 10.2, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 12.3, + "us": 12.2, "level": "full" }, "best_reused_any": { - "variant": "Document + Writer (reused allocator)", - "us": 12.3, - "level": "full" + "variant": "Document + Writer (reused allocator) (no encoding check)", + "us": 11.8, + "level": "no UTF-8" }, "variants": { - "SAX to Writer (raw numbers) (no encoding check)": { - "us": 10.7, - "level": "no UTF-8" - }, "SAX to Writer (no encoding check)": { - "us": 11.1, + "us": 10.2, "level": "no UTF-8" }, - "Document + Writer (reused allocator)": { - "us": 12.3, - "level": "full" + "SAX to Writer (raw numbers) (no encoding check)": { + "us": 10.6, + "level": "no UTF-8" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 12.4, + "us": 11.8, "level": "no UTF-8" }, "Document + Writer (no encoding check)": { - "us": 12.8, + "us": 12.1, "level": "no UTF-8" }, + "Document + Writer (reused allocator)": { + "us": 12.2, + "level": "full" + }, "SAX to Writer": { - "us": 15.8, + "us": 15.2, "level": "full" }, "SAX to Writer (raw numbers)": { - "us": 16.8, + "us": 15.6, "level": "full" }, "Document + Writer": { - "us": 17.9, + "us": 17.4, "level": "full" } } @@ -11211,19 +11211,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 16.7, + "us": 16.5, "level": "full" }, "best_any": { "variant": "Value", - "us": 16.7, + "us": 16.5, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 16.7, + "us": 16.5, "level": "full" } } @@ -11231,19 +11231,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 5.5, + "us": 5.4, "level": "full" }, "best_any": { "variant": "Value", - "us": 5.5, + "us": 5.4, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 5.5, + "us": 5.4, "level": "full" } } @@ -11251,19 +11251,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 9.5, + "us": 9.2, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 9.5, + "us": 9.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 9.5, + "us": 9.2, "level": "full" } } @@ -11273,35 +11273,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 469.9, + "us": 424.0, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 469.9, + "us": 424.0, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 441.0, + "us": 423.2, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 441.0, + "us": 423.2, "level": "full" }, "variants": { "read + dump (reused)": { - "us": 441.0, + "us": 423.2, "level": "full" }, "parse + dump (source numbers)": { - "us": 469.9, + "us": 424.0, "level": "full" }, "parse + dump": { - "us": 486.9, + "us": 428.0, "level": "full" } } @@ -11309,19 +11309,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 3843.7, + "us": 3744.2, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 3843.7, + "us": 3744.2, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 3843.7, + "us": 3744.2, "level": "full" } } @@ -11329,39 +11329,39 @@ "yyjson": { "best": { "variant": "read + write", - "us": 574.3, + "us": 565.0, "level": "full" }, "best_any": { "variant": "read + write", - "us": 574.3, + "us": 565.0, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 569.9, + "us": 556.1, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 569.9, + "us": 556.1, "level": "full" }, "variants": { "read + write (reused allocator)": { - "us": 569.9, + "us": 556.1, "level": "full" }, "read + write": { - "us": 574.3, - "level": "full" - }, - "insitu (copy) + write": { - "us": 600.3, + "us": 565.0, "level": "full" }, "read (raw numbers) + write": { - "us": 620.7, + "us": 579.8, + "level": "full" + }, + "insitu (copy) + write": { + "us": 582.2, "level": "full" } } @@ -11369,35 +11369,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 779.0, + "us": 774.3, "level": "full" }, "best_any": { "variant": "minify", - "us": 90.8, + "us": 90.3, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 812.4, + "us": 789.0, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 812.4, + "us": 789.0, "level": "full" }, "variants": { "minify": { - "us": 90.8, + "us": 90.3, "level": "partial" }, "DOM + to_string": { - "us": 779.0, + "us": 774.3, "level": "full" }, "DOM (reused) + to_string": { - "us": 812.4, + "us": 789.0, "level": "full" } } @@ -11406,14 +11406,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 557.4, + "us": 527.9, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 557.4, + "us": 527.9, "level": "no UTF-8" } } @@ -11421,28 +11421,28 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 3398.7, + "us": 3146.9, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 359.3, + "us": 355.2, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 359.3, - "level": "partial" - }, - "generic": { - "us": 3288.5, + "us": 355.2, "level": "partial" }, "generic (strict)": { - "us": 3398.7, + "us": 3146.9, "level": "full" + }, + "generic": { + "us": 3171.2, + "level": "partial" } }, "excluded": { @@ -11453,31 +11453,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 1862.3, + "us": 1856.6, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 1862.3, + "us": 1856.6, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 1896.3, + "us": 1805.2, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 1896.3, + "us": 1805.2, "level": "full" }, "variants": { - "parse + serialize": { - "us": 1862.3, + "parser (reused) + serialize": { + "us": 1805.2, "level": "full" }, - "parser (reused) + serialize": { - "us": 1896.3, + "parse + serialize": { + "us": 1856.6, "level": "full" } } @@ -11485,55 +11485,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 2794.9, + "us": 2683.9, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 1902.6, + "us": 1804.6, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 2260.4, + "us": 2189.6, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 2179.3, + "us": 2095.6, "level": "no UTF-8" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 1902.6, + "us": 1804.6, "level": "no UTF-8" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 1956.2, - "level": "no UTF-8" - }, - "Document + Writer (no encoding check)": { - "us": 2118.7, + "us": 1847.7, "level": "no UTF-8" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 2179.3, + "us": 2095.6, + "level": "no UTF-8" + }, + "Document + Writer (no encoding check)": { + "us": 2118.1, "level": "no UTF-8" }, "Document + Writer (reused allocator)": { - "us": 2260.4, + "us": 2189.6, "level": "full" }, "SAX to Writer": { - "us": 2794.9, + "us": 2683.9, "level": "full" }, "SAX to Writer (raw numbers)": { - "us": 2828.0, + "us": 2747.3, "level": "full" }, "Document + Writer": { - "us": 2993.9, + "us": 2962.5, "level": "full" } } @@ -11541,19 +11541,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 4035.0, + "us": 3887.6, "level": "full" }, "best_any": { "variant": "Value", - "us": 4035.0, + "us": 3887.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 4035.0, + "us": 3887.6, "level": "full" } } @@ -11561,19 +11561,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 860.5, + "us": 864.3, "level": "full" }, "best_any": { "variant": "Value", - "us": 860.5, + "us": 864.3, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 860.5, + "us": 864.3, "level": "full" } } @@ -11581,19 +11581,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 1851.3, + "us": 1839.7, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 1851.3, + "us": 1839.7, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 1851.3, + "us": 1839.7, "level": "full" } } @@ -11603,35 +11603,35 @@ "nlohmann json_document": { "best": { "variant": "parse + dump (source numbers)", - "us": 797.7, + "us": 779.6, "level": "full" }, "best_any": { "variant": "parse + dump (source numbers)", - "us": 797.7, + "us": 779.6, "level": "full" }, "best_reused": { "variant": "read + dump (reused)", - "us": 816.4, + "us": 786.6, "level": "full" }, "best_reused_any": { "variant": "read + dump (reused)", - "us": 816.4, + "us": 786.6, "level": "full" }, "variants": { "parse + dump (source numbers)": { - "us": 797.7, - "level": "full" - }, - "parse + dump": { - "us": 808.9, + "us": 779.6, "level": "full" }, "read + dump (reused)": { - "us": 816.4, + "us": 786.6, + "level": "full" + }, + "parse + dump": { + "us": 787.6, "level": "full" } } @@ -11639,19 +11639,19 @@ "nlohmann json": { "best": { "variant": "parse + dump", - "us": 5941.3, + "us": 5464.9, "level": "full" }, "best_any": { "variant": "parse + dump", - "us": 5941.3, + "us": 5464.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "parse + dump": { - "us": 5941.3, + "us": 5464.9, "level": "full" } } @@ -11659,39 +11659,39 @@ "yyjson": { "best": { "variant": "read (raw numbers) + write", - "us": 795.5, + "us": 797.1, "level": "full" }, "best_any": { "variant": "read (raw numbers) + write", - "us": 795.5, + "us": 797.1, "level": "full" }, "best_reused": { "variant": "read + write (reused allocator)", - "us": 838.4, + "us": 844.9, "level": "full" }, "best_reused_any": { "variant": "read + write (reused allocator)", - "us": 838.4, + "us": 844.9, "level": "full" }, "variants": { "read (raw numbers) + write": { - "us": 795.5, - "level": "full" - }, - "read + write (reused allocator)": { - "us": 838.4, - "level": "full" - }, - "insitu (copy) + write": { - "us": 838.5, + "us": 797.1, "level": "full" }, "read + write": { - "us": 838.9, + "us": 842.4, + "level": "full" + }, + "read + write (reused allocator)": { + "us": 844.9, + "level": "full" + }, + "insitu (copy) + write": { + "us": 851.0, "level": "full" } } @@ -11699,35 +11699,35 @@ "simdjson": { "best": { "variant": "DOM + to_string", - "us": 1226.6, + "us": 1217.9, "level": "full" }, "best_any": { "variant": "minify", - "us": 96.2, + "us": 93.6, "level": "partial" }, "best_reused": { "variant": "DOM (reused) + to_string", - "us": 1227.5, + "us": 1217.1, "level": "full" }, "best_reused_any": { "variant": "DOM (reused) + to_string", - "us": 1227.5, + "us": 1217.1, "level": "full" }, "variants": { "minify": { - "us": 96.2, + "us": 93.6, "level": "partial" }, - "DOM + to_string": { - "us": 1226.6, + "DOM (reused) + to_string": { + "us": 1217.1, "level": "full" }, - "DOM (reused) + to_string": { - "us": 1227.5, + "DOM + to_string": { + "us": 1217.9, "level": "full" } } @@ -11736,14 +11736,14 @@ "best": null, "best_any": { "variant": "Document + Serialize", - "us": 1214.0, + "us": 1205.0, "level": "no UTF-8" }, "best_reused": null, "best_reused_any": null, "variants": { "Document + Serialize": { - "us": 1214.0, + "us": 1205.0, "level": "no UTF-8" } } @@ -11751,28 +11751,28 @@ "Glaze": { "best": { "variant": "generic (strict)", - "us": 5906.3, + "us": 5443.5, "level": "full" }, "best_any": { "variant": "minify_json", - "us": 639.3, + "us": 620.1, "level": "partial" }, "best_reused": null, "best_reused_any": null, "variants": { "minify_json": { - "us": 639.3, - "level": "partial" - }, - "generic": { - "us": 5776.2, + "us": 620.1, "level": "partial" }, "generic (strict)": { - "us": 5906.3, + "us": 5443.5, "level": "full" + }, + "generic": { + "us": 5458.9, + "level": "partial" } }, "excluded": { @@ -11783,31 +11783,31 @@ "Boost.JSON": { "best": { "variant": "parse + serialize", - "us": 2612.9, + "us": 2600.5, "level": "full" }, "best_any": { "variant": "parse + serialize", - "us": 2612.9, + "us": 2600.5, "level": "full" }, "best_reused": { "variant": "parser (reused) + serialize", - "us": 2452.6, + "us": 2593.5, "level": "full" }, "best_reused_any": { "variant": "parser (reused) + serialize", - "us": 2452.6, + "us": 2593.5, "level": "full" }, "variants": { "parser (reused) + serialize": { - "us": 2452.6, + "us": 2593.5, "level": "full" }, "parse + serialize": { - "us": 2612.9, + "us": 2600.5, "level": "full" } } @@ -11815,55 +11815,55 @@ "RapidJSON": { "best": { "variant": "SAX to Writer", - "us": 3000.4, + "us": 2870.2, "level": "full" }, "best_any": { "variant": "SAX to Writer (no encoding check)", - "us": 2346.2, + "us": 2332.0, "level": "no UTF-8" }, "best_reused": { "variant": "Document + Writer (reused allocator)", - "us": 2854.2, + "us": 2785.6, "level": "full" }, "best_reused_any": { "variant": "Document + Writer (reused allocator) (no encoding check)", - "us": 2852.8, + "us": 2772.5, "level": "no UTF-8" }, "variants": { "SAX to Writer (no encoding check)": { - "us": 2346.2, + "us": 2332.0, "level": "no UTF-8" }, "SAX to Writer (raw numbers) (no encoding check)": { - "us": 2644.4, + "us": 2628.1, "level": "no UTF-8" }, "Document + Writer (no encoding check)": { - "us": 2776.2, + "us": 2658.9, "level": "no UTF-8" }, "Document + Writer (reused allocator) (no encoding check)": { - "us": 2852.8, + "us": 2772.5, "level": "no UTF-8" }, "Document + Writer (reused allocator)": { - "us": 2854.2, + "us": 2785.6, "level": "full" }, "SAX to Writer": { - "us": 3000.4, - "level": "full" - }, - "Document + Writer": { - "us": 3268.8, + "us": 2870.2, "level": "full" }, "SAX to Writer (raw numbers)": { - "us": 3278.1, + "us": 3158.2, + "level": "full" + }, + "Document + Writer": { + "us": 3317.5, "level": "full" } } @@ -11871,19 +11871,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 5949.5, + "us": 5737.6, "level": "full" }, "best_any": { "variant": "Value", - "us": 5949.5, + "us": 5737.6, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 5949.5, + "us": 5737.6, "level": "full" } } @@ -11891,19 +11891,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 1731.3, + "us": 1729.0, "level": "full" }, "best_any": { "variant": "Value", - "us": 1731.3, + "us": 1729.0, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 1731.3, + "us": 1729.0, "level": "full" } } @@ -11911,19 +11911,19 @@ "simd-json": { "best": { "variant": "borrowed (copy)", - "us": 4193.3, + "us": 3903.9, "level": "full" }, "best_any": { "variant": "borrowed (copy)", - "us": 4193.3, + "us": 3903.9, "level": "full" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed (copy)": { - "us": 4193.3, + "us": 3903.9, "level": "full" } } @@ -11935,23 +11935,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 147.7, + "us": 147.8, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 147.7, + "us": 147.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 147.7, + "us": 147.8, "level": "n/a" }, "dump": { - "us": 151.8, + "us": 150.9, "level": "n/a" } } @@ -11959,19 +11959,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 435.2, + "us": 437.0, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 435.2, + "us": 437.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 435.2, + "us": 437.0, "level": "n/a" } } @@ -11979,19 +11979,19 @@ "yyjson": { "best": { "variant": "write", - "us": 187.7, + "us": 204.9, "level": "n/a" }, "best_any": { "variant": "write", - "us": 187.7, + "us": 204.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 187.7, + "us": 204.9, "level": "n/a" } } @@ -11999,19 +11999,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 460.7, + "us": 457.3, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 460.7, + "us": 457.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 460.7, + "us": 457.3, "level": "n/a" } } @@ -12019,19 +12019,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 693.6, + "us": 669.1, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 693.6, + "us": 669.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 693.6, + "us": 669.1, "level": "n/a" } } @@ -12039,19 +12039,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 278.7, + "us": 257.8, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 278.7, + "us": 257.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 278.7, + "us": 257.8, "level": "n/a" } } @@ -12059,23 +12059,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 340.2, + "us": 332.4, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 340.2, + "us": 332.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 340.2, + "us": 332.4, "level": "n/a" }, "generic (strict)": { - "us": 365.0, + "us": 367.9, "level": "n/a" } }, @@ -12087,19 +12087,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 479.9, + "us": 464.1, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 479.9, + "us": 464.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 479.9, + "us": 464.1, "level": "n/a" } } @@ -12107,19 +12107,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 559.5, + "us": 549.8, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 559.5, + "us": 549.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 559.5, + "us": 549.8, "level": "n/a" } } @@ -12127,19 +12127,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 445.3, + "us": 434.3, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 445.3, + "us": 434.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 445.3, + "us": 434.3, "level": "n/a" } } @@ -12147,19 +12147,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 597.0, + "us": 582.5, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 597.0, + "us": 582.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 597.0, + "us": 582.5, "level": "n/a" } } @@ -12169,23 +12169,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 254.1, + "us": 254.7, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 254.1, + "us": 254.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 254.1, + "us": 254.7, "level": "n/a" }, "dump": { - "us": 272.1, + "us": 270.2, "level": "n/a" } } @@ -12193,19 +12193,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 622.1, + "us": 631.0, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 622.1, + "us": 631.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 622.1, + "us": 631.0, "level": "n/a" } } @@ -12213,19 +12213,19 @@ "yyjson": { "best": { "variant": "write", - "us": 327.3, + "us": 334.4, "level": "n/a" }, "best_any": { "variant": "write", - "us": 327.3, + "us": 334.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 327.3, + "us": 334.4, "level": "n/a" } } @@ -12233,19 +12233,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 622.2, + "us": 617.8, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 622.2, + "us": 617.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 622.2, + "us": 617.8, "level": "n/a" } } @@ -12253,19 +12253,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 1017.6, + "us": 1025.0, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 1017.6, + "us": 1025.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 1017.6, + "us": 1025.0, "level": "n/a" } } @@ -12273,19 +12273,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 537.8, + "us": 536.4, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 537.8, + "us": 536.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 537.8, + "us": 536.4, "level": "n/a" } } @@ -12293,23 +12293,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 663.0, + "us": 654.6, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 663.0, + "us": 654.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 663.0, + "us": 654.6, "level": "n/a" }, "generic (strict)": { - "us": 681.7, + "us": 681.3, "level": "n/a" } }, @@ -12321,19 +12321,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 1025.9, + "us": 998.8, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 1025.9, + "us": 998.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 1025.9, + "us": 998.8, "level": "n/a" } } @@ -12341,19 +12341,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 848.0, + "us": 887.3, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 848.0, + "us": 887.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 848.0, + "us": 887.3, "level": "n/a" } } @@ -12361,19 +12361,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 931.3, + "us": 927.2, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 931.3, + "us": 927.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 931.3, + "us": 927.2, "level": "n/a" } } @@ -12381,19 +12381,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 808.9, + "us": 799.5, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 808.9, + "us": 799.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 808.9, + "us": 799.5, "level": "n/a" } } @@ -12403,23 +12403,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 860.8, + "us": 870.3, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 860.8, + "us": 870.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 860.8, + "us": 870.3, "level": "n/a" }, "dump": { - "us": 3838.8, + "us": 3827.3, "level": "n/a" } } @@ -12427,19 +12427,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 4021.2, + "us": 4027.2, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 4021.2, + "us": 4027.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 4021.2, + "us": 4027.2, "level": "n/a" } } @@ -12447,19 +12447,19 @@ "yyjson": { "best": { "variant": "write", - "us": 3534.8, + "us": 3525.1, "level": "n/a" }, "best_any": { "variant": "write", - "us": 3534.8, + "us": 3525.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 3534.8, + "us": 3525.1, "level": "n/a" } } @@ -12467,19 +12467,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 5222.0, + "us": 4906.3, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 5222.0, + "us": 4906.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 5222.0, + "us": 4906.3, "level": "n/a" } } @@ -12487,19 +12487,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 8830.6, + "us": 9077.6, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 8830.6, + "us": 9077.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 8830.6, + "us": 9077.6, "level": "n/a" } } @@ -12507,43 +12507,43 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 5132.5, + "us": 5070.1, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 5132.5, + "us": 5070.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 5132.5, + "us": 5070.1, "level": "n/a" } } }, "Glaze": { "best": { - "variant": "generic", - "us": 3669.3, + "variant": "generic (strict)", + "us": 3676.1, "level": "n/a" }, "best_any": { - "variant": "generic", - "us": 3669.3, + "variant": "generic (strict)", + "us": 3676.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic": { - "us": 3669.3, + "generic (strict)": { + "us": 3676.1, "level": "n/a" }, - "generic (strict)": { - "us": 3675.7, + "generic": { + "us": 3676.2, "level": "n/a" } }, @@ -12555,19 +12555,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 5843.3, + "us": 6201.5, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 5843.3, + "us": 6201.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 5843.3, + "us": 6201.5, "level": "n/a" } } @@ -12575,19 +12575,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 3963.8, + "us": 4005.1, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 3963.8, + "us": 4005.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 3963.8, + "us": 4005.1, "level": "n/a" } } @@ -12595,19 +12595,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 4047.8, + "us": 3987.3, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 4047.8, + "us": 3987.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 4047.8, + "us": 3987.3, "level": "n/a" } } @@ -12615,19 +12615,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 4816.6, + "us": 5146.6, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 4816.6, + "us": 5146.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 4816.6, + "us": 5146.6, "level": "n/a" } } @@ -12637,23 +12637,23 @@ "nlohmann json_document": { "best": { "variant": "dump", - "us": 72604.2, + "us": 66099.4, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 72604.2, + "us": 66099.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 72604.2, + "us": 66099.4, "level": "n/a" }, "dump (source numbers)": { - "us": 72978.6, + "us": 66176.9, "level": "n/a" } } @@ -12661,19 +12661,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 124517.0, + "us": 119028.0, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 124517.0, + "us": 119028.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 124517.0, + "us": 119028.0, "level": "n/a" } } @@ -12681,19 +12681,19 @@ "yyjson": { "best": { "variant": "write", - "us": 74169.0, + "us": 71876.8, "level": "n/a" }, "best_any": { "variant": "write", - "us": 74169.0, + "us": 71876.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 74169.0, + "us": 71876.8, "level": "n/a" } } @@ -12701,19 +12701,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 189638.9, + "us": 175750.0, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 189638.9, + "us": 175750.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 189638.9, + "us": 175750.0, "level": "n/a" } } @@ -12721,19 +12721,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 148079.0, + "us": 140116.2, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 148079.0, + "us": 140116.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 148079.0, + "us": 140116.2, "level": "n/a" } } @@ -12741,19 +12741,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 78072.6, + "us": 71190.7, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 78072.6, + "us": 71190.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 78072.6, + "us": 71190.7, "level": "n/a" } } @@ -12761,23 +12761,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 133954.4, + "us": 128044.4, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 133954.4, + "us": 128044.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 133954.4, + "us": 128044.4, "level": "n/a" }, "generic (strict)": { - "us": 148580.1, + "us": 140818.9, "level": "n/a" } }, @@ -12789,19 +12789,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 132662.5, + "us": 142515.6, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 132662.5, + "us": 142515.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 132662.5, + "us": 142515.6, "level": "n/a" } } @@ -12809,19 +12809,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 129472.9, + "us": 134162.6, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 129472.9, + "us": 134162.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 129472.9, + "us": 134162.6, "level": "n/a" } } @@ -12829,19 +12829,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 104487.1, + "us": 109175.6, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 104487.1, + "us": 109175.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 104487.1, + "us": 109175.6, "level": "n/a" } } @@ -12849,19 +12849,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 114244.7, + "us": 122623.4, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 114244.7, + "us": 122623.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 114244.7, + "us": 122623.4, "level": "n/a" } } @@ -12871,23 +12871,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 1.0, + "us": 0.8, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 1.0, + "us": 0.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 1.0, + "us": 0.8, "level": "n/a" }, "dump": { - "us": 1.1, + "us": 0.9, "level": "n/a" } } @@ -12895,19 +12895,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 2.3, + "us": 2.0, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 2.3, + "us": 2.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 2.3, + "us": 2.0, "level": "n/a" } } @@ -12915,19 +12915,19 @@ "yyjson": { "best": { "variant": "write", - "us": 1.4, + "us": 1.3, "level": "n/a" }, "best_any": { "variant": "write", - "us": 1.4, + "us": 1.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 1.4, + "us": 1.3, "level": "n/a" } } @@ -12935,19 +12935,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 3.2, + "us": 2.8, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 3.2, + "us": 2.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 3.2, + "us": 2.8, "level": "n/a" } } @@ -12955,19 +12955,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 4.4, + "us": 4.0, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 4.4, + "us": 4.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 4.4, + "us": 4.0, "level": "n/a" } } @@ -12995,23 +12995,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 2.1, + "us": 1.8, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 2.1, + "us": 1.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 2.1, + "us": 1.8, "level": "n/a" }, "generic (strict)": { - "us": 2.3, + "us": 2.0, "level": "n/a" } }, @@ -13023,19 +13023,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 2.7, + "us": 2.5, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 2.7, + "us": 2.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 2.7, + "us": 2.5, "level": "n/a" } } @@ -13043,19 +13043,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 3.2, + "us": 3.3, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 3.2, + "us": 3.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 3.2, + "us": 3.3, "level": "n/a" } } @@ -13083,19 +13083,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 3.1, + "us": 2.8, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 3.1, + "us": 2.8, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 3.1, + "us": 2.8, "level": "n/a" } } @@ -13105,23 +13105,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 147.1, + "us": 143.4, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 147.1, + "us": 143.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 147.1, + "us": 143.4, "level": "n/a" }, "dump": { - "us": 152.2, + "us": 148.1, "level": "n/a" } } @@ -13129,19 +13129,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 470.4, + "us": 444.3, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 470.4, + "us": 444.3, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 470.4, + "us": 444.3, "level": "n/a" } } @@ -13149,19 +13149,19 @@ "yyjson": { "best": { "variant": "write", - "us": 208.9, + "us": 199.5, "level": "n/a" }, "best_any": { "variant": "write", - "us": 208.9, + "us": 199.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 208.9, + "us": 199.5, "level": "n/a" } } @@ -13169,19 +13169,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 493.8, + "us": 461.0, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 493.8, + "us": 461.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 493.8, + "us": 461.0, "level": "n/a" } } @@ -13189,19 +13189,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 741.2, + "us": 658.5, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 741.2, + "us": 658.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 741.2, + "us": 658.5, "level": "n/a" } } @@ -13209,43 +13209,43 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 270.9, + "us": 237.9, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 270.9, + "us": 237.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 270.9, + "us": 237.9, "level": "n/a" } } }, "Glaze": { "best": { - "variant": "generic (strict)", - "us": 369.4, + "variant": "generic", + "us": 334.7, "level": "n/a" }, "best_any": { - "variant": "generic (strict)", - "us": 369.4, + "variant": "generic", + "us": 334.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { - "generic (strict)": { - "us": 369.4, + "generic": { + "us": 334.7, "level": "n/a" }, - "generic": { - "us": 372.8, + "generic (strict)": { + "us": 367.8, "level": "n/a" } }, @@ -13257,19 +13257,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 499.7, + "us": 479.6, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 499.7, + "us": 479.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 499.7, + "us": 479.6, "level": "n/a" } } @@ -13277,19 +13277,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 562.4, + "us": 550.4, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 562.4, + "us": 550.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 562.4, + "us": 550.4, "level": "n/a" } } @@ -13297,19 +13297,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 442.4, + "us": 434.7, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 442.4, + "us": 434.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 442.4, + "us": 434.7, "level": "n/a" } } @@ -13317,19 +13317,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 594.0, + "us": 580.2, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 594.0, + "us": 580.2, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 594.0, + "us": 580.2, "level": "n/a" } } @@ -13339,23 +13339,23 @@ "nlohmann json_document": { "best": { "variant": "dump (source numbers)", - "us": 249.6, + "us": 249.9, "level": "n/a" }, "best_any": { "variant": "dump (source numbers)", - "us": 249.6, + "us": 249.9, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump (source numbers)": { - "us": 249.6, + "us": 249.9, "level": "n/a" }, "dump": { - "us": 269.0, + "us": 267.8, "level": "n/a" } } @@ -13363,19 +13363,19 @@ "nlohmann json": { "best": { "variant": "dump", - "us": 628.1, + "us": 636.0, "level": "n/a" }, "best_any": { "variant": "dump", - "us": 628.1, + "us": 636.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "dump": { - "us": 628.1, + "us": 636.0, "level": "n/a" } } @@ -13383,19 +13383,19 @@ "yyjson": { "best": { "variant": "write", - "us": 323.2, + "us": 332.4, "level": "n/a" }, "best_any": { "variant": "write", - "us": 323.2, + "us": 332.4, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "write": { - "us": 323.2, + "us": 332.4, "level": "n/a" } } @@ -13403,19 +13403,19 @@ "simdjson": { "best": { "variant": "to_string", - "us": 619.3, + "us": 620.1, "level": "n/a" }, "best_any": { "variant": "to_string", - "us": 619.3, + "us": 620.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "to_string": { - "us": 619.3, + "us": 620.1, "level": "n/a" } } @@ -13423,19 +13423,19 @@ "RapidJSON": { "best": { "variant": "Writer", - "us": 1024.2, + "us": 1024.6, "level": "n/a" }, "best_any": { "variant": "Writer", - "us": 1024.2, + "us": 1024.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Writer": { - "us": 1024.2, + "us": 1024.6, "level": "n/a" } } @@ -13443,19 +13443,19 @@ "sonic-cpp": { "best": { "variant": "Serialize", - "us": 526.3, + "us": 526.0, "level": "n/a" }, "best_any": { "variant": "Serialize", - "us": 526.3, + "us": 526.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Serialize": { - "us": 526.3, + "us": 526.0, "level": "n/a" } } @@ -13463,23 +13463,23 @@ "Glaze": { "best": { "variant": "generic", - "us": 651.0, + "us": 657.6, "level": "n/a" }, "best_any": { "variant": "generic", - "us": 651.0, + "us": 657.6, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "generic": { - "us": 651.0, + "us": 657.6, "level": "n/a" }, "generic (strict)": { - "us": 689.5, + "us": 688.1, "level": "n/a" } }, @@ -13491,19 +13491,19 @@ "Boost.JSON": { "best": { "variant": "serialize", - "us": 1012.3, + "us": 1004.1, "level": "n/a" }, "best_any": { "variant": "serialize", - "us": 1012.3, + "us": 1004.1, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "serialize": { - "us": 1012.3, + "us": 1004.1, "level": "n/a" } } @@ -13511,19 +13511,19 @@ "serde_json": { "best": { "variant": "Value", - "us": 851.0, + "us": 828.7, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 851.0, + "us": 828.7, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 851.0, + "us": 828.7, "level": "n/a" } } @@ -13531,19 +13531,19 @@ "sonic-rs": { "best": { "variant": "Value", - "us": 908.2, + "us": 889.5, "level": "n/a" }, "best_any": { "variant": "Value", - "us": 908.2, + "us": 889.5, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "Value": { - "us": 908.2, + "us": 889.5, "level": "n/a" } } @@ -13551,19 +13551,19 @@ "simd-json": { "best": { "variant": "borrowed", - "us": 788.3, + "us": 765.0, "level": "n/a" }, "best_any": { "variant": "borrowed", - "us": 788.3, + "us": 765.0, "level": "n/a" }, "best_reused": null, "best_reused_any": null, "variants": { "borrowed": { - "us": 788.3, + "us": 765.0, "level": "n/a" } } diff --git a/docs/mkdocs/scripts/figures/perf_blog.py b/docs/mkdocs/scripts/figures/perf_blog.py index 803881c77..c4e72a51e 100644 --- a/docs/mkdocs/scripts/figures/perf_blog.py +++ b/docs/mkdocs/scripts/figures/perf_blog.py @@ -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('%s' % (cx, y + 16, fr(r))) b.append('%s' - % (cx, y + 29, LEVEL_MARK[c["level"]])) + % (cx, y + 29, c["marks"])) else: b.append('%s' % (cx, y + ch / 2 + 4, fr(r))) b.append('') 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('time relative to the fastest fully validating library, less is better' % (yb + 4)) diff --git a/docs/mkdocs/scripts/figures/perf_blog_tables.py b/docs/mkdocs/scripts/figures/perf_blog_tables.py index 1fc9b71fe..84f39daea 100644 --- a/docs/mkdocs/scripts/figures/perf_blog_tables.py +++ b/docs/mkdocs/scripts/figures/perf_blog_tables.py @@ -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)))