2012-09-01 24 views
13

He trabajado sobre todo en sistemas integrados de 32 bits donde generalmente era más rápido usar tipos nativos de 32 bits (int, float) que los equivalentes de 16 bits. La desaceleración provino de los procesadores que expandieron cualquier número de 16 bits a 32 bits antes de realizar operaciones en él.¿Las aplicaciones de 32 bits se ejecutan más rápido o más lento en un sistema operativo de 64 bits?

Ahora me he mudado a las PC y al sistema operativo de 64 bits. Mi pregunta es: ¿los tipos de 32 bits causan desaceleración en las máquinas de 64 bits?

Por ejemplo, si construyo MyApp.exe como una aplicación de 32 bits, ¿funcionará más despacio en un sistema operativo de 64 bits o más rápido?

Entiendo que hay muchos factores involucrados en el rendimiento de una aplicación y estoy excluyendo deliberadamente esos factores de la pregunta (velocidad de IO, memoria más rápida, etc.).

+1

¿Qué factores * * usted está incluyendo? –

+0

Estaba pensando en la ejecución de CPU de operaciones de 32 bits frente a operaciones de 64 bits. Pero Nate C-K hace una buena observación sobre el tiempo de acceso a la memoria RAM cuando tienes más código. –

Respuesta

8

A veces las aplicaciones de 32 bits se ejecutan más rápido, a veces se ejecutan más lento. Hay muchos factores que compiten que afectan el rendimiento. En general, la diferencia en cualquier dirección no es muy grande.

No veo cómo puede legítimamente excluir cualquier factor de las consideraciones de rendimiento, porque el rendimiento siempre ocurre en el mundo real donde todos los factores están en juego. La velocidad no es teórica y no se puede tratar de forma aislada.

Aquí es un artículo donde el autor hizo un poco de evaluación comparativa:

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

se encontró con que los binarios de 32 bits fueron más rápidos en sus pruebas. Eso fue en SPARC a principios de 2004.

Aquí está un artículo de 2010 de Intel acerca de cómo mover a aplicaciones de 64 bits:

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

Según este artículo, los binarios de 64 bits pueden dador que más rápido matemáticas , por lo que el código matemático pesado debería ser más rápido si se optimiza correctamente. De lo contrario, su código de 64 bits puede ser más lento, ya que requiere más memoria y esto puede dar como resultado un mayor tiempo de acceso a la RAM (fallas de caché más frecuentes).

Cuestiones relacionadas