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

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectServer MCPDespreCum realizăm clasamentulPresă
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
piscinajs avatar

piscinajs/piscina

0
View on GitHub↗
5,053 stele·156 fork-uri·TypeScript·other·10 vizualizăripiscinajs.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.

Istoric stele

Graficul istoricului de stele pentru piscinajs/piscinaGraficul istoricului de stele pentru piscinajs/piscina

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Piscina

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Piscina.
  • dask/daskAvatar dask

    dask/dask

    13,746Vezi pe GitHub↗

    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
    Vezi pe GitHub↗13,746
  • hatchet-dev/hatchetAvatar hatchet-dev

    hatchet-dev/hatchet

    6,622Vezi pe GitHub↗

    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
    Vezi pe GitHub↗6,622
  • andywer/threads.jsAvatar andywer

    andywer/threads.js

    3,526Vezi pe GitHub↗

    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
    Vezi pe GitHub↗3,526
  • flyteorg/flyteAvatar flyteorg

    flyteorg/flyte

    7,095Vezi pe GitHub↗

    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
    Vezi pe GitHub↗7,095
Vezi toate cele 30 alternative pentru Piscina→

Întrebări frecvente

Ce face 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.

Care sunt principalele funcționalități ale piscinajs/piscina?

Principalele funcționalități ale piscinajs/piscina sunt: 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.

Care sunt câteva alternative open-source pentru piscinajs/piscina?

Alternativele open-source pentru piscinajs/piscina includ: 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…