[Python-Dev] RE: [Zope.Com Geeks] Re: Program very slow to finish

Just van Rossum just@letterror.com
Tue, 6 Nov 2001 12:05:22 +0100


Here are some results on a 400 Mhz G4 PPC, 256 Megs of RAM, OSX 10.1, CVS
Python:

without pymalloc:
size:   10000, creation: 14.73 (usec/elem), destruction:  1.46 (usec/elem)
size:   20000, creation: 21.90 (usec/elem), destruction:  1.73 (usec/elem)
size:   50000, creation: 18.10 (usec/elem), destruction:  1.82 (usec/elem)
size:  100000, creation: 16.99 (usec/elem), destruction:  1.96 (usec/elem)
size:  200000, creation: 16.29 (usec/elem), destruction:  2.11 (usec/elem)
size:  400000, creation: 26.00 (usec/elem), destruction:  2.61 (usec/elem)
size:  600000, creation: 21.78 (usec/elem), destruction:  3.64 (usec/elem)
size:  800000, creation: 24.34 (usec/elem), destruction:  2.90 (usec/elem)
size: 1000000, creation: 20.47 (usec/elem), destruction:  3.36 (usec/elem)

with pymalloc:
size:   10000, creation: 15.21 (usec/elem), destruction:  0.67 (usec/elem)
size:   20000, creation: 19.58 (usec/elem), destruction:  0.48 (usec/elem)
size:   50000, creation: 18.16 (usec/elem), destruction:  0.64 (usec/elem)
size:  100000, creation: 17.54 (usec/elem), destruction:  0.66 (usec/elem)
size:  200000, creation: 17.04 (usec/elem), destruction:  0.74 (usec/elem)
size:  400000, creation: 16.90 (usec/elem), destruction:  0.69 (usec/elem)
size:  600000, creation: 16.13 (usec/elem), destruction:  0.63 (usec/elem)
size:  800000, creation: 16.74 (usec/elem), destruction:  0.68 (usec/elem)
size: 1000000, creation: 16.31 (usec/elem), destruction:  0.64 (usec/elem)


266 Mhz G3 PPC, 160 Megs of RAM, OSX 10.0.4, CVS Python:

without pymalloc:
size:   10000, creation: 22.72 (usec/elem), destruction:  1.98 (usec/elem)
size:   20000, creation: 21.17 (usec/elem), destruction:  2.12 (usec/elem)
size:   50000, creation: 22.80 (usec/elem), destruction:  2.26 (usec/elem)
size:  100000, creation: 22.58 (usec/elem), destruction:  2.38 (usec/elem)
size:  200000, creation: 22.68 (usec/elem), destruction:  2.54 (usec/elem)
size:  400000, creation: 22.79 (usec/elem), destruction:  2.93 (usec/elem)
size:  600000, creation: 21.09 (usec/elem), destruction:  3.54 (usec/elem)
size:  800000, creation: 24.75 (usec/elem), destruction: 18.47 (usec/elem)
size: 1000000, creation: 119.68 (usec/elem), destruction: 435.15 (usec/elem)

with pymalloc:
size:   10000, creation: 20.40 (usec/elem), destruction:  0.58 (usec/elem)
size:   20000, creation: 19.77 (usec/elem), destruction:  0.62 (usec/elem)
size:   50000, creation: 20.86 (usec/elem), destruction:  0.75 (usec/elem)
size:  100000, creation: 21.00 (usec/elem), destruction:  0.76 (usec/elem)
size:  200000, creation: 21.21 (usec/elem), destruction:  0.76 (usec/elem)
size:  400000, creation: 21.32 (usec/elem), destruction:  0.79 (usec/elem)
size:  600000, creation: 20.35 (usec/elem), destruction:  0.71 (usec/elem)
size:  800000, creation: 21.44 (usec/elem), destruction:  0.80 (usec/elem)
size: 1000000, creation: 20.80 (usec/elem), destruction:  0.76 (usec/elem)