Ejecutar programas de 32 bits frente a 64 bits en un sistema operativo de 64 bits

2

Si estoy ejecutando un sistema operativo de 64 bits (edición Windows XP x64) y un programa tiene una versión de 32 bits y una versión de 64 bits, ¿cuáles son las ventajas de usar la versión de 64 bits? ¿Será más rápido?

HighCommander4
fuente

Respuestas:

1

XP 64 bits no es más seguro que 32 bits.

Vista y (mejor) Windows 7 introdujeron seguridad mejorada en modo de 64 bits con DEP respaldado por hardware, Kernel Patch Protection y firma obligatoria de controladores.

Entonces, la única ventaja en XP es que un programa de 64 bits puede usar más de 4 GB de memoria.
Sin embargo, prácticamente hablando, ningún programa necesita tanta memoria, excepto en servidores grandes.

harrymc
fuente
3
¿Ningún programa usa más de 4 Gb de memoria? Excepto en los servidores? Eso es un poco fuerte, ¿no?
Grajo
No, es totalmente correcto. También tenga en cuenta la respuesta de Bubu, puede notar mejoras en el rendimiento. (Sí, estoy en ese 1% y noté que algunos 64 bits son más rápidos que la versión de 32 bits).
Shiki
@Shiki: no estoy discutiendo el rendimiento (simplemente porque no tengo idea de si hay alguno). Pero muchos programas usan más de 4 gb de memoria. Es cierto que pueden no ser programas para un amplio espectro de usuarios, pero sin embargo (piense en cálculos numéricos).
Torre
Hm ... Hardware DEP está disponible en sistemas de 32 bits (incluido XP), y Kernel Patch Protection se transfirió a Windows XP de 64 bits en alguna actualización.
Hola71
Idigas: Bueno ... pero si uno usa una PC para computación matemática ... ^^ "| de todos modos: XP 64 bit es algo que uno no debería usar. Solo Vista / Win7 viene con un soporte perfecto en mi opinión. Incluso los controladores en XP para 64 bits puede ser un dolor en el culo ..
Shiki
2

Si ejecuta la versión de 64 bits, podrá direccionar más memoria, y si está optimizada bien (como algunos juegos) puede haber una mejora de <10% en el rendimiento. Pero, en general, no lo sienten los usuarios finales.

Creo que la mayoría de las personas corren 64 bits solo por las preocupaciones de memoria.

bubu
fuente
1

Si el programa hace alguno de:

  • acceder a más de 2 o 3 GB de memoria
  • hacer aritmética en enteros de 64 bits, especialmente multiplicar y dividir
  • asumir una mayor generación de CPU / conjunto de características en la compilación de 64 bits y aprovechar eso (por ejemplo, instrucciones SSE)
  • use los registros SIMD del doble de ancho con buenos resultados

entonces 64 bits puede ser una gran victoria.

Si nada de eso es así, entonces la versión de 64 bits será más grande y usará más memoria, ¡y podría ser más lenta! Comparé un programa y pruebas de biblioteca construidas en ambos sentidos, y la versión de 32 bits fue más rápida. Aparentemente, el almacenamiento en caché es peor, con los punteros más grandes que conducen a estructuras más grandes y el mayor uso de memoria evita que tanto se ajuste en la memoria caché RAM en cualquier nivel dado. Los registros adicionales no compensaron eso.

YMMV con cada generación y modelo de procesador y en todas las marcas. Pero en general, el acceso a la memoria es un cuello de botella de velocidad real y esa es una tendencia duradera.

JDługosz
fuente