Here are some speed result, run on a Core i7 notebook.
We did hash 10000 random strings, from 1 to 1250 chars long.

  • Our optimized unrolled x86 version - aka crc32cfast() - performs the test at a very good pace of 1.7 GB/s;
  • SSE 4.2 version - aka crc32csse42() - gives an amazing 3.7 GB/s speed (on both Win32 and Win64 platforms);
  • simple rolled version of the algorithm (similar to the one in Delphi zlib unit) runs at 330 MB/s.

For comparison, on the same random content:

  • Our optimized unrolled kr32() function (i.e. the standard Kernighan & Ritchie hash taken from "The C programming Language", 3rd edition) hashes at 898.8 MB/s;
  • Our simple proprietary Hash32() function runs at  2.5 GB/s, but with much more collisions.
Feedback and numbers is welcome in our forum, as usual!