To work with this project, you need the following tools installed:
-
Java 24 - The project uses Java 24 features (configured in pom.xml)
- Download from OpenJDK or use a distribution like Amazon Corretto or Adoptium Temurin
- Verify installation:
java --version
-
Task - Task runner used for build automation and benchmark execution
- Install from taskfile.dev
- On Linux/macOS:
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d - On Windows:
winget install Task.Task - Verify installation:
task --version
- Maven - Not required as the project includes Maven Wrapper (
./mvnw) - async-profiler - Automatically downloaded by the Task when running
task profile-benchmarks
- Clone the repository
- Run
task buildto build the project - Run
task run-benchmarksto execute benchmarks - LINUX ONLY: configure your system with
sysctl kernel.perf_event_paranoid=1andsysctl kernel.kptr_restrict=0 - Run
task profile-benchmarksto run with profiling (includes flamegraph generation)