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

Implement run-length-encoding in Simple-8b

    • 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-07-12, Execution Team 2021-07-26

      In an unused Simple-8b selector slot (number 15) let the remaining 4 bits of the first byte in a Simple-8b block represent a RLE count. 

      This count should be treated as a repeat of the previous value multiplied with 120.

      The encoder may have to look back several written Simple-8b blocks and re-write as RLE.

      A repeat of 119 needs the following Simple-8b blocks:

      #1 <60 buckets>
      #2 <30 buckets>
      #3 <20 buckets>
      #7 <8 buckets>
      #14 <1 bucket>

      When the 120th identical value is appended they can all be replaced by RLE selector #15 with count=1.

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

              Created:
              Updated:
              Resolved: