Package Exports
- @napi-rs/snappy
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@napi-rs/snappy) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@napi-rs/snappy
🚀 Help me to become a full-time open-source developer by sponsoring me on Github
Fastest Snappy compression library in Node.js, powered by napi-rs and rust-snappy.
For small size data, snappyjs is faster, and it support browser. But it doesn't have async API, which is important for Node.js program.
Install this package
yarn add @napi-rs/snappy
Support matrix
node12 | node14 | node16 | |
---|---|---|---|
Windows x64 | ✓ | ✓ | ✓ |
Windows x32 | ✓ | ✓ | ✓ |
Windows arm64 | ✓ | ✓ | ✓ |
macOS x64 | ✓ | ✓ | ✓ |
macOS arm64 | ✓ | ✓ | ✓ |
Linux x64 gnu | ✓ | ✓ | ✓ |
Linux x64 musl | ✓ | ✓ | ✓ |
Linux arm gnu | ✓ | ✓ | ✓ |
Linux arm64 gnu | ✓ | ✓ | ✓ |
Linux arm64 musl | ✓ | ✓ | ✓ |
Android arm64 | ✓ | ✓ | ✓ |
FreeBSD x64 | ✓ | ✓ | ✓ |
API
export function compressSync(input: Buffer | string | ArrayBuffer | Uint8Array): Buffer
export function compress(input: Buffer | string | ArrayBuffer | Uint8Array): Promise<Buffer>
export function uncompressSync(compressed: Buffer): Buffer
export function uncompress(compressed: Buffer): Promise<Buffer>
Performance
Hardware
OS: Windows 10 x86_64
Host: Micro-Star International Co., Ltd. MS-7C35
Kernel: 10.0.19043
Terminal: Windows Terminal
CPU: AMD Ryzen 9 5950X (32) @ 3.400GHz
Memory: 15959MiB / 32688MiB
Result
Running "Compress data" suite...
Progress: 100%
@napi-rs/snappy:
333 ops/s, ±2.10% | fastest
snappy node:
163 ops/s, ±1.44% | slowest, 51.05% slower
Finished 2 cases!
Fastest: @napi-rs/snappy
Slowest: snappy node
Running "Uncompress data" suite...
Progress: 100%
@napi-rs/snappy:
980 ops/s, ±1.85% | fastest
snappy node:
256 ops/s, ±0.61% | slowest, 73.88% slower
Finished 2 cases!
Fastest: @napi-rs/snappy
Slowest: snappy node
Running "Small size sync compress" suite...
Progress: 100%
@napi-rs/snappy:
505 211 ops/s, ±7.97% | slowest, 47% slower
snappy js:
953 272 ops/s, ±0.37% | fastest
Finished 2 cases!
Fastest: snappy js
Slowest: @napi-rs/snappy