# piscinajs/piscina

A fast, efficient Node.js Worker Thread Pool implementation

Repository: https://github.com/piscinajs/piscina
Canonical: https://ross.abutalabs.com/products/piscina
Homepage: https://piscinajs.dev
Language: TypeScript
License: NOASSERTION
License Family: other
Topics: nodejs, worker-threads, pooling, performance, nearform-research, multithreading, worker-pool, thread-pool, piscinajs
Last push: 2026-08-21T08:41:23+00:00

## Health v2 (maintenance only)
Score: 94/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 98, release rhythm 86, longevity 100
- inputs: {"age_days": 2338, "days_push": 12, "days_rel": 12, "gap_med": 44, "n_releases_24m": 14}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 5194, forks 174 (observed 2026-08-28T04:09:12.009494+00:00)

## What it is
Piscina is a fast, efficient worker thread pool library for Node.js, written in TypeScript. It lets developers offload CPU-intensive tasks to a managed pool of worker threads with features like cancellation, backpressure, statistics, and custom task queues.

## Use cases
- run cpu-intensive tasks in parallel in nodejs
- offload heavy computation to worker threads
- manage a pool of worker threads in node
- avoid blocking the event loop with expensive work
- parallelize image or data processing in nodejs
- track run and wait times of background tasks

## When to choose
- your Node.js app performs CPU-bound work that blocks the event loop
- you need a managed, configurable worker pool with cancellation and statistics
- you want ESM, CommonJS, and TypeScript support out of the box

## When to avoid
- your workload is I/O-bound rather than CPU-bound
- you are running on Bun or non-Node.js runtimes where behavior is not assured
- you need multi-process (not multi-thread) parallelism

## Facets
- artifact type: library
- maturity: active
- function: concurrency, developer-tools
- domain: developer-tools, backend, performance
- platform: cross-platform
- tags: worker-threads, thread-pool, cpu-intensive-tasks, typescript, multithreading, performance, nodejs

## Member repositories
- piscinajs/piscina (main) score 94

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:12.009494+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:01:44.435861+00:00, confidence not recorded.
  - readme: https://github.com/piscinajs/piscina (fetched 2026-08-28T04:09:12.009494+00:00, sha 68dcf0163619)
  - homepage: https://piscinajs.dev (fetched 2026-08-29T08:55:44.402881+00:00, sha 4d0842ebdcbf)
  - site_page: https://piscinajs.dev/category/getting-started (fetched 2026-08-29T08:55:44.412039+00:00, sha 3ef053a9f137)
  - site_page: https://piscinajs.dev/getting-started/Installation (fetched 2026-08-29T08:55:44.413909+00:00, sha 85c8479c966b)
  - registry_npm: https://registry.npmjs.org/piscina (fetched 2026-08-29T08:55:44.415584+00:00, sha d9c5d7645059)
- Data as of 2026-08-30T08:39:29.467469+00:00.
