Reuse a uniform word the later updates do not touch #373

Merged
SkippySteve merged 1 commit from fix/ub-memo into main 2026-11-07 23:08:34 +00:00
SkippySteve commented 2026-11-07 22:42:58 +00:00 (Migrated from github.com)

Summary

  • A draw reads the same uniform words as the draw before it, and each read was scanning every inline update in the submission. A word is kept until an update lands on it, its page is stamped, the submission changes, or an old update is dropped.
  • A uniform range copied into the stream for those updates is kept the same way, while that copy is still in the recording's stream.

Test plan

  • python -I -B tests/test_ub_memo.py passes, and fails if an overlapping update is ignored
  • Source regressions workflow, Linux step "Check a repeated uniform word is not read again"
## Summary - A draw reads the same uniform words as the draw before it, and each read was scanning every inline update in the submission. A word is kept until an update lands on it, its page is stamped, the submission changes, or an old update is dropped. - A uniform range copied into the stream for those updates is kept the same way, while that copy is still in the recording's stream. ## Test plan - [x] `python -I -B tests/test_ub_memo.py` passes, and fails if an overlapping update is ignored - [ ] Source regressions workflow, Linux step "Check a repeated uniform word is not read again"
shayderrr commented 2026-11-07 23:08:30 +00:00 (Migrated from github.com)

Thanks!

Thanks!
NotRexed commented 2026-11-07 23:09:11 +00:00 (Migrated from github.com)

Thanks! #322 (your gap cache) is merged on main now, and this one collides with it in ub_prune / the uniform reads (two caches for the same lookup). Could you rebase it on main so it builds on #322's cache instead of beside it? I'll measure it (fps and a one-frame flash count in Kokiri) once it applies.

Thanks! #322 (your gap cache) is merged on main now, and this one collides with it in ub_prune / the uniform reads (two caches for the same lookup). Could you rebase it on main so it builds on #322's cache instead of beside it? I'll measure it (fps and a one-frame flash count in Kokiri) once it applies.
Commenting is not possible because the repository is archived.
No description provided.