Merge branch 'feature/task-functions' of github.com:poolifier/poolifier into feature...
[poolifier.git] / benchmarks / README.md
index 451ec772f8b012a5e12ea3395ac61eac6facc653..f0788a4fc970aefcb85378a7350ddc6c2dcdd940 100644 (file)
@@ -4,36 +4,44 @@ Welcome to poolifier benchmarks and thanks to look into this project.
 
 ## 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.
+The [internal](./internal) folder contains poolifier internal benchmark.  
+The [versus-external-pools](./versus-external-pools) folder contains benchmark 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.  
-External pools with which we compared the poolifier results:
+We chose to use this tool because it allows to run isolated Node.js processes so each pool does not impact each other.
 
-- [piscina](https://github.com/piscinajs/piscina)
-- [tinypool](https://github.com/tinylibs/tinypool)
-- [node-worker-threads-pool](https://github.com/SUCHMOKUO/node-worker-threads-pool): removed from the benchmark because does not support dynamic ESM modules import
-- [workerpool](https://github.com/josdejong/workerpool)
-- [worker-nodes](https://github.com/allegro/node-worker-nodes)
-- [threads.js](https://github.com/andywer/threads.js/)
-- [threadwork](https://github.com/kevlened/threadwork)
-- [microjob](https://github.com/wilk/microjob)
+- External pools with which we compare the poolifier results:
 
-Those are our 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)
+  - [nanothreads](https://github.com/snuffyDev/nanothreads)
 
-- CPU Intensive task with 100k operations submitted to each pool [BENCH-100000.md](./versus-external-pools/BENCH-100000.md).
+  Those are our results:
 
-> :warning: **We would need funds to run our benchmarks more often and on Cloud VMs, please consider to sponsor this project**
+  - CPU Intensive task with 100k operations submitted to each pool: [BENCH-100000.md](./versus-external-pools/BENCH-100000.md).
 
-## How to run benchmarks
+- External pools with which we used to compare the poolifier results:
 
-### Internal
+  <!-- - [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 task function. The task function is expected to be self-contained, which makes it difficult to use in real world application without ugly hacks. -->
 
-To run the internal benchmarks, you just need to navigate to the root of poolifier project and run `pnpm benchmark`
+  - [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.
 
-## Versus other pools
+> :warning: **We would need funds to run our benchmark more often and on Cloud VMs, please consider to sponsor this project**
 
-Read [README.md](./versus-external-pools/README.md)
+Read the [README.md](./versus-external-pools/README.md) to know how to run the benchmark.
+
+## Poolifier internal benchmark
+
+### Usage
+
+To run the internal benchmark, you just need to navigate to the root of poolifier project and run `pnpm benchmark`.
+
+### [Results](https://poolifier.github.io/benchmark-results/dev/bench)