jblas-project / jblas

Linear Algebra for Java
http://jblas.org
BSD 3-Clause "New" or "Revised" License
590 stars 149 forks source link

Why jblas in different platform has huge different performance #113

Open pep-pig opened 5 years ago

pep-pig commented 5 years ago

recently i met a puzzle. when i solve a linearSystem use

Solve.solveSymetric()

I record the CPU information ,platform information and the time:

On Centos7 64bit Intel(R) Xeon(R) Gold 6149 CPU @ 3.10GHz
float double
35000ms 62000ms
On windows10 64bit Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz 3.19GHz
float double
14000ms 17500ms

1.It shown that there is not much difference between float and double on windows,but on linux float version runs at twice the speed of the double version. 2.the float version on windows runs at least twice the speed on linux.

I think there is not much different between the CPU on Linux and on Windows. I have no idea how does this happened? Do you have any idea?

mikiobraun commented 5 years ago

Hey vonlippmann,

the libraries used on windows and Linux are quite different... . I am surprised, too, the Windows ones should actually be slower, not faster! 🤔

pep-pig commented 5 years ago

Yesterday ,I made a new experience,I installed a virtual machine on windows ,and run the same program in virtual Linux and windows separately ,it appears the same situation .the time in virtual linux is the same with real linux in another computer I mentioned before And is much more slower than windows .

pep-pig commented 5 years ago

There must be something wrong , believe it or not

mikiobraun commented 4 years ago

I plan to move everything to openblas which should also vastly improve the performance on Windows... .

But let me check what happens if I use it on a VM on Windows, too.