Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-57318

Simple-8b encoder/decoder

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.1.0-rc0
    • 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.

            Assignee:
            jackson.xie@mongodb.com Jackson Xie (Inactive)
            Reporter:
            henrik.edin@mongodb.com Henrik Edin
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: