Aprendí sobre las pystones hoy, así que decidí ver cómo eran mis diversos entornos. Corrí pystones en mi ordenador portátil que ejecuta Windows en el metal desnudo y tengo estos resultados¿Por qué Python es mucho más lento en Windows?
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from test import pystone
>>> for i in range(0,10):
... pystone.pystones()
...
(1.636334799754252, 30556.094026423627)
(2.1157907919853756, 23631.82607155689)
(2.5324817108003685, 19743.479207278437)
(2.541626695533182, 19672.4405231788)
(2.536022267835051, 19715.915208695682)
(2.540327088340973, 19682.50475676099)
(2.544761766911506, 19648.20465716261)
(2.540296805235016, 19682.739393664764)
(2.533851636391205, 19732.804905346253)
(2.536483186973612, 19712.3325148696)
Entonces me encontré con que en algunas de nuestras máquinas virtuales Linux y me 2.7-3.4 veces mejor rendimiento. Así que encendí mi Linux VM de VMware en mi portátil y volvió a ejecutar la misma prueba y obtuve los siguientes resultados:
Python 2.7.2+ (default, Oct 4 2011, 20:03:08)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> for i in range(0,10):
... pystone.pystones()
...
(1.75, 28571.428571428572)
(1.17, 42735.042735042734)
(1.6600000000000001, 30120.48192771084)
(1.8399999999999999, 27173.913043478264)
(1.8200000000000003, 27472.52747252747)
(1.8099999999999987, 27624.30939226521)
(1.3099999999999987, 38167.938931297744)
(1.7800000000000011, 28089.88764044942)
(1.8200000000000038, 27472.527472527414)
(1.490000000000002, 33557.04697986573)
Estoy totalmente no podemos entender cómo la máquina virtual Linux se ejecuta dentro de la misma ventana es más rápido que Python se ejecuta en el mismo metal desnudo debajo de las ventanas.
¿Qué tiene de python en Windows que sea más lento en el sistema operativo que en una máquina virtual que ejecuta Linux en el mismo cuadro?
- Más detalles plataforma Windows de 32 bits Win7x64 pitón que se ejecuta en ambas plataformas bits Linux 32 VM en ejecución en la plataforma Windows VMWare
Depende de los otros procesos que se están ejecutando al mismo tiempo. –
Diferente libc.* ejecuta * –
¿Se estaba ejecutando Python en la máquina virtual y en Linux de 64 bits? Veo que la versión de Windows era de 32 bits. Asegúrate de que estás comparando manzanas con manzanas. – agf