Fast CRC implementations ported from Intel's efforts

Provides fast CRC32C with PCLMULQDQ instructions in Golang

The white papers on CRC32C calculations with PCLMULQDQ instruction can be
  downloaded from:

http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/crc-iscsi-polynomial-crc32-instruction-paper.pdf
http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/fast-crc-computation-paper.pdf
This commit is contained in:
Harshavardhana
2014-12-02 03:17:39 -08:00
parent d31050803b
commit fb34c5290c
9 changed files with 995 additions and 1 deletions

View File

@@ -15,13 +15,17 @@ build-erasure:
build-signify:
@$(MAKE) $(MAKE_OPTIONS) -C pkgs/signify
build-crc32c:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/crc32c/cpu
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/crc32c
build-split: build-strbyteconv
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/split
build-strbyteconv:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/strbyteconv
cover: build-erasure build-signify build-split
cover: build-erasure build-signify build-split build-crc32c
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/storage
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/gateway