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