Forum: Ruby-core [Ruby 1.9 - Feature #5106][Open] Is MurmurHash overkill?

Posted by Kurt Stephens (Guest)
on 2011-07-27 05:55
(Received via mailing list)
Issue #5106 has been reported by Kurt  Stephens.

----------------------------------------
Feature #5106: Is MurmurHash overkill?
http://redmine.ruby-lang.org/issues/5106

Author: Kurt  Stephens
Status: Open
Priority: Normal
Assignee:
Category:
Target version:



st.c implements MurmurHash to compute hash table indexes (#hash).

Simpler hash functions may be appropriate for hash tables, esp. small 
tables.

Is there a particular reason this hash function was chosen?  Is 
MurmurHash typically used for check-summing purposes?

Anybody positively adverse to changing it?  If so I won't bother. 
Otherwise I might take a crack at it.

-- KAS
Posted by Yui NARUSE (Guest)
on 2011-07-27 09:17
(Received via mailing list)
Issue #5106 has been updated by Yui NARUSE.

Priority changed from Normal to Low


----------------------------------------
Feature #5106: Is MurmurHash overkill?
http://redmine.ruby-lang.org/issues/5106

Author: Kurt  Stephens
Status: Open
Priority: Low
Assignee:
Category:
Target version:


st.c implements MurmurHash to compute hash table indexes (#hash).

Simpler hash functions may be appropriate for hash tables, esp. small 
tables.

Is there a particular reason this hash function was chosen?  Is 
MurmurHash typically used for check-summing purposes?

Anybody positively adverse to changing it?  If so I won't bother. 
Otherwise I might take a crack at it.

-- KAS
Posted by mame (Yusuke Endoh) (Guest)
on 2012-03-25 10:23
(Received via mailing list)
Issue #5106 has been updated by mame (Yusuke Endoh).

Status changed from Open to Assigned
Assignee set to mame (Yusuke Endoh)


----------------------------------------
Feature #5106: Is MurmurHash overkill?
https://bugs.ruby-lang.org/issues/5106#change-25159

Author: kstephens (Kurt  Stephens)
Status: Assigned
Priority: Low
Assignee: mame (Yusuke Endoh)
Category:
Target version:


st.c implements MurmurHash to compute hash table indexes (#hash).

Simpler hash functions may be appropriate for hash tables, esp. small 
tables.

Is there a particular reason this hash function was chosen?  Is 
MurmurHash typically used for check-summing purposes?

Anybody positively adverse to changing it?  If so I won't bother. 
Otherwise I might take a crack at it.

-- KAS
Posted by mame (Yusuke Endoh) (Guest)
on 2012-03-26 18:45
(Received via mailing list)
Issue #5106 has been updated by mame (Yusuke Endoh).

Status changed from Assigned to Feedback

Hello,

> Simpler hash functions may be appropriate for hash tables, esp. small
> tables.

Please make it quantitative when talking about performance.

Please show a benchmark first.
How slow is MurmurHash?  How fast will st.c be if the algoritm
is replaced with another one?
And how much the drawback?  That is, how many collision will
increase in actual cases?


> Anybody positively adverse to changing it?  If so I won't bother.  Otherwise
> I might take a crack at it.

Please make your move first.

We cannot answer your question until you show a benchmark.
Even after that, we cannot promise to import your patch before
you create it.  The chicken or the egg :-)

Thanks,

--
Yusuke Endoh <mame@tsg.ne.jp>
----------------------------------------
Feature #5106: Is MurmurHash overkill?
https://bugs.ruby-lang.org/issues/5106#change-25195

Author: kstephens (Kurt  Stephens)
Status: Feedback
Priority: Low
Assignee: mame (Yusuke Endoh)
Category:
Target version:


st.c implements MurmurHash to compute hash table indexes (#hash).

Simpler hash functions may be appropriate for hash tables, esp. small 
tables.

Is there a particular reason this hash function was chosen?  Is 
MurmurHash typically used for check-summing purposes?

Anybody positively adverse to changing it?  If so I won't bother. 
Otherwise I might take a crack at it.

-- KAS
Posted by Martin Bosslet (martin_b)
on 2012-03-28 22:23
(Received via mailing list)
Issue #5106 has been updated by MartinBosslet (Martin Bosslet).


With the recent changes since hashDoS I'm not sure whether
we should really aim for simplicity. It's quite easy to
become a target with a function that is algebraically as
simple as for example DJB33X. But speed on the other hand
couldn't hurt. We use Murmur 2, there is a version 3 by
the same author who claims it is generally faster than 2.
Maybe we should give that a try first?
----------------------------------------
Feature #5106: Is MurmurHash overkill?
https://bugs.ruby-lang.org/issues/5106#change-25319

Author: kstephens (Kurt  Stephens)
Status: Feedback
Priority: Low
Assignee: mame (Yusuke Endoh)
Category:
Target version:


st.c implements MurmurHash to compute hash table indexes (#hash).

Simpler hash functions may be appropriate for hash tables, esp. small 
tables.

Is there a particular reason this hash function was chosen?  Is 
MurmurHash typically used for check-summing purposes?

Anybody positively adverse to changing it?  If so I won't bother. 
Otherwise I might take a crack at it.

-- KAS
Posted by mame (Yusuke Endoh) (Guest)
on 2012-11-19 18:33
(Received via mailing list)
Issue #5106 has been updated by mame (Yusuke Endoh).

Status changed from Feedback to Rejected

I'm closing this ticket.  Feel free to reopen with benchmark.

BTW: MurmurHash was replaced with SipHash which is a bit slower than 
MurmurHash.

--
Yusuke Endoh <mame@tsg.ne.jp>
----------------------------------------
Feature #5106: Is MurmurHash overkill?
https://bugs.ruby-lang.org/issues/5106#change-33104

Author: kstephens (Kurt  Stephens)
Status: Rejected
Priority: Low
Assignee: mame (Yusuke Endoh)
Category:
Target version:


st.c implements MurmurHash to compute hash table indexes (#hash).

Simpler hash functions may be appropriate for hash tables, esp. small 
tables.

Is there a particular reason this hash function was chosen?  Is 
MurmurHash typically used for check-summing purposes?

Anybody positively adverse to changing it?  If so I won't bother. 
Otherwise I might take a crack at it.

-- KAS
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.