cpp*_*nda 3 c++ hash murmurhash
我想在我的代码中实现一个hashmap,所以我决定坚持使用murmurhash3
我目前只提供为x86编译的程序,并试图保持代码通用,所以我从来没有遇到过在x64上运行程序的麻烦.
现在我查看了murmurhash的头文件,该库提供了以下功能:
MurmurHash3_x86_32
MurmurHash3_x86_64
MurmurHash3_x86_128
MurmurHash3_x64_32
MurmurHash3_x64_64
MurmurHash3_x64_128
Run Code Online (Sandbox Code Playgroud)
这是否意味着我必须使用x64函数并提供x64可执行文件才能在x64系统上使用此哈希库?或者我可以简单地使用x86版本,只是遇到较差的性能?
我是否认为_32 _64 _128位版本只是意味着更多位版本提供更好的分发?
编辑:查看murmurhash3文档后更改了所有内容.
首先,_x86变体是可移植的哈希算法._32/_64/_128以位为单位表示散列的宽度.通常_32应该没问题,只要您的哈希算法小于2 32个桶.
_x64变体是完全不同的散列算法系列.所有_x64变体都基于_x64_128
实现 - 一个128位散列.然后,他们扔掉部分哈希值以获得_32和_64位大小.这可能会或可能不会比_x86更快 - 文档声称有一些令人印象深刻的加速.但请注意,它很可能获得与x86变体不同的哈希值.
归档时间: |
|
查看次数: |
1269 次 |
最近记录: |