español - python 64 bits for windows
¿Hay beneficios para ejecutar X86-64 Python en una CPU de 64 bits en un sistema operativo de 64 bits? (5)
¿Qué tipo de beneficios hay para ejecutar las compilaciones amd64 de Python y las extensiones? (Muchas extensiones compiladas para amd64 aquí .) Tengo un procesador i5 y Win7 de 64 bits, por lo que parece que sería apropiado. Pero también parece que tiene errores, beta, sin soporte, etc.
¿Realmente proporciona un beneficio de rendimiento? En que areas? Me gustaría ejecutar SciPy, NumPy, etc. Ocasionalmente obtengo errores de "memoria insuficiente" con Python de 32 bits y mi máquina tiene 4 GiB de RAM.
¿Pueden instalarse paquetes win32 en una base de Python de 64 bits si no existe una versión de 64 bits del paquete?
He estado ejecutando Python de 64 bits en Linux desde hace años. Sin problemas, no tiene errores. Eso incluye numpy. No me preocuparía por eso.
Un pequeño beneficio:
Python> sys.maxint
9223372036854775807
Sin embargo, supongo que uno podría discutir si hay algún beneficio en eso, pero lo mismo aplica para todas las aplicaciones de 64 bits en general.
Obtienes el mayor beneficio cuando manejas grandes cantidades de datos.
La misma ventaja que cualquier otro programa de 64 bits: mucho espacio de proceso y acceso a más y más grandes registros (para los módulos VM y C al menos). Pero no, necesita encontrar versiones de 64 bits de los módulos C.
La razón principal para usar un Python de 64 bits es que puede acceder a más de 2 GB de memoria principal, por ejemplo, si tiene largos dictados, listas o cadenas largas. Esto requiere que realmente tenga tanta memoria en su sistema para que sea práctico.
Un efecto secundario es que en el modo AMD64, la CPU tiene más registros, por lo que el código resultante puede ejecutarse un poco más rápido (para operaciones enteras).
Python en modo de 64 bits en Windows ciertamente no es beta o no es compatible. Puede tener errores, pero solo si realmente tiene estructuras de datos muy grandes. Python de 64 bits ha sido alrededor de 15 años (aunque no en Windows).
Las ganancias normales se obtienen usando el código de 64 bits en general. No encontré ningún punto de referencia reciente, pero en el momento de la introducción de x64, el código podría correr hasta 30% más rápido en 64 bits que en 32 bits en hardware x86. Esta brecha ciertamente ha disminuido de alguna manera con las optimizaciones desde ese momento, pero es todavía probablemente más rápido.
Además, se beneficia de poder utilizar más de 4 GB de memoria de forma transparente si lo necesita también.
Sin embargo, tenga en cuenta que las ganancias de velocidad en 64 bits se deben a la horrible ABI de 32 bits: enve a core i7 que corre en 32 bits tiene los mismos 4 registros de propósito general (y un par más) que uno tenía en el chip 80386 de 1987. Y los mapeados 1: 1 al registro en el 8086 de los 70''s. El abi de 64 bits introduce más registros de propósito general (reales), y eso lo hace para la ganancia de velocidad. De lo contrario, el código de 64 bits simplemente gasta el doble de la memoria caché, lo que hace que, en otras arquitecturas, como PPC, sea realmente más lento que el código de 32 bits.
Me imagino que obtendrías un aumento en el rendimiento con SciPy y NumPy, ya que el manejo de números y los cálculos es lo que mejora muchísimo cuando agregas más bits a un procesador. Pero no puedo estar seguro.
Siempre puedes ejecutar 64 bit y 32 bit uno al lado del otro y hacer algunas comparaciones, me interesaría saber los resultados de las pruebas en el lado del número de crujidos. Y si está ejecutando la misma versión de ambos, el código se ejecutará en ambos, siempre que tenga los módulos que necesita para ambos.