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

Implement run-length-encoding in Simple-8b

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.1.0-rc0
    • Component/s: None
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Sprint:
      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

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

                Dates

                Created:
                Updated:
                Resolved: