-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Execution Team 2021-06-14, Execution Team 2021-07-12, Execution Team 2021-07-26, Execution Team 2021-08-09, Execution Team 2021-08-23, Execution Team 2021-09-06
Implement a Simple-8b encoder and decoder and test the functionality in a new unittest.
Simple-8b packs multiple small integers in a single 64bit word. 4 bits are used as a control block to describe block sizes for the remaining 60 bits. One integer is stored in each block, if all bits are not used when it is padded with zeros.
The encoder need to be stateful and have an append-style interface. It looks at the incoming integers and selects optimal block sizes from a pre-determined table.
The decoder need to also be stateful and have forward iteration capability.
Multiple Simple-8b encoded words may be stringed together in a contiguous memory block. The total number of encoded integers (the size) should be stored outside the Simple-8b blocks.
- is depended on by
-
SERVER-58653 Simple8b Fails With Skip Encoding Size before word is created
- Closed
-
SERVER-57643 Simple-8b: Create Basic Decoder and Encoder Functions
- Closed
-
SERVER-57645 Simple-8b: Calculate the Selector from the Input Values
- Closed
-
SERVER-57724 Simple-8b: Allow values to be appended
- Closed
-
SERVER-57791 Handle missing elements in Simple-8b encoded blocks
- Closed
-
SERVER-57794 Implement run-length-encoding in Simple-8b
- Closed
-
SERVER-58147 Simple-8b: Reduce redundant computations
- Closed
-
SERVER-58149 Simple-8b: flush to store state
- Closed
-
SERVER-58401 Simple-8b: Clean up Flush Test Cases
- Closed
-
SERVER-58520 Simple-8b: Remove Invariants
- Closed