[ 
https://issues.apache.org/jira/browse/LUCENE-5856?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Muir updated LUCENE-5856:
--------------------------------

    Attachment: LUCENE-5856.patch

simple patch.

i tried to figure out a way to benchmark, so i used matchalldocs+filters of 
different densities (and forced fixedbitset). 

Gives me numbers like:

{noformat}
                    Task   QPS trunk      StdDev   QPS patch      StdDev        
        Pct diff
                   F50.0       14.76      (1.2%)       15.67      (0.1%)    
6.1% (   4% -    7%)
                  F100.0       20.28      (2.4%)       21.61      (0.0%)    
6.6% (   3% -    9%)
                   F99.0       20.05      (2.4%)       21.40      (0.1%)    
6.7% (   4% -    9%)
                   F95.0       19.21      (2.2%)       20.54      (0.2%)    
6.9% (   4% -    9%)
                   F90.0       18.40      (2.1%)       19.71      (0.3%)    
7.1% (   4% -    9%)
                   F75.0       16.39      (1.5%)       17.60      (0.6%)    
7.4% (   5% -    9%)
                   F20.0       27.04      (1.0%)       29.09      (0.1%)    
7.6% (   6% -    8%)
                   F10.0       42.09      (1.0%)       46.16      (0.5%)    
9.7% (   8% -   11%)
                    F5.0       56.77      (0.8%)       64.46      (0.6%)   
13.6% (  12% -   15%)
                    F2.0       70.43      (0.5%)       83.48      (0.7%)   
18.5% (  17% -   19%)
                    F1.0       76.42      (0.3%)       92.60      (0.7%)   
21.2% (  20% -   22%)
                    F0.5       80.01      (0.2%)       98.15      (0.6%)   
22.7% (  21% -   23%)
{noformat}

I suppose F0.5 looks the best, because it has less noise from priority queue 
checks and other things going on.

> remove useless & 0x3f from *BitSet.get and company
> --------------------------------------------------
>
>                 Key: LUCENE-5856
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5856
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Robert Muir
>         Attachments: LUCENE-5856.patch
>
>
> java specification says:
> {quote}
> If the promoted type of the left-hand operand is long, then only the six 
> lowest-order bits of the right-hand operand are used as the shift distance. 
> It is as if the right-hand operand were subjected to a bitwise logical AND 
> operator & (ยง15.22.1) with the mask value 0x3f (0b111111). The shift distance 
> actually used is therefore always in the range 0 to 63, inclusive.
> {quote}
> and x86 works the same way.
> if we remove this, we just see less instructions with printassembly...



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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

Reply via email to