Java Matrix Benchmark is a tool for evaluating Java linear algebra libraries for speed, stability, and memory usage.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.idea - added commented out ojalgo back in Aug 9, 2015
external priting info about MTJ's blas Apr 4, 2018
gradle/wrapper updated gradle Feb 19, 2018
main updated instructions Jun 1, 2018
README.MD e-mail when done added Jun 1, 2018
build.gradle updated gradle Feb 19, 2018
change.txt e-mail when done added Jun 1, 2018
gradlew updated gradle Feb 19, 2018
gradlew.bat updated gradle Feb 19, 2018
settings.gradle - Jeigen doesn't crash hard any more Jan 24, 2017
todo.txt - attempting to fix how long each JVM launch is allowed to run before… Jan 23, 2017


Java Matrix Benchmark

Java Matrix Benchmark (JMatBench) is a tool used to evaluate the runtime performance, stability, and memory efficiency of linear algebra libraries at performing dense real operations.

WARNING The latest version is a major modification from the past and isn't fully functional yet


JMatBench is designed to be run as a command line application. As much of the process has been automated as possible, however a few libraries aren't on Maven central so you need to download their jars manually and place them in the libraries "libs/" directory. Instructions for where to download the latest jar is typically provided in the "libs/source.txt". After those jars have been downloaded gradle will be able to compile the project.

  1. Install Gradle on to your system
  2. Manual download jars for libraries which haven't been posted on Maven central. (Just Jeigen)
  3. ./gradlew createRuntimeJars
  4. ./gradlew benchmarkJar
  5. java -jar benchmark.jar
  6. Follow printed instructions for the benchmark you wish to run

Settings Up Results E-Mailing

Create a file called "email_login.txt". DO NOT ADD TO GIT.

  • First line is your login.
  • Second line is your password.
  • Third line is the destination e-mail.

This is configured for gmail only right now. You need to turn on "Allow less secure apps" by going to

Adding Your Own Library

  1. Create new directory in external
  2. Copy "src" and "build.gradle" from another project in external into your directory
  3. Modify the source code, build.gradle, and rename classes
  4. Create your own "TestSetInfo.txt" file using CreateTestSetInfo.
  5. Add the library to "external/DefaultTestSet.txt" if you wish it to be included by default
  6. Add your library to settings.gradle so that Gradle will compile it