| Comment: | frames streams through the plaintext memo (#84)
frames was the one bulk reader still calling the uncached content(), so a delta base was reconstructed once per referencing delta rather than once per run — superlinear work against a linear stream, on corpora that are ~90% deltas after a fossil import. libfossil (17,449 artifacts): 12.4s -> 2.34s real, 12.0s -> 2.25s user. Output byte-identical, peak RSS down 362MB -> 314MB. memoize_undeltaed stays off: the sweep reads each artifact once, and bases are memoized regardless of their own frame kind, which is the win. |
|---|---|
| Timelines: | family | ancestors | descendants | both | frames-memo |
| Files: | files | file ages | folders |
| SHA3-256: |
2e3bb0b9dbf63bac22e2f65996d22528 |
| User & Date: | dmestas on 2026-08-16 16:00:04.811 |
| Other Links: | branch diff | manifest | tags |
|
2026-08-16
| ||
| 16:00 | merge frames-memo: stream through the plaintext memo (#84) check-in: 6759506ea8 user: dmestas tags: trunk | |
| 16:00 |
frames streams through the plaintext memo (#84)
frames was the one bulk reader still calling the uncached content(), so a delta base was reconstructed once per referencing delta rather than once per run — superlinear work against a linear stream, on corpora that are ~90% deltas after a fossil import. libfossil (17,449 artifacts): 12.4s -> 2.34s real, 12.0s -> 2.25s user. Output byte-identical, peak RSS down 362MB -> 314MB. memoize_undeltaed stays off: the sweep reads each artifact once, and bases are memoized regardless of their own frame kind, which is the win. closed check-in: 2e3bb0b9db user: dmestas tags: frames-memo | |
| 15:04 | merge record-cards: technote C/T cards and forum N card (#77) check-in: 5bea261864 user: dmestas tags: trunk | |