[Webkit-unassigned] [Bug 150137] IdentifierRepHash has a mismatch between hash() and equal()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Oct 15 11:27:41 PDT 2015


https://bugs.webkit.org/show_bug.cgi?id=150137

--- Comment #3 from Filip Pizlo <fpizlo at apple.com> ---
(In reply to comment #2)
> (In reply to comment #1)
> > I don't remember the exact bug number (maybe, in the context of Symbol and
> > IdentifierRepHash), IIRC, when I attempt to change this to PtrHash, I heard
> > the following reason why we did not use PtrHash; We intentionally use
> > StringHasher instead of PtrHash because it gives nicer distribution for
> > Strings and reduces collisions in the hash table.
> > So when changing this, I think measuring collision and performance is nice.
> 
> Personally I guess PtrHash gives nice distribution. PtrHash maps intptr_t =>
> unsigned. StringHasher maps UChar[arbitrary length] => unsigned. If PtrHash
> works well, it could provide nice distribution in this case I think.

Do you recommend measuring distribution directly, or do you think it's OK to just see how performance is affected overall?

We may encounter a trade-off between a fast to compute hash function that gives worse distribution and a slow to compute hash function that gives better distribution.  I don't have a philosophical preference between the two, but I just suspect that unless the distribution is really bad, the faster-to-compute hash function will give better overall performance.  Maybe the best thing to do is just to look at end-to-end performance.  Probably, it doesn't matter at all.  In that case, PtrHash is nicer because it's the less surprising choice.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20151015/eaf940d8/attachment.html>


More information about the webkit-unassigned mailing list