[ 
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

Reply via email to