lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adrien Grand (JIRA)" <>
Subject [jira] [Updated] (LUCENE-4239) Provide access to PackedInts' low-level blocks <-> values conversion methods
Date Fri, 20 Jul 2012 00:13:35 GMT


Adrien Grand updated LUCENE-4239:

    Attachment: LUCENE-4239.patch

First shot. I created two interfaces {{PackedInts.Decoder}} and {{PackedInts.Encoder}} that
expose the {{BulkOperation}} methods. Similarly to {{PackedIntsDecompress}}, I used java.nio
buffers to leverage the byte/int/long buffer conversions ({{ByteBuffer.asIntBuffer}}, ...).
This is not ready to commit, I still need to run tests to see whether it hurts performance...
> Provide access to PackedInts' low-level blocks <-> values conversion methods
> ----------------------------------------------------------------------------
>                 Key: LUCENE-4239
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: core/other
>            Reporter: Adrien Grand
>            Assignee: Adrien Grand
>            Priority: Minor
>             Fix For: 4.0
>         Attachments: LUCENE-4239.patch
> 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
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.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message