They weren’t wrong about the “challenge” part.
Continue reading...
。新收录的资料对此有专业解读
i ran some comparisons on state representation width - 16-bit state IDs fit noticeably better into CPU cache than wider ones, and if you’re hitting 64K+ states you’re probably better off splitting into two simpler patterns anyway. one design decision i’m happy with is that when the engine hits a limit - state capacity, lookahead context distance - it returns an error instead of silently falling back to a slower algorithm. as the benchmarks above show, “falling back” can mean a 1000x+ slowdown, and i’d rather you know about it than discover it in production. RE# will either give you fast matching or tell you it can’t.
let git_dir = repo_root.join(".git");