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

Dawid Weiss commented on LUCENE-3972:
-------------------------------------

This is curious indeed. One thing to check would be this: SentinelIntSet uses 
no key rehashing (rehash simply returns the key). This resulted in very poor 
performance for certain regular integer sets (my experience from implementing 
HPPC). So while rehashing may seem like an additional overhead, it actually 
boosts performance.

Martijn -- could you patch the trunk's SentinelIntSet#rehash with, for example, 
this (murmur hash3 tail):
{noformat}
    public static int rehash(int k)
    {
        k ^= k >>> 16;
        k *= 0x85ebca6b;
        k ^= k >>> 13;
        k *= 0xc2b2ae35;
        k ^= k >>> 16;
        return k;
    }
{noformat}
                
> Improve AllGroupsCollector implementations
> ------------------------------------------
>
>                 Key: LUCENE-3972
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3972
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: modules/grouping
>            Reporter: Martijn van Groningen
>         Attachments: LUCENE-3972.patch, LUCENE-3972.patch
>
>
> I think that the performance of TermAllGroupsCollectorm, 
> DVAllGroupsCollector.BR and DVAllGroupsCollector.SortedBR can be improved by 
> using BytesRefHash to store the groups instead of an ArrayList.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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

Reply via email to