Instrument the code at development build for istanbul (#347)
[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
6ed0e2d4 7The internal folder contains poolifier internal benchmarks.
be0676b3
APA
8The versus-external-pools folder contains benchmarks versus other Node.js pools.
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)
79e7d368 22- [worker-threads-pool](https://github.com/watson/worker-threads-pool)
be0676b3 23
be0676b3
APA
24Those are our results:
25
74750c7f 26- CPU Intensive task with 100k operations submitted to each pool [BENCH-100000.md](./versus-external-pools/BENCH-100000.md).
8d3782fa 27 This benchmark ran on a MacBook Pro 2015, 2,2 GHz Intel Core i7 quad-core, 16 GB 1600 MHz DDR3.
0c757ef3 28
29> :warning: **We would need funds to run our benchmarks more often and on Cloud VMs, please consider to sponsor this project**
be0676b3
APA
30
31## How to run benchmarks
32
33### Internal
34
35To run the internal benchmark you just need to navigate to the root of poolifier project and run `npm run benchmark`
36
37## Versus other pools
38
39To run the benchmark versus other pools you will need to:
40
41- [Install hyperfine](https://github.com/sharkdp/hyperfine#installation)
42- Run the `./bench.sh` into the `versus-external-pools` folder
9f7e7a99 43
44> :warning: **Please be sure to use a quite PC when you run the benchmarks**