lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] [Updated] (LUCENE-4098) Efficient bulk operations for packed integer arrays
Date Fri, 01 Jun 2012 17:34:23 GMT


Michael McCandless updated LUCENE-4098:

    Attachment: LUCENE-4098.patch

The patch looks great!

I wrote a new random test (in attached patch) that just randomly bulk copies a bunch of slices
from one packed ints array to another and then asserts the values are correct ... but it's
failing.  I'm not sure why yet, and it's entirely possible it's a test bug!  If you run with
-Dtests.verbose=true it prints details...
> Efficient bulk operations for packed integer arrays
> ---------------------------------------------------
>                 Key: LUCENE-4098
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: core/other
>            Reporter: Adrien Grand
>            Assignee: Michael McCandless
>            Priority: Minor
>             Fix For: 4.1
>         Attachments: LUCENE-4098.patch, LUCENE-4098.patch
> There are some places in Lucene code that {iterate over,set} ranges of values of a packed
integer array. Because bit-packing implementations (Packed*) tend be slower than direct implementations,
this can take a lot of time.
> For example, under some scenarii, GrowableWriter can take most of its (averaged) {{set}}
time in resizing operations.
> However, some bit-packing schemes, such as the one that is used by {{Packed64SingleBlock*}},
allow to implement efficient bulk operations such as get/set/fill. Implementing these bulk
operations in {{PackedInts.{Reader,Mutable}}} and using them across other components instead
of their single-value counterpart could help improve performance.

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