-# Poolifier Benchmarks
+# Poolifier benchmarks
-Welcome to poolifier benchmarks and thanks to look into this project.
+Welcome to poolifier benchmarks.
-## Folder Structure
-
-The [internal](./internal) folder contains poolifier internal benchmarks.
-The [versus-external-pools](./versus-external-pools) folder contains benchmarks versus other Node.js pools.
-
-## Poolifier vs other pools benchmark
-
-To compare poolifier pools performance vs other pools performance we chose to use [hyperfine](https://github.com/sharkdp/hyperfine).
-We chose to use this tool because it allows to run isolated Node.js processes so each pool does not impact each other.
+## Table of contents
-- External pools with which we compared the poolifier results:
+- [Folder Structure](#folder-structure)
+- [Poolifier benchmark versus other worker pools](#poolifier-benchmark-versus-other-worker-pools)
+- [Poolifier internal benchmark](#poolifier-internal-benchmark)
+ - [Usage](#usage)
+ - [Results](#results)
- - [piscina](https://github.com/piscinajs/piscina)
- - [tinypool](https://github.com/tinylibs/tinypool)
- - [workerpool](https://github.com/josdejong/workerpool)
- - [worker-nodes](https://github.com/allegro/node-worker-nodes)
- - [node-worker-threads-pool](https://github.com/SUCHMOKUO/node-worker-threads-pool)
-
- Those are our results:
-
- - CPU Intensive task with 100k operations submitted to each pool [BENCH-100000.md](./versus-external-pools/BENCH-100000.md).
+## Folder Structure
-- External pools with which we used to compare the poolifier results:
+The [internal](./internal) folder contains poolifier internal benchmark code.
- <!-- - [node-worker-threads-pool](https://github.com/SUCHMOKUO/node-worker-threads-pool): removed because it does not support dynamic modules import or import outside the worker function. The worker function is expected to be self-contained, which makes it difficult to use in real world application without ugly hacks. -->
+## Poolifier benchmark versus other worker pools
- - [worker-threads-pool](https://github.com/watson/worker-threads-pool): removed because unmaintained since more than 4 years.
- - [threadwork](https://github.com/kevlened/threadwork): removed because unmaintained since more than 3 years.
- - [microjob](https://github.com/wilk/microjob): removed because unmaintained since more than 5 years.
- - [threads.js](https://github.com/andywer/threads.js/): removed because not a threads pool.
+See the dedicated repository [README.md](https://github.com/poolifier/benchmark#readme).
-> :warning: **We would need funds to run our benchmarks more often and on Cloud VMs, please consider to sponsor this project**
+## Poolifier internal benchmark
-### Internal
+### Usage
-To run the internal benchmarks, you just need to navigate to the root of poolifier project and run `pnpm benchmark`
+To run the internal benchmark, you just need to navigate to the root of poolifier cloned repository and run:
-## Versus other pools
+- `pnpm benchmark:benchmark.js` or
+- `pnpm benchmark:mitata`
-Read [README.md](./versus-external-pools/README.md)
+### [Results](https://bencher.dev/perf/poolifier)