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

Implement run-length-encoding in Simple-8b

    XMLWordPrintable

Details

    • Task
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 5.1.0-rc0
    • None
    • None
    • Fully Compatible
    • Execution Team 2021-07-12, Execution Team 2021-07-26

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: