test: cleanup helpers
[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).
dc32abbb 13We chose to use this tool because it allows to run isolated Node.js processes so 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)
0cc7f82f 17- [tinypool](https://github.com/tinylibs/tinypool)
0c757ef3 18- [SUCHMOKUO/node-worker-threads-pool](https://github.com/SUCHMOKUO/node-worker-threads-pool)
75876e4c 19- [threads.js](https://github.com/andywer/threads.js/)
7f685093
JB
20- [workerpool](https://github.com/josdejong/workerpool)
21- [threadwork](https://github.com/kevlened/threadwork)
22- [microjob](https://github.com/wilk/microjob)
be0676b3 23
be0676b3
APA
24Those are our results:
25
bd0e5c4d 26- CPU Intensive task with 100k operations submitted to each pool [BENCH-100000.md](./versus-external-pools/BENCH-100000.md).
0c757ef3 27
28> :warning: **We would need funds to run our benchmarks more often and on Cloud VMs, please consider to sponsor this project**
be0676b3
APA
29
30## How to run benchmarks
31
32### Internal
33
e69ff124 34To run the internal benchmarks, you just need to navigate to the root of poolifier project and run `pnpm benchmark`
be0676b3
APA
35
36## Versus other pools
37
1fe22d16 38Read [README.md](./versus-external-pools/README.md)