В pyha sh .murmur3_x ** _ 128 () ("foo") нам нужно учитывать python платформа или linux платформа биты? - PullRequest
1 голос
/ 26 апреля 2020

Я хочу использовать pyhash murmur3 128-битный алгоритм в моей программе.
Он имеет 2 различных варианта: murmur3_x64_128 и murmur3_x86_128.
Это относится к python платформе или unix платформа?
Потому что я должен написать условие if else для моей программы, чтобы выбрать оптимизированный вариант во время выполнения.

Например, использование: (оба работают в моей системе) (но мои python и linux оба являются 64-битными)

import pyhash
hasher = pyhash.murmur3_x86_128()
print(hasher("foo"))
hasher = pyhash.murmur3_x64_128()
print(hasher("foo"))

Вывод:

21517627922880161342356693896102748869
323517048543817317219522474765345119020

1 Ответ

2 голосов
/ 26 апреля 2020

Это относится к платформе вашей машины, а не Python. Как вы заметили, они не одинаковы, имеют sh и не могут использоваться взаимозаменяемо.

murmur3_x64_128 имеет лучшую производительность, чем murmur3_x86_128 на 64-битных платформах, но имеет довольно плохую производительность на 32 платформы, которые не имеют собственных 64-битных операций.

murmur3_x86_128 имеет одинаковую производительность на обеих платформах.

...