Matlab running slower on Linux than Windows 7

37 views (last 30 days)
I am having a problem running a piece of code with Matlab 2014a with a Ubuntu 16.04 installation. The computer running Ubuntu performs worse than my laptop running Windows 7, in that the same piece of code takes over twice as long to run on the computer with Ubuntu (~ 50 minutes for computer with Ubuntu, 23 minutes for laptop with Windows) for reasons that I don't understand. There are no differences in the code between comparisons.
The hardware for the computer with Ubuntu is an intel core i7-4770 cpu @ 3.4 GHz (8 cores) with 32 Gb of ram. The hardware for the laptop running Windows 7 is an intel core i5-3427U cpu @ 1.8 GHz (4 cores) with 4 Gb of ram.
The benchmark results for the laptop with Windows 7 is not great:
While the benchmark results for the computer with Ubuntu are much better:
I did try increasing the Java heap memory to see if this would speed things up on the ubuntu computer. I also tried increasing the process priority with the command "renice" but that didn't change anything. My complaint is that the computer running Ubuntu takes much longer to run the same code, but I don't have any errors or anything else to go off of besides comparing run times. I'm quite confused as to why I see worse performance with a more powerful machine, and I would appreciate any insight or help with the problem, thanks!
  5 Comments
Benjamin Kraus
Benjamin Kraus on 5 Mar 2018
What version of MATLAB are you running on both machines? There are been a lot of performance optimizations, so if Windows 7 is running the newer version of MATLAB, that could explain the difference.

Sign in to comment.

Accepted Answer

Philip Borghesani
Philip Borghesani on 5 Mar 2018
You appear to be running different versions of MATLAB on the two machines (the list of reference computers is different in you bench output). That could easily explain the difference, especially if the Windows machine is running R2015b or later because of better optimizations.
  2 Comments
Walter Roberson
Walter Roberson on 6 Mar 2018
Generally speaking, vectorized test and application of operation along a mask is typically faster than looping with conditional.
However this is not always the case: processing the memory needed to vectorize tests can end up costing more than you save.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!