Skip to content

stbrumme/crc32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7a02813 · Sep 29, 2021

History

24 Commits
Sep 29, 2021
Dec 6, 2019
Apr 25, 2013
Apr 25, 2013
Dec 6, 2019
Dec 6, 2019
Aug 9, 2018
Sep 29, 2021
Dec 6, 2019
Aug 19, 2014
Dec 6, 2019

Repository files navigation

Fast CRC32

This is a mirror of my CRC32 library hosted at https://create.stephan-brumme.com/crc32/

Features in a nutshell:

  • C++ code, single file
  • the fastest algorithms need about 1 CPU cycle per byte
  • endian-aware
  • support for multi-threaded computation
  • runs even on Arduino, Raspberry Pi, etc.
  • quite long posting about it on https://create.stephan-brumme.com/crc32/, describing each implemented algorithm in detail

Algorithms:

  • bitwise

  • branch-free bitwise

  • half-byte

  • tableless full-byte

  • Sarwate's original algorithm

  • slicing-by-4

  • slicing-by-8

  • slicing-by-16

  • crc32_combine() "merges" two indepedently computed CRC32 values which is the basis for even faster multi-threaded calculation

See my website https://create.stephan-brumme.com/crc32/ for documentation, code examples and a benchmark.