【问题标题】:64 bit integer math and bitwise operation benchmarks64 位整数数学和按位运算基准
【发布时间】:2010-08-03 17:43:01
【问题描述】:

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

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

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

【问题讨论】:

  • 回想起来,我可以用一些假乘数对其进行基准测试...创建真正的散列函数可能需要大量时间,因为散列乘数是通过猜测和检查找到的。

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


【解决方案1】:

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

这是一个一般性的比较...没有指定 64 位或 32 位...但我会以此为基准。

【讨论】:

    【解决方案2】:

    每次乘法可能需要 10 位操作,但没那么简单。

    您可以将两者重叠:在进行位运算时进行乘法运算。因此,最快的解决方案可能是两者都做。

    【讨论】:

      【解决方案3】:

      我推荐阅读:http://www.intel.com/Assets/PDF/manual/248966.pdf

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多