build: switch to pnpm
[poolifier.git] / benchmarks / README.md
CommitLineData
be0676b3
APA
1# Poolifier Benchmarks
2
3Welcome to poolifier benchmarks and thanks to look into this project.
4
5## Folder Structure
6
f7a81082
JB
7The [internal](./internal) folder contains poolifier internal benchmarks.
8The [versus-external-pools](./versus-external-pools) folder contains benchmarks versus other Node.js pools.
be0676b3
APA
9
10## Poolifier vs other pools benchmark
11
6ed0e2d4 12To compare poolifier pools performance vs other pools performance we chose to use [hyperfine](https://github.com/sharkdp/hyperfine).
13We chose to use this tool because it allows to run isolated Node.js processes so that each pool does not impact each other.
0c757ef3 14External pools with which we compared the poolifier results:
15
16- [piscina](https://github.com/piscinajs/piscina)
17- [SUCHMOKUO/node-worker-threads-pool](https://github.com/SUCHMOKUO/node-worker-threads-pool)
75876e4c 18- [threads.js](https://github.com/andywer/threads.js/)
7f685093
JB
19- [workerpool](https://github.com/josdejong/workerpool)
20- [threadwork](https://github.com/kevlened/threadwork)
21- [microjob](https://github.com/wilk/microjob)
be0676b3 22
be0676b3
APA
23Those are our results:
24
bd0e5c4d 25- CPU Intensive task with 100k operations submitted to each pool [BENCH-100000.md](./versus-external-pools/BENCH-100000.md).
0c757ef3 26
27> :warning: **We would need funds to run our benchmarks more often and on Cloud VMs, please consider to sponsor this project**
be0676b3
APA
28
29## How to run benchmarks
30
31### Internal
32
186b35b6 33To run the internal benchmarks, you just need to navigate to the root of poolifier project and run `pnpm run benchmark`
be0676b3
APA
34
35## Versus other pools
36
1fe22d16 37Read [README.md](./versus-external-pools/README.md)