Python 2.3.3 : Win32 build vs Cygwin build performance ?

Paul M pmagic at snet.net
Tue Jan 27 20:49:51 EST 2004


Nicolas Lehuen wrote:

> I have reproduced this on another machine. I tried playing with the
> optimizer options (-O, -OO) and the result is the same : on pystone, Cygwin
> 1.5.6-1 + Python 2.3.3-1 is nearly twice as better as the standard Python
> 2.3.3 distribution for Win32...
> 
> I have checked that both distribution are psyco-free. Does anyone have an
> idea of what is going on there ? Better compilation optimisation settings ?
> GCC 3.3.1 producing faster code than MSVC 6 (allright, I can imagine that,
> but twice faster ???) ?
> 
> Regards
> Nicolas
> 

I get results opposite yours (though with an oddity in the CPU seconds 
reported on the Win32 build -- see below).

I'm also using Cygwin 1.5.6-1 + 2.3.3-1 and the stock Python 2.3.3 
distribution for Win32.

Here's my cygwin results:

$ time python /usr/lib/python2.3/hotshot/stones.py
Pystone(1.1) time for 50000 passes = 2.813
This machine benchmarks at 17774.6 pystones/second
          850004 function calls in 5.825 CPU seconds

    Ordered by: internal time, call count

    ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     50000    2.148    0.000    2.207    0.000 pystone.py:184(Proc6)
     50002    1.102    0.000    1.102    0.000 pystone.py:45(__init__)
         1    0.662    0.662    5.825    5.825 pystone.py:79(Proc0)
     50000    0.435    0.000    4.188    0.000 pystone.py:133(Proc1)
     50000    0.340    0.000    0.340    0.000 pystone.py:208(Proc8)
    150000    0.182    0.000    0.182    0.000 pystone.py:203(Proc7)
    150000    0.181    0.000    0.181    0.000 pystone.py:221(Func1)
     50000    0.170    0.000    0.226    0.000 pystone.py:229(Func2)
     50000    0.163    0.000    1.265    0.000 pystone.py:53(copy)
     50000    0.152    0.000    0.214    0.000 pystone.py:160(Proc3)
     50000    0.103    0.000    0.103    0.000 pystone.py:149(Proc2)
     50000    0.072    0.000    0.072    0.000 pystone.py:177(Proc5)
     50000    0.059    0.000    0.059    0.000 pystone.py:246(Func3)
     50000    0.056    0.000    0.056    0.000 pystone.py:170(Proc4)
         1    0.000    0.000    5.825    5.825 pystone.py:67(pystones)
         0    0.000             0.000          profile:0(profiler)



real    0m35.403s
user    0m34.827s
sys     0m0.233s


And my Win 32 results:

C:\Documents and Settings\pmagwene>python c:\Python23\Lib\hotshot\stones.py
Pystone(1.1) time for 50000 passes = 2.44903
This machine benchmarks at 20416.3 pystones/second
          850004 function calls in 6559.446 CPU seconds

    Ordered by: internal time, call count

    ncalls  tottime  percall  cumtime  percall filename:lineno(function)
         1 1689.491 1689.491 6559.412 6559.412 pystone.py:79(Proc0)
     50000  987.212    0.020 2610.494    0.052 pystone.py:133(Proc1)
     50000  775.010    0.016  775.010    0.016 pystone.py:208(Proc8)
     50000  416.668    0.008  637.938    0.013 pystone.py:53(copy)
    150000  409.522    0.003  409.522    0.003 pystone.py:221(Func1)
     50000  406.804    0.008  535.380    0.011 pystone.py:229(Func2)
    150000  396.484    0.003  396.484    0.003 pystone.py:203(Proc7)
     50000  310.752    0.006  445.215    0.009 pystone.py:160(Proc3)
     50000  290.596    0.006  410.274    0.008 pystone.py:184(Proc6)
     50000  239.539    0.005  239.539    0.005 pystone.py:149(Proc2)
     50002  221.310    0.004  221.310    0.004 pystone.py:45(__init__)
     50000  150.247    0.003  150.247    0.003 pystone.py:170(Proc4)
     50000  146.099    0.003  146.099    0.003 pystone.py:177(Proc5)
     50000  119.678    0.002  119.678    0.002 pystone.py:246(Func3)
         1    0.033    0.033 6559.446 6559.446 pystone.py:67(pystones)
         0    0.000             0.000          profile:0(profiler)



The Pystone time and machine benchmark shows that my Win32 build is 
faster, though I don't understand the CPU seconds readout -- the pystone 
benchmark did not last 1.5 hrs!

Maybe it's something odd about my setup? -- dual Xeons (hyperthreading 
enabled), 2.5 GB ram, WinXP...

--Paul



More information about the Python-list mailing list