Skip to content

poolifier/benchmark

Repository files navigation

Poolifier benchmark versus other worker pools

Table of contents

Description

To compare poolifier pools performance vs other pools performance we chose to use hyperfine.
We chose to use this tool because it allows to run isolated Node.js processes so each pool does not impact each other.

  • External pools with which we compare the poolifier results:

  • External pools with which we used to compare the poolifier results:

    • node-worker-threads-pool: removed because it does not support dynamic modules import or import outside the task function. The task function is expected to be self-contained, which makes it difficult to use in real world application without ugly hacks.
    • worker-threads-pool: removed because unmaintained since more than 4 years.
    • threadwork: removed because unmaintained since more than 3 years.
    • microjob: removed because unmaintained since more than 5 years.
    • threads.js: removed because not a threads pool.

⚠️ We would need funds to run our benchmark more often and on Cloud VMs, please consider to sponsor the poolifier project

Usage

To run the benchmark versus other worker pools you will need to:

⚠️ Please be sure to use a quiet PC when you run the benchmark

CPU Intensive task with 100k factorial(1000) operations submitted to each pool: https://bencher.dev/perf/poolifier-benchmark.