Hello everyone,
I tried posting this once, but it never appeared.
I am learning how to use breeze and have stumbled upon surprising results.
I am doing some simple matrix/vector addition and multiplication operations,
as well as calculating exp and vector sum. When I load netlib-java library
through maven, I get significantly worse performance than without it.
Also, when I use an array of vectors instead of a matrix I get better performance,
which is something that my matlab experience tells me should be the other way
around.
I am running all this on a MacBook pro with 2.3 GHz Intel Core i7 processor.
Here are the run results:
Without netlib:
Aug 20, 2015 2:58:04 PM com.github.fommil.netlib.BLAS <clinit>
WARNING: Failed to load implementation from: com.github.fommil.netlib.NativeSystemBLAS
Aug 20, 2015 2:58:04 PM com.github.fommil.netlib.BLAS <clinit>
WARNING: Failed to load implementation from: com.github.fommil.netlib.NativeRefBLAS
Vector version took 26.927885357 seconds
Matrix version took 87.750030486 seconds
With netlib:
Aug 20, 2015 3:02:04 PM com.github.fommil.jni.JniLoader liberalLoad
INFO: successfully loaded /var/folders/w6/gnnw541s7v548y5yqd9sqfvc0000gn/T/jniloader8864377321849022943netlib-native_system-osx-x86_64.jnilib
Vector version runs: 148.106227193 seconds
Matrix version runs: 240.031840978 seconds
For comparison, a mex function in Matlab that performs the same calculation:
Elapsed time is 15.725586 seconds.
Any help would be greatly appreciated. Attached is the scala object that I
use to measure performance.
I am going to have to do a lot of optimisation in breeze, if you have any tips for
useful resources, please tell.
Best regards,
Ivan