Dlaczego python jest znacznie wolniejszy w systemie Windows?
Dowiedziałem się dzisiaj o kamieniach, więc postanowiłem zobaczyć, jakie są moje różne środowiska. Na moim laptopie uruchomiłem pystones z uruchomionymi oknami na nagim metalu i otrzymałem te wyniki
<code>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) </code>
Następnie uruchomiłem go na niektórych naszych maszynach wirtualnych z Linuksem i uzyskałem 2,7-3,4 razy lepszą wydajność. Więc uruchomiłem moją maszynę wirtualną vmware Linux na moim laptopie i powtórzyłem ten sam test i uzyskałem następujące wyniki:
<code>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) </code>
Nie do końca rozumiem, w jaki sposób maszyna wirtualna systemu Linux działająca w tych samych oknach jest rzeczywiście SZYBCIEJ niż Python działający na tym samym nagim metalu pod oknami.
Czym różni się python w systemie Windows, że działa wolniej w systemie operacyjnym niż w maszynie wirtualnej z systemem Linux na tym samym pudełku?
Więcej informacji Platforma Windows Win7x64 32-bitowy python działający na obu platformach 32-bitowy linux VM z uruchomioną platformą Windows w VMWare