Comments:

  • Desktop using a Xeon processor
  • ND4J has not been added due to missing features and documentation issues. TICKET
  • MTJ-Native was removed since it has not been maintained for years and no longer works.

Links to the results:

Test Environment

Date 2021-Dec
OS Ubuntu 20.04.3 LTS
CPU Intel Xeon W-1250 CPU @ 3.30GHz
Cache 12 MB
RAM 32 GB DD4
JVM 15.0.2
Benchmark 0.12
Libraries Version
Colt 1.2
Commons Math 3.6.1
EJML 0.41
Jama 1.0.3
JBlas 1.2.5
la4j 0.6.0
MTJ 1.0.8
OjAlgo 49.0.1
UJMP 0.3.0

Summary Results

The following results are a weighted sum across all operations within each matrix size. Operations which take longer will have more weight. If a library could not finish an operation then its score is set to zero.

NOT The weight is computed from the amount of time the fastest library takes to complete. Which is why the results change a bit from Java to Java + Native.

Pure Java Summary Results

Mixed Java and Native Summary Results

Pure Java Libraries

These results show the performance of libraries that have code written entirely in Java.

Java: Basic Operation Results

Java: Solving Linear Systems

Java: Matrix Decompositions


Mixed Java and Native Libraries

These results show the performance of libraries that either use pure Java or calls to native libraries.

Mixed: Basic Operation Results

Mixed: Solving Linear Systems

Mixed: Matrix Decompositions