I want to use pyhash
murmur3 128 bits algorithm in my program.
It has 2 different variants i.e. murmur3_x64_128
and murmur3_x86_128
.
Is it referring to python platform or Unix platform?
Eg usage: (Both are working on my system, but my python and Linux both are 64 bit.)
hasher = pyhash.murmur3_x86_128()
print(hasher("foo"))
hasher = pyhash.murmur3_x64_128()
print(hasher("foo"))
# Output:
# 21517627922880161342356693896102748869
# 323517048543817317219522474765345119020
It is referring to the platform of your machine, not Python. As you note, they are not the same hash, and can not be used interchangeably.
murmur3_x64_128
has better performance than murmur3_x86_128
on 64-bit platforms, but has pretty bad performance on 32-bit platforms that do not have native 64-bit operations.
murmur3_x86_128
has equal performance on both platforms.