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

Michael McCandless updated LUCENE-5604:
---------------------------------------

    Attachment: LUCENE-5604.patch

OK, new patch using simple linear probe.

For the benchmark, I switched to a single indexing thread,
NoMergePolicy, and set RAM buffer to 512 MB (so more entries in the
hash table before flushing, to provoke more conflict chances).  I
index the first 5M docs of Wikipedia medium, and full Geonames corpus:

{noformat}
wiki
   trunk:                     402.8 sec, 194906771 conflicts
   murmur3 + current probe:   410.8 sec, 136527391 conflicts
   murmur3 + linear probe:    395.8 sec,  63403239 conflicts

geonames
   trunk:                     624.1 sec, 368781904 conflicts
   murmur3 + current probe:   607.1 sec, 168310018 conflicts
   murmur3 + linear probe:    606.6 sec, 176405531 conflicts
{noformat}

Curious how the linear probe was such a big win for Wikipedia in
reducing conflicts, but slightly higher conflicts for Geonames, but
net/net I think we should switch to linear probe.


> Should we switch BytesRefHash to MurmurHash3?
> ---------------------------------------------
>
>                 Key: LUCENE-5604
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5604
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/index
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>             Fix For: 4.9, 5.0
>
>         Attachments: BytesRefHash.perturb.patch, LUCENE-5604.patch, 
> LUCENE-5604.patch, LUCENE-5604.patch
>
>
> MurmurHash3 has better hashing distribution than the current hash function we 
> use for BytesRefHash which is a simple multiplicative function with 31 
> multiplier (same as Java's String.hashCode, but applied to bytes not chars).  
> Maybe we should switch ...



--
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