Moreover you can execute your tasks using an API designed to improve the **developer experience**.
Please consult our guidelines to <a href="#choose-your-pool">choose your pool</a>
-- Performance :racehorse: [benchmarks](./benchmarks/README.MD)
+- Performance :racehorse: [benchmarks](./benchmarks/README.md)
- Security :bank: :cop: [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=pioardi_poolifier&metric=security_rating)](https://sonarcloud.io/dashboard?id=pioardi_poolifier) [![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=pioardi_poolifier&metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=pioardi_poolifier)
- Easy to use :couple:
- Easy switch from a pool to another, easy to tune :heavy_check_mark:
Performance is one of the main target of these worker pool implementations, we want to have a strong focus on this.
We already have a bench folder where you can find some comparisons.
-**Thread pools** ( FixedThreadPool and DynamicThreadPool ) are suggested to run CPU intensive tasks, you can still run I/O intensive tasks into thread pools, but performance enhancement is expected to be minimal.
+**Thread pools** ( FixedThreadPool and DynamicThreadPool ) are suggested to run CPU intensive tasks, you can still run I/O intensive tasks into thread pools, but performance enhancement is expected to be minimal.
Thread pools are built on top of Node.js [worker-threads](https://nodejs.org/api/worker_threads.html#worker_threads_worker_threads) module.
**Cluster pools** (FixedClusterPool and DynamicClusterPool) are suggested to run I/O intensive tasks, again you can still run CPU intensive tasks into cluster pools, but performance enhancement is expected to be minimal.