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

Robert Muir commented on LUCENE-6009:
-------------------------------------

+1

> Remove redundant == NO_MORE_DOCS checks
> ---------------------------------------
>
>                 Key: LUCENE-6009
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6009
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Adrien Grand
>            Assignee: Adrien Grand
>             Fix For: 5.0
>
>         Attachments: LUCENE-6009.patch
>
>
> When I added some new doc id sets, I took inspiration from FixedBitSet which 
> had protection for bad users of its iterator by basically doing
> {code}
> if (doc == NO_MORE_DOCS || ++doc >= numBits) {
>   return doc = NO_MORE_DOCS;
> }
> {code}
> in order to not overflow the integer {{doc}} when the iterator was already 
> exhausted. However, DocIdSetIterator clearly states that the behaviours of 
> nextDoc() and advance() are undefined when the iterator is already exhausted 
> so we do not need such protection.
> For the record, I don't expect better performance from this change since the 
> branch is highly predictable (benchmarks seem to support this). At best it 
> might just help inlining by making methods smaller.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to