refactor: ensure functions to bench are called properly
[poolifier.git] / benchmarks / README.md
index f8d0bbddb3b660482c857b364eb99c45782797ad..84970a5a1cea93e5ce8923b983e0c2816060df69 100644 (file)
@@ -4,19 +4,21 @@ Welcome to poolifier benchmarks and thanks to look into this project.
 
 ## Folder Structure
 
-The internal folder contains poolifier internal benchmarks.  
-The versus-external-pools folder contains benchmarks versus other Node.js pools.
+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 that each pool does not impact each other.  
+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:
 
 - [piscina](https://github.com/piscinajs/piscina)
-- [SUCHMOKUO/node-worker-threads-pool](https://github.com/SUCHMOKUO/node-worker-threads-pool)
-- [threads.js](https://github.com/andywer/threads.js/)
+- [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 or import outside of the worker function, which makes it pretty hard to use without tricks to make the worker function self-contained
 - [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)
 
@@ -30,7 +32,7 @@ Those are our results:
 
 ### Internal
 
-To run the internal benchmark you just need to navigate to the root of poolifier project and run `npm run benchmark`
+To run the internal benchmarks, you just need to navigate to the root of poolifier project and run `pnpm benchmark`
 
 ## Versus other pools