代码之家  ›  专栏  ›  技术社区  ›  tbischel

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

  •  1
  • tbischel  · 技术社区  · 14 年前

    我想了解一下整数相乘与位运算之间的性能差异…

    我有两个作用于64位密钥的潜在哈希算法,一个使用单乘法、单右移位和单掩码,另一个涉及多个移位和掩码操作…但是我想在实现之前尝试比较它们,因为计算出神奇的散列值需要一些时间。

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

    3 回复  |  直到 14 年前
        1
  •  0
  •   tbischel    14 年前

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

    这给出了一个一般的比较…未指定64位或32位…但我会用这个作为基线。

        2
  •  0
  •   Charles    14 年前

    也许每乘10位操作,但并不那么简单。

    你可以把这两个叠加起来:边做位运算边做乘法。因此,最快的解决方案可能包括同时执行这两项。

        3
  •  0
  •   Slartibartfast    14 年前

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

    (短篇小说:关于英特尔处理器优化的pdf。可能是为了你的目的,非常接近一般情况)