- Nearly all of the proposals involve additional operations on ints or longs. This is expected to require little additional elapsed time in most hash computations, given that the most significant cost in hashing collections is usually traversing the parts of the data structure, especially if that involves cache misses. Measurements are given above for one proposed set of hash function changes.
- Murmur3 is widely used, but does not lend itself well to incremental updates of hash calculations of collections.
Some useful references:
- Xorshift RNGs - source for the "munge" algorithm
- Which hashing algorithm is better for uniqueness and speed
- Scala's MurmurHash3 implementation (used for collection hashing) and more info on how to use it