finds.dev← search

// the find

Brooooooklyn/snappy

★ 208 · JavaScript · MIT · updated Jul 2026

Fastest Snappy compression library in Node.js

A Rust-backed Node.js binding for Google's Snappy compression algorithm, built with napi-rs. It's for server-side Node.js workloads where you need fast, non-blocking compress/decompress and don't care about browser support or compression ratio. Think Kafka message payloads, RPC frames, caching layers.

The async API is the real point — compressSync exists but compress() offloads to a Rust thread pool, keeping the event loop free under load. Platform coverage is unusually thorough: musl, ARM, RISC-V, s390x, Android, OpenHarmony, FreeBSD, and WASI all get prebuilt binaries, so no native compilation step on install. The benchmark is honest — it correctly compares against snappyjs for small data and notes where the pure-JS version wins. Memory leak detection is included as a standalone script, which is rare for a library this small.

208 stars for something that's been around this long suggests narrow adoption — Snappy itself is a niche choice outside Kafka/Hadoop ecosystems, and most Node.js projects just use zstd or lz4 now. The API is a four-function surface with no streaming support; if you're compressing data larger than fits comfortably in a Buffer, you're blocked. Benchmarks are run on the author's personal Windows machine with no methodology notes — no mention of warm-up rounds, payload size used, or Node.js version. The v6-to-v7 breaking change with a redirect to a different package (node-snappy) is confusing for anyone coming from npm search results.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →