Ответить на комментарий

Тест на AMD-K6-III@500MHz

   ReferenceRefreshCRC64 14821 msec
      NormalRefreshCRC64 13139 msec
   ReflectedRefreshCRC64 13139 msec
   ShaNormalRefreshCRC64  6990 msec
ShaReflectedRefreshCRC64  5959 msec

Разница в 17% у двух последних функций может показаться довольно странной, ведь основной цикл у них совпадает.
Предположил, что дело в выравнивании кода (в первом случае выравнивание метки @bodyloop 06, во втором - 0E).
Чтобы поменять смещения в процедуру ShaNormalRefreshCRC64 перед меткой вставил 8-байтовую последовательность
  movzx edi, al
  mov edi, 0

Предположение подтвердилось, результат изменился на противоположный:
   ReferenceRefreshCRC64 14771 msec
      NormalRefreshCRC64 13129 msec
   ReflectedRefreshCRC64 13129 msec
   ShaNormalRefreshCRC64  5959 msec
ShaReflectedRefreshCRC64  6990 msec

Итого имеем ускорение 2.1-2.5 раза.

Ответить

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <h1> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <pre>, <code>, <asm>, <c>, <cpp>, <delphi>, <drupal5>, <drupal6>, <java>, <javascript>, <php>, <python>, <ruby>, <mytext>. Beside the tag style "<foo>" it is also possible to use "[foo]".

Подробнее о форматировании

CAPTCHA
Ведите текст с изображения. (вводить еще раз после предпросмотра а то не добавится комментарий)
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.