[
https://issues.apache.org/jira/browse/LUCENE-4098?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
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: https://issues.apache.org/jira/browse/LUCENE-4098
> 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:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]