什么是int32的快速理想哈希函数?

用户名

我需要理想的(无冲突)哈希函数来将int映射到相同大小的int。最简单的方法是交换一些位的位置,但是也许有一些操作次数少且哈希种子容易更改的快速实现?也许使用一些快速对称密码?x86有AES说明。我不需要可移植性,所以使用SSE加速指令或其他x86特定指令会很棒吗?因为哈希应该非常快。

杰森

使用类似FNV32-1A的简单哈希,您可能会获得更好的结果

复杂的指令一样crc32clmulaes,等...有更高的吞吐量,但它们也有较高的延迟。就它们自己而言,它们也不一定能为您提供更好的分发。

您应该考虑的另一件事是冲突与哈希函数的成本。线性探针通常应在合理数量的探针上表现良好,因为16个值将适合单个高速缓存行。通过预测缓存访问,CPU可能也可以隐藏访问成本。

还需要考虑的是占用率和桌子尺寸之间的权衡。有时,将表大小增加一倍会更有效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Int32数组中快速使用sizeof

来自分类Dev

如何快速将Int32值转换为CGFloat?

来自分类Dev

为什么我们不能使用GetConstructor找到Int32的默认构造函数?

来自分类Dev

为什么int32 / int64比int慢?

来自分类Dev

为什么存在Convert.ToInt32(Int32)?

来自分类Dev

Nunmpy sum()函数+理解:int32还是in64?

来自分类Dev

Nunmpy sum()函数+理解:int32或in64?

来自分类Dev

快速强制将objective-c int分配为Int32,然后崩溃

来自分类Dev

在Swift中要为int32 pixelFormat输入什么?

来自分类Dev

为什么Color在字节上使用Int32?

来自分类Dev

为什么此Int32总和总是返回0?

来自分类Dev

UInt32,Int32和Float32的字节类型是什么?

来自分类Dev

如何通过UnsafePointer <Int32>创建Int32?

来自分类Dev

Int32是DateTime吗?

来自分类Dev

如何创建仅接受int32或int64的函数

来自分类Dev

为什么Convert.ToInt32(1.0 / 0.00004)!=(Int32)(1.0 / 0.00004)

来自分类Dev

为什么golang中的符文是int32而不是uint32的别名?

来自分类Dev

`std :: vector`的快速哈希函数

来自分类Dev

Swift中Int和Int32有什么区别?

来自分类Dev

为什么`Int32`在其源代码中使用`int`?

来自分类Dev

C# int & int32 声明

来自分类Dev

是否有一个名为“ int32”的内置函数?

来自分类Dev

为什么List <T>(Int32)的.Count的初始大小为0?

来自分类Dev

为什么&运算符返回Int32而不是bool?

来自分类Dev

LINQ to Entities无法识别方法'Int32 Parse(System.String)'为什么?

来自分类Dev

为什么不能将Action <Int32>强制转换为Action <Object>?

来自分类Dev

当转换为Int32时,为什么字节的ASCII值不同?

来自分类Dev

为什么&运算符返回Int32而不是bool?

来自分类Dev

为什么float64允许NA,但int32不允许?

Related 相关文章

  1. 1

    在Int32数组中快速使用sizeof

  2. 2

    如何快速将Int32值转换为CGFloat?

  3. 3

    为什么我们不能使用GetConstructor找到Int32的默认构造函数?

  4. 4

    为什么int32 / int64比int慢?

  5. 5

    为什么存在Convert.ToInt32(Int32)?

  6. 6

    Nunmpy sum()函数+理解:int32还是in64?

  7. 7

    Nunmpy sum()函数+理解:int32或in64?

  8. 8

    快速强制将objective-c int分配为Int32,然后崩溃

  9. 9

    在Swift中要为int32 pixelFormat输入什么?

  10. 10

    为什么Color在字节上使用Int32?

  11. 11

    为什么此Int32总和总是返回0?

  12. 12

    UInt32,Int32和Float32的字节类型是什么?

  13. 13

    如何通过UnsafePointer <Int32>创建Int32?

  14. 14

    Int32是DateTime吗?

  15. 15

    如何创建仅接受int32或int64的函数

  16. 16

    为什么Convert.ToInt32(1.0 / 0.00004)!=(Int32)(1.0 / 0.00004)

  17. 17

    为什么golang中的符文是int32而不是uint32的别名?

  18. 18

    `std :: vector`的快速哈希函数

  19. 19

    Swift中Int和Int32有什么区别?

  20. 20

    为什么`Int32`在其源代码中使用`int`?

  21. 21

    C# int & int32 声明

  22. 22

    是否有一个名为“ int32”的内置函数?

  23. 23

    为什么List <T>(Int32)的.Count的初始大小为0?

  24. 24

    为什么&运算符返回Int32而不是bool?

  25. 25

    LINQ to Entities无法识别方法'Int32 Parse(System.String)'为什么?

  26. 26

    为什么不能将Action <Int32>强制转换为Action <Object>?

  27. 27

    当转换为Int32时,为什么字节的ASCII值不同?

  28. 28

    为什么&运算符返回Int32而不是bool?

  29. 29

    为什么float64允许NA,但int32不允许?

热门标签

归档