@State(Scope.Thread)
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.MILLISECONDS)
public class MatrixMultiplicationBenchmark {
private Matrix jblasMatrix;
private RealMatrix apacheMatrix;
@Setup
public void setup() {
int size = 1000;
double[][] data = new double[size][size];
jblasMatrix = new Matrix(data);
apacheMatrix = MatrixUtils.createRealMatrix(data);
}
@Benchmark
public void jblasMultiplication() {
Matrix result = jblasMatrix.mmul(jblasMatrix);
}
@Benchmark
public void apacheMultiplication() {
RealMatrix result = apacheMatrix.multiply(apacheMatrix);
}
}