A bound buffer is joined across adjacent registered ranges only when every one of them is larger than the 8 MiB window. PPSA25344's loading binds 16 MiB and 4 MiB buffers whose backing was registered in two to six adjacent pieces with the same access, some of them smaller than the window, so each use of such a buffer was copied on the CPU: up to 348 GB in the first 300 s of loading. A bound buffer that starts at the first crossed range's start and ends at the last one's end now joins those ranges whatever their size. A heap grown in pieces matches that only for a binding over exactly its current pieces, so growth beside a joined import does not re-import it. joinedCovers, used when a joined import retires, accepts any adjacent run of ranges. importJoinTests binds exactly over two 64 KiB pieces of a partly filled window and requires one import of both; a binding across them that starts inside the first piece stays apart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| dev | ||
| user | ||