Running 32-bit applications faster or slower on a 64-bit OS?

I mainly worked on 32-bit embedded systems, where, as a rule, it is faster to use native 32-bit types (int, float) than 16-bit equivalents. The slowdown came from processors that expanded any number of 16 bits to 32 bits before performing operations on it.

Now I switched to a PC and 64-bit OS. My question is: do 32-bit types cause any slowdown on 64-bit machines?

For example, if I create MyApp.exe as a 32-bit application, will it work slower on a 64-bit OS or faster?

I understand that there are many factors that affect application performance, and I deliberately exclude these factors from the question (I / O speed, faster memory, etc.).

+14
source share
1 answer

Sometimes 32-bit applications run faster, sometimes they run slower. There are many competing factors that influence productivity. Usually the difference in any direction is not very large.

I don’t see how you can legitimately exclude any factor for performance reasons, because performance always happens in the real world, where all factors are in the game. Speed ​​is not theoretical and cannot be considered in isolation.

Here is an article in which the author did some benchmarking:

http://www.osnews.com/story/5768

He found that 32-bit binaries were faster in his tests. It was at SPARC in early 2004.

Here's a 2010 Intel article on migrating to 64-bit applications:

http://software.intel.com/en-us/articles/moving-from-32-bit-applications-to-64-bit-applications-en/

, 64- , . 64- , , , ( ).

+9

All Articles