Merge p3yk branch with the trunk up to revision 45595. This breaks a fair

number of tests, all because of the codecs/_multibytecodecs issue described
here (it's not a Py3K issue, just something Py3K discovers):
http://mail.python.org/pipermail/python-dev/2006-April/064051.html

Hye-Shik Chang promised to look for a fix, so no need to fix it here. The
tests that are expected to break are:

test_codecencodings_cn
test_codecencodings_hk
test_codecencodings_jp
test_codecencodings_kr
test_codecencodings_tw
test_codecs
test_multibytecodec

This merge fixes an actual test failure (test_weakref) in this branch,
though, so I believe merging is the right thing to do anyway.
This commit is contained in:
Thomas Wouters 2006-04-21 10:40:58 +00:00
parent 9ada3d6e29
commit 49fd7fa443
640 changed files with 52240 additions and 18408 deletions

292
Tools/pybench/Lists.py Normal file
View file

@ -0,0 +1,292 @@
from pybench import Test
class SimpleListManipulation(Test):
version = 0.3
operations = 5* (6 + 6 + 6)
rounds = 60000
def test(self):
l = []
for i in xrange(self.rounds):
l.append(2)
l.append(3)
l.append(4)
l.append(2)
l.append(3)
l.append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
x = l[0]
x = l[1]
x = l[2]
x = l[3]
x = l[4]
x = l[5]
l.append(2)
l.append(3)
l.append(4)
l.append(2)
l.append(3)
l.append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
x = l[0]
x = l[1]
x = l[2]
x = l[3]
x = l[4]
x = l[5]
l.append(2)
l.append(3)
l.append(4)
l.append(2)
l.append(3)
l.append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
x = l[0]
x = l[1]
x = l[2]
x = l[3]
x = l[4]
x = l[5]
l.append(2)
l.append(3)
l.append(4)
l.append(2)
l.append(3)
l.append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
x = l[0]
x = l[1]
x = l[2]
x = l[3]
x = l[4]
x = l[5]
l.append(2)
l.append(3)
l.append(4)
l.append(2)
l.append(3)
l.append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
x = l[0]
x = l[1]
x = l[2]
x = l[3]
x = l[4]
x = l[5]
if len(l) > 10000:
# cut down the size
del l[:]
def calibrate(self):
l = []
for i in xrange(self.rounds):
pass
class ListSlicing(Test):
version = 0.4
operations = 25*(3+1+2+1)
rounds = 400
def test(self):
n = range(100)
r = range(25)
for i in xrange(self.rounds):
l = range(100)
for j in r:
m = l[50:]
m = l[:25]
m = l[50:55]
l[:3] = n
m = l[:-1]
m = l[1:]
l[-1:] = n
def calibrate(self):
n = range(100)
r = range(25)
for i in xrange(self.rounds):
l = range(100)
for j in r:
pass
class SmallLists(Test):
version = 0.3
operations = 5*(1+ 6 + 6 + 3 + 1)
rounds = 60000
def test(self):
for i in xrange(self.rounds):
l = []
l.append(2)
l.append(3)
l.append(4)
l.append(2)
l.append(3)
l.append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
l[:3] = [1,2,3]
m = l[:-1]
m = l[1:]
l[-1:] = [4,5,6]
l = []
l.append(2)
l.append(3)
l.append(4)
l.append(2)
l.append(3)
l.append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
l[:3] = [1,2,3]
m = l[:-1]
m = l[1:]
l[-1:] = [4,5,6]
l = []
l.append(2)
l.append(3)
l.append(4)
l.append(2)
l.append(3)
l.append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
l[:3] = [1,2,3]
m = l[:-1]
m = l[1:]
l[-1:] = [4,5,6]
l = []
l.append(2)
l.append(3)
l.append(4)
l.append(2)
l.append(3)
l.append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
l[:3] = [1,2,3]
m = l[:-1]
m = l[1:]
l[-1:] = [4,5,6]
l = []
l.append(2)
l.append(3)
l.append(4)
l.append(2)
l.append(3)
l.append(4)
l[0] = 3
l[1] = 4
l[2] = 5
l[3] = 3
l[4] = 4
l[5] = 5
l[:3] = [1,2,3]
m = l[:-1]
m = l[1:]
l[-1:] = [4,5,6]
def calibrate(self):
for i in xrange(self.rounds):
l = []