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

Paul Elschot commented on LUCENE-5416:
--------------------------------------

I would normally expect that the performance is independent of the presence of 
the advanceToJustBefore() method of DocBlockIterator.
This method happens to be there because I needed it for LUCENE-5092, and I did 
not bother to remove it for the performance measurements.
I'm sorry for the confusion about this.

The FixedBitSetDBI here does not always make nextDoc() faster, in fact (for me) 
the Long.numberOfTrailingZeros() implementation of nextDoc() in FixedBitSetDBI 
here is up to 5 times slower for load factors above 0.25. Below that the 
nextDoc() here is up to 2.5 times faster.

The idea is that using  Long.numberOfTrailingZeros() appears to be faster for 
advance(), and also for nextDoc()  up to a load factor of about 0.25 .

Wasn't OpenBitSetIterator made before Long.numberOfTrailingZeros() was 
available/intrinsified?


> Performance of a FixedBitSet variant that uses Long.numberOfTrailingZeros()
> ---------------------------------------------------------------------------
>
>                 Key: LUCENE-5416
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5416
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/search
>    Affects Versions: 5.0
>            Reporter: Paul Elschot
>            Priority: Minor
>             Fix For: 5.0
>
>
> On my machine the current byte index used in OpenBitSetIterator is slower 
> than Long.numberOfTrailingZeros() for advance().
> The pull request contains the code for benchmarking this taken from an early 
> stage of DocBlocksIterator.
> In case the benchmark shows improvements on more machines, well, we know what 
> to do...



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to