finds.dev← search

// the find

audreyt/node-webworker-threads

★ 2,279 · C++ · NOASSERTION · updated Sep 2021

Lightweight Web Worker API implementation with native threads

node-webworker-threads brings true OS-level threading to Node.js via a native C++ addon, exposing a Web Worker-compatible API so you can offload CPU-bound work without forking a process. It predates Node.js worker_threads (added in v10) and was the go-to solution for this problem around 2013–2018. Today it's a historical artifact.

The Web Worker API conformance means code written for browsers transfers directly. The thread pool API is genuinely ergonomic — createPool(n).all.eval() is a clean way to fan out work. The rationale section in the README is one of the clearer explanations of why CPU-bound tasks break Node's event loop, making this useful as a teaching reference even if you never ship it.

Abandoned since 2021 and effectively obsolete since Node 12 — the built-in worker_threads module covers the same ground with no native addon required, better SharedArrayBuffer support, and active maintenance. Being a native addon (C++, node-gyp) means it breaks on every non-trivial Node version bump and fails silently on platforms without a working build toolchain. Cannot require() native modules in worker threads — the README itself tells you to use a different package if you need that. The 'WIP' section that's been there for years and unimplemented dispatchEvent/removeEventListener suggest the API was never finished.

View on GitHub → Homepage ↗

// 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 →