Node.js 的高速 CRC-32C 算法:node-fast-crc32c

node-fast-crc32c 为 Node.js 提供了 CRC-32C 算法的实现,它优先利用硬件加速 (通过 Anand Suresh 的 crc32c),并在硬件加速不可用时回退到软件实现。

性能优势

CRC-32C 比 CRC-32 更快,因为它可以利用完整的 CPU 操作数寄存器宽度 (64 位),而 CRC-32 仅使用 8 位。使用硬件加速时,CRC-32C 比软件实现的 CRC-32C 快 7 到 9 倍。

基准测试

测试的三种实现方式为:

  • sse4_crc32c: 使用硬件加速的 CRC-32C
  • js_crc32c: JavaScript 实现的 CRC-32C
  • js_crc32: JavaScript 实现的 CRC-32

测试结果显示,对于 1024 字节的输入,sse4_crc32c 的速度达到了 3,210,508 次操作/秒。

zip 文件大小:62.13KB