64位整数数学和按位运算基准

时间:2010-08-03 17:43:02

标签: performance 64-bit hash bit-manipulation multiplication

我试图了解整数乘法与按位运算之间的性能差异......

我有两个可能的散列算法作用于64位密钥,一个使用单个乘法,单个右移和单个掩码,另一个涉及多个移位和掩码操作......但我想尝试比较它们在实施之前,因为找出魔法哈希数字需要一些时间来弄清楚。

在典型的64位处理器上,每64位整数乘法指​​令大约可以执行多少个按位运算?

3 个答案:

答案 0 :(得分:0)

http://lab.polygonal.de/2007/05/10/bitwise-gems-fast-integer-math/

这给出了一般比较......没有指定64位或32位......但我会将其用作基线。

答案 1 :(得分:0)

每次乘法可能有10位运算,但并不是那么简单。

你可以叠加这两个:在进行位操作时进行乘法运算。因此,最快的解决方案可能涉及两者兼而有之。

答案 2 :(得分:0)

我建议阅读:http://www.intel.com/Assets/PDF/manual/248966.pdf

(短篇小说:关于优化英特尔处理器的PDF。可能与您的目的非常接近一般情况)