yeoman/grunt-filerev — pull request #36 by voxxit (2014-07-29 03:58:29+00:00)
Title: Adding ability to utilize the C/C++ CRC32 algorithm

Allow the use of the `'crc32'` algorithm using the [sse4_crc32](https://www.npmjs.org/package/sse4_crc32) C npm module. Use `npm install sse4_crc32` to install it.

I've also included benchmarks which you can run to show huge improvements in hashing speeds:
```bash
➜ grunt-filerev git:(master) node test/benchmarks/crc32.js
C/C++ CRC32 x 3,816,887 ops/sec ±0.40% (98 runs sampled)
JS CRC32 x 64,829 ops/sec ±0.46% (98 runs sampled)
crypto MD5 x 350,702 ops/sec ±6.56% (82 runs sampled)
crypto SHA1 x 350,118 ops/sec ±6.70% (86 runs sampled)
Fastest is: C/C++ CRC32

➜ grunt-filerev git:(master) ✗ node test/benchmarks/crc32_file.js
C/C++ CRC32 x 46,807 ops/sec ±0.70% (98 runs sampled)
JS CRC32 x 25,098 ops/sec ±1.19% (99 runs sampled)
crypto MD5 x 38,152 ops/sec ±1.11% (98 runs sampled)
crypto SHA1 x 37,686 ops/sec ±1.09% (97 runs sampled)
Fastest is: C/C++ CRC32

➜ grunt-filerev git:(master) ✗ node test/benchmarks/crc32_hexdigest.js
C/C++ CRC32 (hexdigest) x 2,131,216 ops/sec ±0.42% (101 runs sampled)
JS CRC32 (hexdigest):
crypto MD5 x 254,613 ops/sec ±2.61% (95 runs sampled)
crypto SHA1 x 246,767 ops/sec ±2.89% (94 runs sampled)
Fastest is: C/C++ CRC32 (hexdigest)
```