64-разрядные целочисленные математические и побитовые тесты операций - PullRequest
1 голос
/ 03 августа 2010

Я пытаюсь почувствовать разницу в производительности между целочисленным умножением и побитовыми операциями ...

У меня есть два возможных алгоритма хеширования, работающих на 64-битных ключах, один из которых использует одно умножение, одно правое смещение и одну маску, а другой - несколько операций сдвига и маски ... но я хочу попробовать их сравнить до реализации, так как выяснение магических чисел хеширования потребует некоторого времени, чтобы выяснить.

На типичном 64-битном процессоре, сколько приблизительно битовых операций можно выполнить на 64-битную инструкцию целочисленного умножения?

Ответы [ 3 ]

0 голосов
/ 05 августа 2010

Может быть, 10-битные операции на умножение, но это не так просто.

Вы можете наложить два: делать умножение, пока вы выполняете битовые операции. Поэтому самое быстрое решение может включать в себя и то и другое.

0 голосов
/ 05 августа 2010

Я рекомендую прочитать: http://www.intel.com/Assets/PDF/manual/248966.pdf

(Краткий рассказ: PDF об оптимизации для процессоров Intel. Возможно, для ваших целей очень близок к общему случаю)

0 голосов
/ 05 августа 2010

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

Это дает общее сравнение ... не указывает 64-битную или 32-битную ... но я буду использовать это в качестве базовой линии.

...