Skip to content

perf: trie conflict check in chisel-hacked - #41

Merged
lczyk merged 3 commits into
mainfrom
feat/test-302
Sep 27, 2026
Merged

lczyk merged 3 commits into
mainfrom
feat/test-302

Conversation

@lczyk

@lczyk lczyk commented Sep 27, 2026

Copy link
Copy Markdown
Owner

CHISEL_HACKS=1 used to make chisel-hacked skip release validation entirely. now it runs the full validate(), with the trie from canonical/chisel#302 in place of the quadratic path conflict loop, plus the letFunny/chisel#29 speedups on top. with CHISEL_HACKS unset it behaves like upstream.

release before (no skip) trie no validation
22.04 2.2s 43ms 42ms
24.04 16.7s 131ms 96ms
26.04 13.6s 87ms 59ms
26.10 11.8s 74ms 48ms

every patch in patches/chisel/ gets applied in name order, so adding one
no longer means editing the script.
with CHISEL_HACKS=1, chisel-hacked used to skip release validation
entirely. it now runs the full validate(), with the trie from
canonical/chisel#302 in place of the quadratic path conflict loop.
unset keeps upstream's loop.

chisel info on the 24.04+ release branches goes from ~11-17s to
~80-170ms, against ~40-100ms when skipping. all current release
branches validate cleanly.
letFunny/chisel#29 on top of the trie: reuse the traversal queues and
look up literal child segments directly. ~10-25% off chisel info on the
24.04+ release branches.
@lczyk
lczyk merged commit 3d0ff2a into main Sep 27, 2026
9 checks passed
@lczyk
lczyk deleted the feat/test-302 branch September 27, 2026 23:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant