¿Qué tan importante es tener programas de 64 bits en un sistema operativo de 64 bits?

40

Recientemente actualicé al sistema operativo de 64 bits (Windows 7) desde mi versión anterior de 32 bits. Noté que si bien hay varias aplicaciones disponibles en 64 bits (por ejemplo, cliente DC, Tortoise SVN, controlador de gráficos), muchas siguen siendo aplicaciones de 32 bits (por ejemplo, Firefox, Adobe Reader).

Entonces, ¿qué tan importante es tener aplicaciones de 64 bits (en cuanto al rendimiento)? Uso mi computadora portátil para muchas cosas diferentes, como juegos, codificación, etc.

apoorv020
fuente
1
Solo espera hasta que comiences a querer jugar tus juegos antiguos favoritos con instaladores de 16 bits. La compatibilidad con versiones anteriores se proporciona en XP64 / 32, Vista32 y 7 32, pero no en Vista64 o 7 64.
Alain
1
@Alain: De todos modos, nunca pude ejecutar juegos antiguos en mi sistema operativo de 32 bits, por lo que probablemente no sea una gran pérdida.
apoorv020
1
Es si amas a Master of Orion II y Populous the Beginning tanto como a mí;) De todos modos, Windows Virtual PC + un viejo CD de instalación del sistema operativo hace el truco y te ahorra el arranque dual.
Alain
La mejora más grande que noté desde la perspectiva del usuario es la capacidad de cargar archivos más grandes que 2GB-ish. Especialmente trabajando con imágenes grandes en el software Adobe.
Svardskampe
@Alain, debido a que los diversos softwares VM tienen diferentes niveles de soporte de controladores de audio / video para sistemas operativos antiguos, incluso eso no siempre va a funcionar. Me costó muchísimo conseguir que Joyas del Oráculo II corriera.
Synetech

Respuestas:

35

No creo que sea tan importante tener aplicaciones de 64 bits per se.

La ventaja de tener una aplicación de 64 bits es que puede:

  • Acceda a mucha más memoria¹
  • Realizar operaciones de registro de 64 bits .²

¹ Un programa de 64 bits puede ser un poco más rápido (dependiendo de cómo funcione). Si su aplicación necesita mucha memoria (como Photoshop, renderizado 3D, etc.), tener una versión de 64 bits le dará acceso a toda la memoria de la computadora. Sin eso, se limitará a alrededor de 2 GB. Eso es por aplicación , por lo que dos aplicaciones pueden acceder a un total de 4 GB.

² Realizar una operación de 64 bits en un sistema operativo de 64 bits es más rápido que realizarlo en un sistema operativo de 32 bits: se necesitarían al menos 2 operaciones de 32 bits para realizar lo mismo.

En cuanto a la estabilidad, no debería haber diferencia entre las aplicaciones de 64 bits y las de 32 bits.

Majenko
fuente
Creo que mi cliente de DC hace el hashing de archivos a una velocidad mucho mejor ahora.
apoorv020
Eso tiene sentido si está haciendo hashes. Algunos de ellos se pueden optimizar en anchos de bits más altos.
Joshua Nurczyk
También es posible hacer suposiciones sobre las capacidades de la CPU con x86-64, como admitir SSE3.
Afrazier
44
Por defecto, las aplicaciones que se ejecutan en Windows de 32 bits solo tendrán acceso a 2 GB de memoria. El sistema operativo en su conjunto tiene acceso a un poco más de 3GB en total para ser compartido por todas las aplicaciones.
Michael Steele
@Michael Steele tiene razón. La memoria máxima disponible para el sistema suele ser de 3,12 GB, el resto está reservado para direccionar hardware. Para obtener una cuenta más detallada, consulte aquí: support.microsoft.com/kb/929605
Steven Evers
10

El mayor beneficio de usar una aplicación de 64 bits en un sistema operativo de 64 bits es que tiene acceso total a toda la memoria disponible en el sistema. Con direcciones de memoria de 64 bits, la aplicación puede acceder a más memoria que su equivalente de 32 bits.

Además, los programas de 64 bits funcionarán "mejor" que los de 32 bits, ya que utilizan la arquitectura del sistema nativo. Las operaciones como las lecturas de memoria se realizan de forma nativa, etc. Esto significa que el sistema operativo no tiene que hacer ningún trabajo adicional para "traducir" (empaquetar / desempacar la memoria, etc.) los comandos que la aplicación está utilizando.

Sin embargo, la mayoría de los programas, como Firefox, Word, Adobe Reader, etc., pasan la mayor parte del tiempo esperando la opinión del usuario, por lo que la eficiencia no es necesariamente una preocupación principal. Además, la mayoría de estas aplicaciones (por el momento) no requieren la memoria extra a la que ir a 64 bits les daría acceso.

Los programas como los controladores de gráficos tienen que funcionar de manera eficiente y tal vez tengan acceso a registros de memoria más altos, por lo que deben ser de 64 bits.

ChrisF
fuente
1
Se requiere que los controladores del sistema sean de 64 bits en muchos casos si necesitan acceso a ciertos registros de memoria. Creo que las cosas certan funcionarán con controladores de 32 bits en un sistema de 64 bits, pero nada intensivo como una tarjeta gráfica
Joshua Nurczyk
1
@ Joshua: Los controladores del sistema realmente dependen del sistema operativo y del arco de la máquina. Algunas CPU de 64 bits no tienen modos, solo agregan instrucciones de 64 bits. x86_64 tiene un costoso cambio de modo para pasar de 64 a 32 y viceversa, por lo que casi siempre se requiere que los controladores sean de 64 bits.
Zan Lynx
Por favor, explique qué quiere decir con "mejor".
glenviewjeff
5

Sí, puede ejecutar sin problemas las aplicaciones de 32 bits en su sistema operativo de 64 bits, PERO. Hay otro problema de pérdida de espacio: las bibliotecas. Básicamente, una aplicación cargaría la biblioteca adecuada que necesita, pero el problema es que las bibliotecas de 64 bits no son compatibles con las de 32 bits, y viceversa.

Por supuesto, generalmente las bibliotecas necesarias se envían con la aplicación en sí, pero las principales, las de Windows, se almacenan dos veces, una de ellas, la de 32 bits y la otra, la de 64 bits.

También ocupan más memoria en la RAM si tiene una aplicación de 32 bits y otra de 64 bits ejecutándose simultáneamente: las dos aplicaciones cargaron su propia versión de la biblioteca y, por lo tanto, usan más RAM de la que podrían si ambas usaran la misma biblioteca.

Entonces, en aras de ahorrar RAM y espacio en el disco duro, intente ejecutar e instalar aplicaciones de solo 64 bits e instale las de 32 bits solo si no puede encontrar una versión de 64 bits. Ahora, se envían más y más aplicaciones en ambas versiones.

Evengard
fuente
4

La respuesta es, depende"

Algunas 'aplicaciones' de 32 bits no funcionarán en el modo de 64 bits, por ejemplo, controladores de gráficos y extensiones de shell (como Tortoise SVN). En tal caso, necesita una versión de 64 bits.

Para otras aplicaciones normales, entonces depende de lo que hagan.

Si tiene, por ejemplo, 16 GB de memoria y está ejecutando un servidor SQL con una base de datos extremadamente grande, entonces tener una versión de SQL de 64 bits es muy importante.

Sin embargo, si tiene 4 Gb de memoria (con casi 1 gb 'robado' por la tarjeta de video), entonces puede estar quedando sin memoria y el uso de aplicaciones de 64 bits (que pueden requerir más memoria) en realidad puede ralentizar su sistema.

Incluso ignorando las consideraciones de memoria, no se puede decir con certeza que una aplicación de 32 bits que se ejecuta en modo de 64 bits será más rápida o más lenta que el equivalente de 64 bits, ni si la aplicación será más rápida o más lenta que cuando se ejecuta en un 32 -bit sistema operativo.

Personalmente, si estoy buscando una utilidad o una pequeña aplicación para mi máquina, comprobaré que funciona con el sistema operativo de 64 bits, pero si la aplicación es de 32 bits o de 64 bits normalmente no está en mi lista de prioridades .

Según Process Explorer, actualmente tengo 25 procesos de 64 bits y 28 procesos de 32 bits en ejecución, ignorando Chrome)

sgmoore
fuente
3

Tenga en cuenta que en Windows de 64 bits, las aplicaciones de 32 bits se ejecutan a través de una capa de emulación conocida como WOW64 , que impone algunas limitaciones adicionales que no están presentes cuando se ejecuta bajo un sistema operativo Windows de 32 bits.

Desde https://msdn.microsoft.com/en-us/library/aa384219(v=vs.85).aspx :

Rendimiento y consumo de memoria bajo WOW64

  • Procesador de hardware. La emulación de instrucciones se realiza en el chip. En el procesador x64, las instrucciones son ejecutadas de forma nativa por la microarquitectura. Por lo tanto, la velocidad de ejecución en WOW64 en x64 es similar a su velocidad en Windows de 32 bits. En el procesador Intel Itanium, hay más software involucrado en la emulación y, como resultado, el rendimiento se ve afectado.
  • Sobrecarga API thunk. Esta sobrecarga es pequeña en comparación con la llamada del núcleo NT en sí. Las funciones del kernel NT están destinadas a llamarse con poca frecuencia.
  • Tamaño de memoria virtual. En el procesador Intel Itanium, WOW64 agrega una sobrecarga significativa si dos o más instancias de la misma aplicación de 32 bits se ejecutan simultáneamente. Esto se debe a las páginas nativas de 8 KB en Intel Itanium, lo que complica la emulación de las páginas nativas de 4 KB en la arquitectura x86 (más páginas están marcadas como de escritura; todas las páginas de escritura son privadas para el proceso). Esto puede afectar negativamente la escalabilidad de Terminal Services en ciertos procesadores. Este no es el caso del procesador x64.
  • Conjunto de trabajo WOW64 aumenta el tamaño del conjunto de trabajo de la aplicación.

  • WOW64 permite que las aplicaciones de 32 bits aprovechen el núcleo de 64 bits. Por lo tanto, las aplicaciones de 32 bits pueden usar una mayor cantidad de identificadores de kernel y identificadores de ventana. Sin embargo, es posible que las aplicaciones de 32 bits no puedan crear tantos subprocesos en WOW64 como pueden cuando se ejecutan de forma nativa en sistemas basados ​​en x86 porque WOW64 asigna una pila adicional de 64 bits (generalmente 512 KB) para cada subproceso. Además, cierta cantidad de espacio de direcciones está reservada para WOW64 y las estructuras de datos que utiliza. La cantidad reservada depende del procesador; Se reserva más en Intel Itanium que en el procesador x64.

Adam Lawrence
fuente
+0. ¿Cuáles son estas limitaciones? Por favor, editar su respuesta y explicar.
inolvidableid
Cavando en busca de zombies, ¿verdad? Esta respuesta tiene casi seis años, ya sabes ...
Adam Lawrence
+1. Gracias por tu edición! Traté de publicar una nueva variante de la pregunta, pero se cerró como "demasiado amplia". Hasta donde yo sé, todas las versiones abiertas de esta pregunta, en todas partes en Super User, tienen al menos seis años.
inolvidableid
1

No lo dejemos tan corto. Rocas de 64 bits. Si puedes conseguirlo, úsalo. Visual Studio, SQL Server (incluso utilizando solo Management Studio) se benefician de una versión en ejecución de 64 bits. No se puede decir que no vale la pena. No, no es una necesidad, pero deberíamos buscar mejorar la velocidad en las computadoras portátiles y portátiles de otros usuarios (incluso no expertos en tecnología que usan MS Word). ¿Por qué no aprovechar y promover y hablar 64 bits en su empresa? Realmente ya no es tan nuevo ... se está volviendo o ha sido un lugar común.

Es ridículo decir que no te beneficias mucho de 64 bits al igual que es ridículo decirme que si agregas 4 conciertos para completar un total de 8 conciertos en cualquier computadora portátil, cualquier usuario no vale la pena. Ese es solo otro ejemplo de los codiciosos administradores o corporaciones de IT Network donde la actualización a 64 bits generalmente es gratuita en la mayoría de los casos y luego para la RAM es ridículamente barata y mejora la productividad de su usuario dos veces.

Entonces no, no es un deber, pero debería ser un deber. No me gustan los minimalistas cuando se trata de herramientas como computadoras de escritorio y portátiles.

Realmente no estoy de acuerdo cuando la gente dice que las aplicaciones de 64 bits son algo con lo que debes ser súper "cuidadoso" ... al menos no tanto como cuando salió por primera vez, eso es seguro.

Si 64 bits fuera un problema, entonces la mayoría de las computadoras de escritorio y portátiles en estos días no migrarían a Windows 7 de 64 bits. Toda nuestra compañía está lanzando Win 7 Pro de 64 bits a TODOS los usuarios (más de 100,00 empleados)

WeDoTDD.com
fuente
Sería útil si pudieras explicar específicamente qué "oscila" sobre 64 bits. Una explicación técnica es lo que se busca aquí.
glenviewjeff
¿Entonces tiene sentido agregar 4gigs a una máquina que nunca ocupó más memoria que antes? Ok, si sabes que lo usarías si está disponible, pero esto es innecesario. Esto no tiene nada que ver con la avaricia, sino solo que puede invertir en cosas que podrían tener más sentido. La actualización de la CPU en casi cualquier caso traerá ventajas. No digo que mucha RAM sea algo malo (tengo 16 GB), pero no actualizaría mi vieja computadora portátil a 8 GB ya que los 4 GB mantienen mi instalación Arch muy bien. 64 bits, sin embargo, es algo. eso realmente en la mayoría de los casos es una ventaja, es cierto
larkey
0

Depende completamente de la aplicación. La mayoría de las aplicaciones funcionan exactamente igual en forma de 32 bits que en forma de 64 bits. Para las aplicaciones en las que sí importa, seguramente se dará cuenta de que las versiones de 32 bits son limitadas y no necesitará hacer la pregunta.

Un área a tener en cuenta es cuando una aplicación tiene una versión de 64 bits que tiene poca compatibilidad de terceros. Estoy pensando en Excel 2010, que está disponible en forma de 64 bits. Excel 64 en sí mismo funciona perfectamente bien, pero todavía se han portado pocas extensiones y complementos de terceros. Como otro ejemplo, considere Python en Windows. Nuevamente, varios módulos importantes no básicos no están disponibles o son difíciles de obtener en forma de 64 bits.

Entonces, a menos que realmente necesite desesperadamente 64 bits para la aplicación en cuestión, a menudo puede ser más seguro quedarse con la versión de 32 bits.

David Heffernan
fuente