[ 
https://issues.apache.org/jira/browse/LUCENE-4538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13490643#comment-13490643
 ] 

Robert Muir commented on LUCENE-4538:
-------------------------------------

Among other things: look at how expensive it is today to create a Packed ints 
direct source (its just an example, other DV impls also read lots of similar 
stuff)

# IndexInput.clone(): PackedIntValues:221 return new
PackedIntsSource(datIn.clone(), true);
# readLong(): PackedIntValues:223 minValue = dataIn.readLong();
# readLong(); PackedIntValues:224 defaultValue = dataIn.readLong();
# readInt(); Codec magic <-- PackedInts.getDirectReader()
# readString(); Codec name
# readInt(); Codec version
# readVInt(); bits per value
# readVInt(); value count
# readVint(); format

I opened LUCENE-4539 for this. Taking a cursory look at e.g. the packedints 
impl, i think we can fix
it by just fixing our impl (e.g. no file formats change).
                
> Cache DocValues DirecSource 
> ----------------------------
>
>                 Key: LUCENE-4538
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4538
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/codecs
>    Affects Versions: 4.0
>            Reporter: Simon Willnauer
>             Fix For: 4.1, 5.0
>
>         Attachments: LUCENE-4538.patch
>
>
> Currently the user need to make sure that a direct source is not shared 
> between threads and each time someone calls getDirectSource we create a new 
> source which has a reasonable overhead. We can certainly reduce the overhead 
> (maybe different issue) but it should be easier for the user to get a direct 
> source and handle it. More than that is should be consistent with getSource / 
> loadSource.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
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]

Reply via email to