Apply dependencies update (#439)
[poolifier.git] / benchmarks / README.md
... / ...
CommitLineData
1# Poolifier Benchmarks
2
3Welcome to poolifier benchmarks and thanks to look into this project.
4
5## Folder Structure
6
7The internal folder contains poolifier internal benchmarks.
8The versus-external-pools folder contains benchmarks versus other Node.js pools.
9
10## Poolifier vs other pools benchmark
11
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.
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)
18- [threads.js](https://github.com/andywer/threads.js/)
19- [workerpool](https://github.com/josdejong/workerpool)
20- [threadwork](https://github.com/kevlened/threadwork)
21- [microjob](https://github.com/wilk/microjob)
22<!-- - [worker-threads-pool](https://github.com/watson/worker-threads-pool) -->
23
24Those are our results:
25
26- CPU Intensive task with 100k operations submitted to each pool [BENCH-100000.md](./versus-external-pools/BENCH-100000.md).
27
28> :warning: **We would need funds to run our benchmarks more often and on Cloud VMs, please consider to sponsor this project**
29
30## How to run benchmarks
31
32### Internal
33
34To run the internal benchmark you just need to navigate to the root of poolifier project and run `npm run benchmark`
35
36## Versus other pools
37
38Read [README.md](./versus-external-pools/README.md)