[
https://issues.apache.org/jira/browse/LUCENE-5792?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Adrien Grand updated LUCENE-5792:
---------------------------------
Attachment: LUCENE-5792.patch
Here is a patch:
- The former Appending(Delta)PackedLongBuffer and
MonotonicAppendingLongBuffer are now exposed under a single API, see
{{PackedLongValues}} in the patch
- writes are down through a Builder class that doesn't support reads, you
need to call build() first
- reads don't have a branch to decide on whether to read in the buffer of
pending changes anymore
- removed the bulk read API that wasn't used anywhere
- the {{ramBytesUsed}} method has been optimized to just return a private
member (there used to be a TODO to improve it since this method is called
per-doc-per-norms/dv-field at indexing time), which is updated upon resize of
the builder
> Improve our packed *AppendingLongBuffer
> ---------------------------------------
>
> Key: LUCENE-5792
> URL: https://issues.apache.org/jira/browse/LUCENE-5792
> Project: Lucene - Core
> Issue Type: Improvement
> Reporter: Adrien Grand
> Assignee: Adrien Grand
> Priority: Minor
> Fix For: 5.0, 4.10
>
> Attachments: LUCENE-5792.patch
>
>
> Since these classes are writeteable, they need a buffer in order to stage
> pending changes for efficiency reasons. The issue is that at read-time, the
> code then needs, for every call to {{get}} to check whether the requested
> value is in the buffer of pending values or has been packed into main
> storage, which is inefficient.
> I would like to fix these APIs to separate the writer from the reader, the
> latter being immutable.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]