lukeed/tidyPublic

perf: inline YAML CST lists

The CST keeps the lexemes of each item part and token end in a Vec,
and most hold three or fewer. They now live inline in a SmallVec, so
the parser mostly stops allocating while it keeps yaml's in-place
list edits.

The vite lockfile formats in 12.2 ms instead of 12.7 ms. The YAML
bench corpus needs 76K allocations instead of 691K at the start of
this work.
LELuke Edwards authored
f695f63Patch
Parentc89e4ac
6 files changed+93-58
StackedSplit
Cargo.lock+7 โˆ’0
crates/tidy/Cargo.toml+1 โˆ’0
crates/tidy/src/yaml/cst.rs+75 โˆ’57
crates/tidy/src/yaml/transform.rs+1 โˆ’1
tests/oracle/yaml/Cargo.lock+8 โˆ’0
tests/oracle/yaml/Cargo.toml+1 โˆ’0