Performance comparison of a multitude of thread/fiber implementations for JVM.
Java Shell
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 31 commits ahead, 12 commits behind vy:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
gradle
src
.gitignore
README.md
benchmark-linux-analysis.sh
benchmark-linux.sh
benchmark.sh
build.gradle
gradlew
gradlew.bat
logback-test.xml
logback.xml
pom.xml
script.btm

README.md

This project bundles a set of benchmarks that aims to measure the performance of a multitude of threading implementations in the Java Virtual Machine.

Benchmarks

As of now, there is just a single benchmark (ring) adopted from the Performance Measurements of Threads in Java and Processes in Erlang article. I plan to introduce new benchmarks as time allows. That being said, contributions are welcome.

Implementations

Project employs 3 threading libraries to implement fibers in the benchmarks.

  1. Standard Java Threads
  2. Akka Actors
  3. Quasar Fibers and Actors

Usage

You first need to build the JMH Uber JAR using Maven.

$ mvn clean install

Next, you can either use the provided benchmark.sh script

$ ./benchmark.sh --help

# You can run with default parameters.
$ ./benchmark.sh

# Alternatively, you can configure parameters through environment variables.
$ ringSize=500 workerCount=30 ./benchmark.sh

License

The fiber-test by Volkan Yazıcı is licensed under the Creative Commons Attribution 4.0 International License.

Creative Commons Attribution 4.0 International License