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 次操作/秒。
62.13KB
文件大小:
评论区