What's Changed
v0.5.3; 2026-07-25
pcfg_guesser~2× faster than v0.5.2- ~2,578% faster than Python3 pcfg_guesser.py
- Reduce long-run RAM growth in
pcfg_guesser(priority-queue frontier)- Compact parse-tree representation (interned type IDs, packed nodes, arena reuse)
- Contiguous index-based heap (fewer per-item allocations)
- Reuse OMEN optimizer cache per worker
- Prefer
[]byteguess building to cut string churn
- Same generation logic; parallel stdout interleaving may differ across runs
- Rename
trainertopcfg_trainer
- optimize guesser speed & lower memory usage by @cyclone-github in #9
Full Changelog: v0.5.2...v0.5.3
Notes from PR #9:
Issue #8 got me to thinking about optimizing memory usage with pcfg_guesser. While combing through the codebase, I added a few hot path optimizations which increased guesser generation speed while also lowering memory usage, so win-win.
We now have twice the speed with half the memory usage. Nice.
Also renamed trainer to pcfg_trainer to keep the naming scheme similar between guesser and trainer binaries.