awesome-repositories.com
Blog
MCP
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
piscinajs avatar

piscinajs/piscina

0
View on GitHub↗
5,053 Stars·156 Forks·TypeScript·other·6 Aufrufepiscinajs.dev↗

Piscina

Piscina is a Node.js worker thread pool that runs CPU-intensive JavaScript functions across multiple threads for parallel execution. It manages a dynamic pool of worker threads with configurable size, handling task submission, cancellation, and lifecycle management through a promise-based interface.

The pool supports AbortController-based task cancellation, enabling clean termination of submitted or running tasks without disrupting other work. It enforces per-worker memory limits through V8 resource caps and applies backpressure with a configurable maximum queue size that emits a drain event when capacity becomes available. Piscina allows pluggable queue ordering to replace the default FIFO behavior with custom priority or deadline logic, and supports pluggable load balancing algorithms for assigning tasks to workers. Transferable objects like binary buffers can be passed between threads with zero-copy messaging, reducing memory overhead during data transfer.

Additional capabilities include deferred worker readiness through an asynchronous initialization protocol, performance monitoring with run-time and wait-time histograms, thread priority control on Linux, and the ability to customize worker environment setup with native addon loading. Piscina exposes a straightforward API for submitting functions to workers and retrieving results, with documentation and install instructions available through its npm package.

Features

  • Local Worker Pools - Provides a configurable thread pool for parallel execution of CPU-intensive JavaScript functions.
  • AbortController-Based Cancellations - Ships AbortController-based cancellation that cleanly terminates tasks without disrupting other workers.
  • Custom Parallel Task Execution - Runs CPU-intensive tasks concurrently across multiple threads to improve throughput.
  • Task Lifecycle Management - Manages the full lifecycle of tasks from submission through cancellation and completion in a worker pool.
  • Worker Pool Management - Manages a dynamic pool of worker threads with configurable size for balancing throughput and resource usage.
  • Inter-Thread Data Transfers - Supports zero-copy transfer of binary buffers and transferable objects between worker threads.
  • Node.js Worker Thread Pools - Provides a Node.js worker thread pool for parallel execution of CPU-intensive JavaScript functions.
  • Task Execution Engines - Runs user-defined functions on worker threads with configurable pool sizes and custom queues.
  • Parallel Task Executors - Executes user-defined functions on separate worker threads with promise-based results.
  • Inter-Thread Communication - Provides zero-copy transfer of binary buffers between worker threads and the main process.
  • Backpressure Controllers - Limits queued tasks with a configurable maximum size and emits a drain event when capacity becomes available.
  • Backpressure Queues - Implements configurable queue size limits with a drain event for backpressure control.
  • Pluggable Ordering - Supports pluggable queue ordering to replace default FIFO with custom priority or deadline logic.
  • Worker Initialization Scripts - Provides a deferred worker readiness protocol that runs initialization tasks before accepting new work.
  • Custom Load Balancers - Allows replacing the built-in load balancing algorithm with a custom strategy for assigning tasks to workers.
  • Resource Limit Enforcements - Enforces per-worker heap memory limits using V8 resource caps to prevent memory exhaustion.
  • V8 Resource Caps - Enforces per-worker memory limits through V8 resource caps to prevent memory exhaustion.
  • Remote Task Cancellation - Supports abort-signal-based cancellation of submitted or running tasks in the worker pool.

Star-Verlauf

Star-Verlauf für piscinajs/piscinaStar-Verlauf für piscinajs/piscina

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht piscinajs/piscina?

Piscina is a Node.js worker thread pool that runs CPU-intensive JavaScript functions across multiple threads for parallel execution. It manages a dynamic pool of worker threads with configurable size, handling task submission, cancellation, and lifecycle management through a promise-based interface.

Was sind die Hauptfunktionen von piscinajs/piscina?

Die Hauptfunktionen von piscinajs/piscina sind: Local Worker Pools, AbortController-Based Cancellations, Custom Parallel Task Execution, Task Lifecycle Management, Worker Pool Management, Inter-Thread Data Transfers, Node.js Worker Thread Pools, Task Execution Engines.

Welche Open-Source-Alternativen gibt es zu piscinajs/piscina?

Open-Source-Alternativen zu piscinajs/piscina sind unter anderem: dask/dask — Dask is a parallel computing framework and distributed task scheduler designed to scale Python data science workflows… hatchet-dev/hatchet — Hatchet is an open-source durable workflow engine and task orchestration platform. It provides a framework for… andywer/threads.js — threads.js is a JavaScript worker thread library and asynchronous task orchestrator designed to offload CPU-intensive… flyteorg/flyte — Flyte is a Kubernetes-based machine learning orchestrator and containerized pipeline manager designed for coordinating… prefecthq/prefect — Prefect is a workflow orchestration platform designed to define, schedule, and monitor complex data pipelines as… grpc/grpc — gRPC is a language-agnostic remote procedure call framework designed for high-performance communication between…

Open-Source-Alternativen zu Piscina

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Piscina.
  • dask/daskAvatar von dask

    dask/dask

    13,746Auf GitHub ansehen↗

    Dask is a parallel computing framework and distributed task scheduler designed to scale Python data science workflows from single machines to large clusters. It functions as a cluster resource manager that orchestrates computational logic by representing tasks and their dependencies as directed acyclic graphs. This architecture allows the system to automate the distribution of workloads across available hardware while managing complex execution requirements. The project distinguishes itself through a lazy evaluation engine that defers data operations until they are explicitly requested, enabl

    Pythondasknumpypandas
    Auf GitHub ansehen↗13,746
  • hatchet-dev/hatchetAvatar von hatchet-dev

    hatchet-dev/hatchet

    6,622Auf GitHub ansehen↗

    Hatchet is an open-source durable workflow engine and task orchestration platform. It provides a framework for building and executing fault-tolerant, multi-step pipelines as directed acyclic graphs (DAGs), with automatic retries, scheduling, and real-time observability. The system is built around durable task checkpointing, which persists execution state after each step so work can resume from the last checkpoint after a worker crash or restart, and it supports event-driven task resumption that pauses a task until a matching external event arrives. The platform distinguishes itself through it

    Goconcurrencydagdistributed
    Auf GitHub ansehen↗6,622
  • andywer/threads.jsAvatar von andywer

    andywer/threads.js

    3,526Auf GitHub ansehen↗

    threads.js is a JavaScript worker thread library and asynchronous task orchestrator designed to offload CPU-intensive tasks to background threads. It functions as a cross-platform worker pool and a TypeScript worker runner that automatically transpiles and executes TypeScript files within separate threads. The project distinguishes itself by providing a unified worker API that allows for cross-platform execution across different JavaScript environments. It includes a specialized worker data serialization tool to pass complex class instances and binary data between threads, and supports inlini

    TypeScriptisomorphic-javascriptjavascriptmultithreading
    Auf GitHub ansehen↗3,526
  • flyteorg/flyteAvatar von flyteorg

    flyteorg/flyte

    7,095Auf GitHub ansehen↗

    Flyte is a Kubernetes-based machine learning orchestrator and containerized pipeline manager designed for coordinating AI workflows and data pipelines. It functions as an engine for defining and executing resilient pipelines, utilizing a data lineage tracker to maintain immutable execution states and ensure reproducible outputs. The platform distinguishes itself by packaging individual tasks into separate containers to ensure dependency isolation and environment consistency. It provides specialized capabilities for machine learning, including the transformation of trained models into scalable

    Go
    Auf GitHub ansehen↗7,095
Alle 30 Alternativen zu Piscina anzeigen→