[ 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org