Comparison of an old intel pentium (Laptop in 1.7GHz and winXP_32) and a new i7 950 in 3.07 GHz (desctop Win Vista_64) : In most matlab applications and in matlab benchmarks, the new CPU ourperforms the old one (as it should be the case: faster 4-5 times). In one code however with nested for loops, the old one is faster by 50%. Anyone with a clue why this happens? Could it be logical?
Note: The code includes interations of the form:
f(i,j)=...simple algebra of i and j without complex functions
Matlab version 7.6. The same results (old cpu faster by 50%) no matter how many cores are enabled (multithreading using the matlab preferences) in the new CPU (either 1 or 4 or 8).
Note 2: The question focuses mainly on how different CPUs realise the codes and not how a for-loop code could be optimised.