In Scala 2.10, MurmurHash
for some reason is deprecated, saying I should use MurmurHash3
now. But the API is different, and there is no useful scaladocs for MurmurHash3
-> fail.
For instance, current code:
trait Foo {
type Bar
def id: Int
def path: Bar
override def hashCode = {
import util.MurmurHash._
var h = startHash(2)
val c = startMagicA
val k = startMagicB
h = extendHash(h, id, c, k)
h = extendHash(h, path.##, nextMagicA(c), nextMagicB(k))
finalizeHash(h)
}
}
How would I do this using MurmurHash3
instead? This needs to be a fast operation, preferably without allocations, so I do not want to construct a Product
, Seq
, Array[Byte]
or whathever MurmurHash3
seems to be offering me.
Product
this would be probablystringHash(productPrefix)
. – Boart