Peter has posted 9 posts at DZone. View Full User Profile

Java Matrix Benchmark 2013 Update

11.05.2013
| 732 views |
  • submit to reddit

Java Matrix Benchmark (JMatBench) is a tool for evaluating Java linear algebra libraries for speed, stability, and memory usage.  This tool can be used by users to select the best library for their application and by developers for identifying bugs and weaknesses.  Its goal is to help improve the state of high performance computing on the Java platform.

http://code.google.com/p/java-matrix-benchmark/

It has been recently updated using the latest versions of 10 libraries (see below) and a new way to visualize summary runtime performance.

For pure Java libraries, much remains the same since the last update.  La4j has many new features, but still seems to trade elegance for raw performance.  CommonsMath appears to be more memory efficient in a couple of operations.

The biggest change since the last update is the inclusion of the native version of MTJ.  MTJ has recently undergone significant improvements and is much easier to use with native libraries.  In the native benchmark it now dominates by a large margin.

Library
Version
Colt
1.2
Commons Math
3.2
EJML
0.23
Jama
1.0.3
JBlas
1.2.3
la4j
0.4.5
MTJ
0.9.13
OjAlgo
34.8
Parallel Colt
0.9.4
UJMP
0.2.5

0
Published at DZone with permission of its author, Peter Abeles.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)