On 7/23/2013 11:37 AM, Carlos E. R. wrote:
With bigger registers you can move data twice as fast, because the load time for 32 bits is the same for 64 bits.
Huh, not quite.
If you have to add 2 and 3 it will take the same time on both archs. 64 bit is not faster, it is larger. Compare a road truck of 6 wheels to another of 12 wheels and double length.
Apples/Oranges.... Adding isn't just moving, and you are still taking about integer maths. Moving blocks of text or strings around is a far more common task for a computer than dealing with huge arrays. This email, that you are looking at this very instant is a perfect example. Moving the text body of the email from the the file to your screen was probably handed over to a string move operation. If the compiler writer did his work properly, the compiler will use 64bit registers to move that string, resulting in fewer actual load/store operations, and those operations (typically) operate in the same number of clocks. So fewer moves happening at the same speed = much shorter execution time. Like I mentioned, its taken years for the compiler writers to catch up, so results have changed over time. -- _____________________________________ ---This space for rent--- -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org