Repository navigation
Conversation
dd6e846 to
3bbee5e
Compare
3bbee5e to
91610c5
Compare
91610c5 to
450de94
Compare
450de94 to
f8f86e2
Compare
Merging this PR will regress 3 benchmarks4 warnings, 1 note
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes
|
f8f86e2 to
dbd6e96
Compare
dbd6e96 to
074c7b8
Compare
dce049b to
2dc62e4
Compare
|
@claude review |
|
Claude finished @danking's task in 1m 31s —— View job Review: optional logical-page boundaries in PCO metadata
Overall the change is sound. The wire format is additive (tag 3, optional, versioned), so older readers that ignore the field still decode correctly. 1. Hot-path cost (likely behind the CodSpeed regressions)a. Every full decode now checks validity counts for every page (
b. The index is built eagerly when an array is opened.
c. 2. Serializing a sliced array is now a hard error (
|
2dc62e4 to
ac6a40d
Compare
af66be3 to
de989ed
Compare
de989ed to
b31ed89
Compare
|
@claude review |
|
Claude finished @danking's task in 1m 8s —— View job Review: optional logical-row ends in PCO metadata (head
|
b31ed89 to
326178f
Compare
…e counts Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
…tadata Signed-off-by: Daniel King <dan@spiraldb.com>
Signed-off-by: Daniel King <dan@spiraldb.com>
0d82a2d to
8d165ae
Compare
|
Addressed the avoidable open-path copy in 8d165ae: share Arc<Vec> rather than converting Vec into Arc<[ByteBuffer]>, preserving cheap view clones without copying the buffer descriptors into another allocation. Also fixed the doctest import placement and cast comment, and documented the experimental use of nested tag 1. The oversized-chunk regression test is already restored in array.rs using Arc::make_mut. The requested wire-internal prefix assertions and semantic prefix/popcount scans were intentionally not added: Daniel explicitly requested public semantic tests and memory-safety-only validation. PR10825 now checks observable behavior across nullable chunk boundaries instead. The compressor's nonempty-page contract is unchanged. Metadata equality still distinguishes indexed and absent-index representations. Prior open/drop regressions remain disclosed; these changes were not rebenchmarked. Local independent source review passed; no builds/tests were run. |
Store optional cumulative logical-row page boundaries so readers can locate compressed pages without scanning validity across the array. Existing files remain readable and older readers ignore the additive metadata; shared metadata and buffer vectors avoid copying them between views. Earlier stack measurements showed about 32–33% higher metadata-open/drop time; the latest copy removal has not been rebenchmarked.