This repository has JMH benchmarks for different object pool implementations.
Following are the object pools used in this project.
- Commons Pool Generic Object Pool
- Commons Pool Soft Reference Object Pool
- Commons Pool Stack Object Pool
- Commons Pool 2 Generic Object Pool
- Commons Pool 2 Soft Reference Object Pool
- Fast Object Pool
- Furious Object Pool
- Stormpot Blaze Pool
- Stormpot Queue Pool
- Vibur Object Pool
Build the benchmarks using Apache Maven
mvn clean package
Run the benchmarks using the benchmark.sh
script. I recommend following command.
time ./benchmark.sh 2>&1 | tee benchmark.log
This script will run the benchmarks for different number of threads and different number of object pool sizes.
All parameters are defined using variables in the script. You can change the parameters by editing the script.
The results of the all benchmarks will be saved in results
directory.
The results from all benchmarks can be visualized using the create-charts.py
Python script.
The script is tested only with Python 3.6. Please make sure to install seaborn module, which will also install other dependencies
python3.6 -m pip install seaborn
The script must be run inside the results
directory.
cd results
../create-charts.py
Copyright 2016 M. Isuru Tharanga Chrishantha Perera
Licensed under the Apache License, Version 2.0