Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-4239

Provide access to PackedInts' low-level blocks <-> values conversion methods

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0
    • Component/s: core/other
    • Labels:
      None
    • Lucene Fields:
      New, Patch Available

      Description

      In LUCENE-4161 we started to make the PackedInts API more flexible so that codecs could use it whenever they need to (un)pack integers. There are two posting formats in progress (For and PFor, LUCENE-3892) that perform a lot of integer (un)packing but the current API still has limits :

      • it only works with long[] arrays, whereas these codecs need to manipulate int[] arrays,
      • the packed reader iterators work great for unpacking long sequences of integers, but they would probably cause a lot of overhead to decode lots of short integer sequences such as the ones that can be generated by For and PFor.

      I've been looking at the For/PFor branch and it has a PackedIntsDecompress class (http://svn.apache.org/repos/asf/lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/pfor/PackedIntsDecompress.java) which is very similar to oal.util.packed.BulkOperation (package-private), so maybe we should find a way to expose this class so that the For/PFor branch can directly use it.

        Attachments

        1. LUCENE-4239.patch
          1.16 MB
          Adrien Grand

          Issue Links

            Activity

              People

              • Assignee:
                jpountz Adrien Grand
                Reporter:
                jpountz Adrien Grand
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: