lukeed/tidyPublic

perf: faster TOML values

tidy::toml::value kept every entry in its own table map and rebuilt
each map as a serde_json one at the end. Values now go into serde_json
maps as they are read, and only sub-tables, which more of the document
can add to, are kept apart.

The lexer tried all 12 word patterns on every word. A word that starts
with a letter can only be a boolean, nan, inf or a key, so it only
tries those. The lex oracle still matches logos on 10M random texts.

On the 0.42 MB TOML bench corpus: parse 2.32 -> 1.94 ms, value
6.15 -> 4.90 ms, against the toml crate's 4.87 ms.
LELuke Edwards authored
9f14bdaPatch
Parent0d447af
2 files changed+67-44
StackedSplit
crates/tidy/src/toml/lexer.rs+22 −6
crates/tidy/src/toml/value.rs+45 −38