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

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

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 4.0
    • core/other
    • None
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: