Evaluate meowhash

It’s the fastest hash function we know of by a factor of at least 3. On modern Intel x64 CPUs, it hashes 16 bytes per cycle single-threaded. This means in cache it can hash at a rate of 64 gigabytes per second on a 4.2gHz machine.

How robust is it? It cleanly passes every test in smhasher and has produced no collisions on our large datasets as yet.

Looks very interesting IMHO.

1 Like

Syncthing needs cryptographic hashes.

1 Like

Just curious but why?

1 Like

Read the docs/protocol spec. We rely on lack of collisions to prevent tampering.

Ah thanks for the info!

Is there a reason why adler32 is used as the weakhash while go seems to provide a hardware-assisted crc32 implementation? https://golang.org/src/hash/crc32/

CRC is not a rolling hash (windowed hash), adler32 is.