lukeed/tidyPublic

perf: pool YAML compose data

The composer allocated a String for each scalar, tag and anchor, and a
Vec for each collection. Values now go into one string buffer and
items into pools, and a scalar without escapes or line breaks borrows
its source until it is stored.

The vite lockfile formats in 12.7 ms instead of 13.7 ms, with 53K
allocations instead of 104K.
LELuke Edwards authored
c89e4acPatch
Parentd3ba268
3 files changed+167-61
StackedSplit
crates/tidy/src/yaml/compose.rs+112 โˆ’38
crates/tidy/src/yaml/scalar.rs+19 โˆ’9
crates/tidy/src/yaml/transform.rs+36 โˆ’14