Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CRC64 Jones polynomial with improvements #285

Merged
merged 3 commits into from
May 5, 2024

Commits on May 5, 2024

  1. CRC64 Jones crc with improvements

    * Pulled from most recent Valkey, removed Valkey-specific parts
    * 53-73% faster for crc64_jones vs crc64_jones1 on Xeon 2670 v0 @ 2.6ghz
    * 2-2.5x faster for crc64_jones vs crc64_jones1 on Core i3 8130U @ 2.2 ghz
    * 1.6-2.46 bytes/cycle on i3 8130U
    * likely >2x faster than crcspeed on newer CPUs with more resources than a 2012-era Xeon 2670
    * crc64 combine function runs in <50 nanoseconds typical with vector + cache optimizations
      (~8 *microseconds* without vector optimizations, ~80 *microseconds without cache,
      the combination is extra effective)
    * still single-threaded
    * Variations of crccombine.c available (for non-intel arch starting points):
    josiahcarlson/redis@55642fe#diff-046412072aa4e87484754f261116ea6501d2350747ac1379530da9584834efdd
    josiahcarlson committed May 5, 2024
    Configuration menu
    Copy the full SHA
    905af6a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e2c5155 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e2c2542 View commit details
    Browse the repository at this point in the history