我试图了解整数乘法与按位运算之间的性能差异......
我有两个可能的散列算法作用于64位密钥,一个使用单个乘法,单个右移和单个掩码,另一个涉及多个移位和掩码操作......但我想尝试比较它们在实施之前,因为找出魔法哈希数字需要一些时间来弄清楚。
在典型的64位处理器上,每64位整数乘法指令大约可以执行多少个按位运算?
答案 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。可能与您的目的非常接近一般情况)