64 bit versus 32 bit and For loops

I'm finding that some of my code is having dramatic slowdowns when executed on my new 64 bit computer. The new computer is 64 bit with 2 Xeon E5-2690 @ 2.9 GHZ processors. My old computer is 32 bit with 2 Xeon E5520 @ 2.27 processors. I have Matlab 2011b installed on both.
When running the standard benchmark, the new computer dominates the older one on all tests. However, when running my own code (which is very For loop heavy), the older 32bit computer executes it in about 5 seconds. The newer 64 bit computer executes it in 11 seconds. This large change in performance seems odd.
Some more details: When running the profiler, the 64bit computer executes it in 36 seconds, computed to 32 bit in 70 seconds. This ordering seems more correct with the difference in hardware.
Final issue, I know that vectorization of this code is (at least on the 32 bit machine) is not as fast as the for loop setup.
I'm not looking for coding help, but some explanation help as to why there is such a discrepancy in performance and what the issue could be?

2 Comments

I wonder if this is related to the reports of the i5 and i7 running quite slowly for some tasks in 64 bit MATLAB ?
Try executing 32 bit MATLAB on your new computer and see what the results are.
Thanks for this!
I just did that, now my code on the new machine with 32 bit matlab comes in at about 3.1 seconds.
I guess there are some issues with 64 bit Matlab? It would be nice if this is corrected at some point.

Sign in to comment.

Answers (0)

Categories

Asked:

on 9 Jul 2012

Community Treasure Hunt

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

Start Hunting!