Repository navigation
Move BitPacked serde logic from VTable to Plugin - #9937
Conversation
Merging this PR will not alter performance
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| Simulation | bench_compare_sliced_dict_primitive[(3333, 10000)] |
< 1 ns | < 1 ns | N/A |
Comparing mk/bitpacked-stack-01-wire-boundary (0cd02cd) with develop (4224390)2
Footnotes
-
503 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
-
No successful run was found on
develop(0751940) during the generation of this report, so 4224390 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩
950de57 to
9681199
Compare
349b196 to
04fa22c
Compare
BitPacked serde logic from VTable to Plugin
First PR of a stack prototyping a FoR encoding with one reference per 1024-element chunk, following the plugin approach used for `DecimalByteParts` and #9937. ## Summary Move metadata, serialization and deserialization of `fastlanes.for` into a new `FoRPlugin`. The VTable keeps only the required serde methods, which now return an error, plus in-memory validation. `vortex_fastlanes::initialize` registers `FoRPlugin` instead of the vtable-derived plugin. The wire format is unchanged: the metadata is still just the reference `ScalarValue` proto bytes, with a single `encoded` child. Users who register `FoR` directly on a session must now register `FoRPlugin` to get serde. --------- Signed-off-by: Matt Katz <mhkatz97@gmail.com>
Signed-off-by: "Matt Katz" <mhkatz97@gmail.com> Signed-off-by: Matt Katz <mhkatz97@gmail.com>
Signed-off-by: "Matt Katz" <mhkatz97@gmail.com> Signed-off-by: Matt Katz <mhkatz97@gmail.com>
Signed-off-by: Matt Katz <mhkatz97@gmail.com>
04fa22c to
314bd32
Compare
Signed-off-by: Matt Katz <mhkatz97@gmail.com>
Move metadata, serialization and deserialization of
fastlanes.bitpackedintoBitPackedPlugin. The VTable retains only the required error-returning serde methods and in-memory array validation.BitPackedPluginis registered on the default session instead of the vtable-derived plugin by default.Users must now register
BitPackedPlugininstead ofBitPackedon session.This refactor is made in preparation for introducing a new version of
BitPackedArray