Jim Apple has posted comments on this change. Change subject: Add FNV, Zobrist, and SIMD hash functions to the int hash benchmark. ......................................................................
Patch Set 1: (3 comments) http://gerrit.cloudera.org:8080/#/c/4313/1/be/src/benchmarks/int-hash-benchmark.cc File be/src/benchmarks/int-hash-benchmark.cc: Line 41: // FNV 25.7 26 26.4 1X 1X 1X > Do we have a sense for the relative quality of the different hash functions I am so glad you asked! :-) We know that MultiplyShift is weaker than MultiplyAddShift, which in turn is weaker than Zobrist. The others have unknown strength. I mean this in a formal sense. With constant probability, MultiplyShift is strong enough that the average chain in separate chaining hash tables is O(1), for instance. However, it is not known to be strong enough for O(1) linear probing. Line 45: // Jenkins1 51.8 54 54 2.02X 2.08X 2.05X > Any reason Multiple<Jenkins..> was left out? It looks competitive based on Only that I don't trust their strength. Line 271: unique_ptr<uint32_t[]> ud(new uint32_t[DATA_SIZE]); > It'd be interesting to see how the vectorised hashing performs if the input That would be interesting. OK with you to just add TODO for now? -- To view, visit http://gerrit.cloudera.org:8080/4313 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I11d48f8816d5b129858a1f773015e51049dd1d61 Gerrit-PatchSet: 1 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Jim Apple <[email protected]> Gerrit-Reviewer: Jim Apple <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-HasComments: Yes
