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

Uwe Schindler commented on LUCENE-9003:
---------------------------------------

Ah right. Yes, that's an option. Using opaque memory model would reduce the 
risk that you may need to do the heavy bitset/numdocs calculation 2 times.

> Should FilterDirectoryReader compute numDocs lazily?
> ----------------------------------------------------
>
>                 Key: LUCENE-9003
>                 URL: https://issues.apache.org/jira/browse/LUCENE-9003
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Adrien Grand
>            Priority: Minor
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> FilterDirectoryReader extends BaseCompositeReader, which computes both maxDoc 
> and numDocs eagerly in its constructor by summing up these values across all 
> sub leaves.
> This is problematic for readers that hide additional documents. Computing 
> numDocs on such leaf readers usually requires iterating over all live 
> documents to count them. This makes creating a FilterDirectoryReader on top 
> run in linear time, which has caused several performance bugs to us over 
> time. This is especially frustrating given that numDocs is a rarely used 
> index statistic.
> I think computing numDocs lazily would be less surprising?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to