🚀 Big News:Socket Has Acquired Secure Annex.Learn More →
Socket
Book a DemoSign in
Socket

@node-rs/crc32

Package Overview
Dependencies
Maintainers
2
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@node-rs/crc32

SIMD crc32

latest
Source
npmnpm
Version
1.10.6
Version published
Maintainers
2
Created
Source

@node-rs/crc32

Fastest crc32 implement in Node.js

The 4 tested implementations are:

  • @node-rs/crc32 Hardware accelerated CRC-32C from crc32fast
  • sse4_crc32c Hardware accelerated CRC-32C from sse4_crc32
  • js_crc32c Javascript implemented CRC-32C
  • js_crc32 Javascript implemented CRC-32 from buffer-crc32

Performance

@node-rs/crc32 for inputs 1024B x 5,108,123 ops/sec ±1.86% (89 runs sampled)
@node-rs/crc32 for inputs 16931844B, avg 2066B x 271 ops/sec ±1.15% (85 runs sampled)
sse4_crc32c_hw for inputs 1024B x 3,543,443 ops/sec ±1.39% (93 runs sampled)
sse4_crc32c_hw for inputs 16931844B, avg 2066B x 209 ops/sec ±0.78% (76 runs sampled)
sse4_crc32c_sw for inputs 1024B x 1,460,284 ops/sec ±2.35% (90 runs sampled)
sse4_crc32c_sw for inputs 16931844B, avg 2066B x 93.50 ops/sec ±2.43% (69 runs sampled)
js_crc32c for inputs 1024B x 464,681 ops/sec ±0.46% (91 runs sampled)
js_crc32c for inputs 16931844B, avg 2066B x 28.25 ops/sec ±1.64% (51 runs sampled)
js_crc32 for inputs 1024B x 442,272 ops/sec ±2.66% (93 runs sampled)
js_crc32 for inputs 16931844B, avg 2066B x 22.12 ops/sec ±5.20% (40 runs sampled)
+---------------------+-------------------+----------------------+
|                     │ 1024B             │ 16931844B, avg 2066B |
+---------------------+-------------------+----------------------+
| @node-rs/crc32      │ 5,108,123 ops/sec │ 271 ops/sec          |
+---------------------+-------------------+----------------------+
| sse4_crc32c_hw      │ 3,543,443 ops/sec │ 209 ops/sec          |
+---------------------+-------------------+----------------------+
| sse4_crc32c_sw      │ 1,460,284 ops/sec │ 93.50 ops/sec        |
+---------------------+-------------------+----------------------+
| js_crc32c           │ 464,681 ops/sec   │ 28.25 ops/sec        |
+---------------------+-------------------+----------------------+
| js_crc32            │ 442,272 ops/sec   │ 22.12 ops/sec        |
+---------------------+-------------------+----------------------+

API

The type of input initial crc and output crc number is u32

export function crc32(input: Buffer, crc?: number): number
export function crc32c(input: Buffer, crc?: number): number

Usage

const { crc32 } = require('@node-rs/crc32')
const { readFileSync } = require('fs')

const content = readFileSync('./avatar.png')

crc32(content)

Keywords

SIMD

FAQs

Package last updated on 05 Dec 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts