Add hardware crc impl
authorDave Watson <davejwatson@fb.com>
Mon, 8 May 2017 16:44:17 +0000 (09:44 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Mon, 8 May 2017 18:43:29 +0000 (11:43 -0700)
commitd9acfc9e4d3f94c3470df9b45c7f0b6c172e8c23
tree3e29e1681f2128030fb202163949b0bcab25d0df
parent932973bfb92ecab18920e8c162a9b08f23423697
Add hardware crc impl

Summary:
A faster crc32 impl for folly.  Similar to crc32c, except
intel doesn't provide crc32 directly in hardware - instead, pclmul can be used,
which is ~2x slower than crc32c, but still ~5-10x faster than software implementation.

Reviewed By: Orvid, yfeldblum

Differential Revision: D4994761

fbshipit-source-id: ad8ba856649eea6dc7b541d561329ff7d7fe2d60
folly/Checksum.cpp
folly/Checksum.h
folly/Makefile.am
folly/detail/ChecksumDetail.cpp [new file with mode: 0644]
folly/detail/ChecksumDetail.h
folly/test/ChecksumTest.cpp