Repository navigation
Write each wildcard element as it is walked - #59
Conversation
A wildcard rule expanded every read path into one site record per element, held a joined-index map per further read path, and built the whole output list before the first write, so an encode over a large array kept several hundred bytes per element beyond its result and ran out of memory at tens of millions of elements. The governing path is now walked one element at a time with the trail held once, the other read paths are read at the element's indexes, and each element's results are written before the next is visited. Absence and element-pairing failures keep their order: every path is walked for its count first, so an absent path is reported before a misaligned one, exactly as before.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@codex security review |
|
This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins. |
1 similar comment
|
This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins. |
|
🎉 This PR is included in version 0.8.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
A wildcard rule used to expand every read path into one site record per element, hold a joined-index map per further read path, and build the whole output list before the first write, which kept several hundred bytes per element beyond the result and hit the heap limit at tens of millions of elements (about 800 bytes per element measured on an eight-rule graph crosswalk, and the table-size abort in the issue). The governing path is now walked one element at a time with the trail held once, the other read paths are read at the element's indexes through the existing single-location reader, and each element's results are written before the next element is visited, so nothing per element outlives the element. Absence and element-pairing failures keep their order, because every path is walked for its count before the write walk begins, exactly as the previous frontier design reported them. The regression test pins the retained growth per element on a five-read-path shape.
Fixes #57.