mirror of
https://github.com/python/cpython.git
synced 2024-12-16 21:34:44 +08:00
805365ee39
svn+ssh://pythondev@svn.python.org/python/branches/p3yk ........ r55077 | guido.van.rossum | 2007-05-02 11:54:37 -0700 (Wed, 02 May 2007) | 2 lines Use the new print syntax, at least. ........ r55142 | fred.drake | 2007-05-04 21:27:30 -0700 (Fri, 04 May 2007) | 1 line remove old cruftiness ........ r55143 | fred.drake | 2007-05-04 21:52:16 -0700 (Fri, 04 May 2007) | 1 line make this work with the new Python ........ r55162 | neal.norwitz | 2007-05-06 22:29:18 -0700 (Sun, 06 May 2007) | 1 line Get asdl code gen working with Python 2.3. Should continue to work with 3.0 ........ r55164 | neal.norwitz | 2007-05-07 00:00:38 -0700 (Mon, 07 May 2007) | 1 line Verify checkins to p3yk (sic) branch go to 3000 list. ........ r55166 | neal.norwitz | 2007-05-07 00:12:35 -0700 (Mon, 07 May 2007) | 1 line Fix this test so it runs again by importing warnings_test properly. ........ r55167 | neal.norwitz | 2007-05-07 01:03:22 -0700 (Mon, 07 May 2007) | 8 lines So long xrange. range() now supports values that are outside -sys.maxint to sys.maxint. floats raise a TypeError. This has been sitting for a long time. It probably has some problems and needs cleanup. Objects/rangeobject.c now uses 4-space indents since it is almost completely new. ........ r55171 | guido.van.rossum | 2007-05-07 10:21:26 -0700 (Mon, 07 May 2007) | 4 lines Fix two tests that were previously depending on significant spaces at the end of a line (and before that on Python 2.x print behavior that has no exact equivalent in 3.0). ........
505 lines
9.0 KiB
Python
505 lines
9.0 KiB
Python
from pybench import Test
|
|
|
|
class DictCreation(Test):
|
|
|
|
version = 2.0
|
|
operations = 5*(5 + 5)
|
|
rounds = 80000
|
|
|
|
def test(self):
|
|
|
|
for i in range(self.rounds):
|
|
|
|
d1 = {}
|
|
d2 = {}
|
|
d3 = {}
|
|
d4 = {}
|
|
d5 = {}
|
|
|
|
d1 = {1:2,3:4,5:6}
|
|
d2 = {2:3,4:5,6:7}
|
|
d3 = {3:4,5:6,7:8}
|
|
d4 = {4:5,6:7,8:9}
|
|
d5 = {6:7,8:9,10:11}
|
|
|
|
d1 = {}
|
|
d2 = {}
|
|
d3 = {}
|
|
d4 = {}
|
|
d5 = {}
|
|
|
|
d1 = {1:2,3:4,5:6}
|
|
d2 = {2:3,4:5,6:7}
|
|
d3 = {3:4,5:6,7:8}
|
|
d4 = {4:5,6:7,8:9}
|
|
d5 = {6:7,8:9,10:11}
|
|
|
|
d1 = {}
|
|
d2 = {}
|
|
d3 = {}
|
|
d4 = {}
|
|
d5 = {}
|
|
|
|
d1 = {1:2,3:4,5:6}
|
|
d2 = {2:3,4:5,6:7}
|
|
d3 = {3:4,5:6,7:8}
|
|
d4 = {4:5,6:7,8:9}
|
|
d5 = {6:7,8:9,10:11}
|
|
|
|
d1 = {}
|
|
d2 = {}
|
|
d3 = {}
|
|
d4 = {}
|
|
d5 = {}
|
|
|
|
d1 = {1:2,3:4,5:6}
|
|
d2 = {2:3,4:5,6:7}
|
|
d3 = {3:4,5:6,7:8}
|
|
d4 = {4:5,6:7,8:9}
|
|
d5 = {6:7,8:9,10:11}
|
|
|
|
d1 = {}
|
|
d2 = {}
|
|
d3 = {}
|
|
d4 = {}
|
|
d5 = {}
|
|
|
|
d1 = {1:2,3:4,5:6}
|
|
d2 = {2:3,4:5,6:7}
|
|
d3 = {3:4,5:6,7:8}
|
|
d4 = {4:5,6:7,8:9}
|
|
d5 = {6:7,8:9,10:11}
|
|
|
|
def calibrate(self):
|
|
|
|
for i in range(self.rounds):
|
|
pass
|
|
|
|
class DictWithStringKeys(Test):
|
|
|
|
version = 2.0
|
|
operations = 5*(6 + 6)
|
|
rounds = 200000
|
|
|
|
def test(self):
|
|
|
|
d = {}
|
|
|
|
for i in range(self.rounds):
|
|
|
|
d['abc'] = 1
|
|
d['def'] = 2
|
|
d['ghi'] = 3
|
|
d['jkl'] = 4
|
|
d['mno'] = 5
|
|
d['pqr'] = 6
|
|
|
|
d['abc']
|
|
d['def']
|
|
d['ghi']
|
|
d['jkl']
|
|
d['mno']
|
|
d['pqr']
|
|
|
|
d['abc'] = 1
|
|
d['def'] = 2
|
|
d['ghi'] = 3
|
|
d['jkl'] = 4
|
|
d['mno'] = 5
|
|
d['pqr'] = 6
|
|
|
|
d['abc']
|
|
d['def']
|
|
d['ghi']
|
|
d['jkl']
|
|
d['mno']
|
|
d['pqr']
|
|
|
|
d['abc'] = 1
|
|
d['def'] = 2
|
|
d['ghi'] = 3
|
|
d['jkl'] = 4
|
|
d['mno'] = 5
|
|
d['pqr'] = 6
|
|
|
|
d['abc']
|
|
d['def']
|
|
d['ghi']
|
|
d['jkl']
|
|
d['mno']
|
|
d['pqr']
|
|
|
|
d['abc'] = 1
|
|
d['def'] = 2
|
|
d['ghi'] = 3
|
|
d['jkl'] = 4
|
|
d['mno'] = 5
|
|
d['pqr'] = 6
|
|
|
|
d['abc']
|
|
d['def']
|
|
d['ghi']
|
|
d['jkl']
|
|
d['mno']
|
|
d['pqr']
|
|
|
|
d['abc'] = 1
|
|
d['def'] = 2
|
|
d['ghi'] = 3
|
|
d['jkl'] = 4
|
|
d['mno'] = 5
|
|
d['pqr'] = 6
|
|
|
|
d['abc']
|
|
d['def']
|
|
d['ghi']
|
|
d['jkl']
|
|
d['mno']
|
|
d['pqr']
|
|
|
|
def calibrate(self):
|
|
|
|
d = {}
|
|
|
|
for i in range(self.rounds):
|
|
pass
|
|
|
|
class DictWithFloatKeys(Test):
|
|
|
|
version = 2.0
|
|
operations = 5*(6 + 6)
|
|
rounds = 150000
|
|
|
|
def test(self):
|
|
|
|
d = {}
|
|
|
|
for i in range(self.rounds):
|
|
|
|
d[1.234] = 1
|
|
d[2.345] = 2
|
|
d[3.456] = 3
|
|
d[4.567] = 4
|
|
d[5.678] = 5
|
|
d[6.789] = 6
|
|
|
|
d[1.234]
|
|
d[2.345]
|
|
d[3.456]
|
|
d[4.567]
|
|
d[5.678]
|
|
d[6.789]
|
|
|
|
d[1.234] = 1
|
|
d[2.345] = 2
|
|
d[3.456] = 3
|
|
d[4.567] = 4
|
|
d[5.678] = 5
|
|
d[6.789] = 6
|
|
|
|
d[1.234]
|
|
d[2.345]
|
|
d[3.456]
|
|
d[4.567]
|
|
d[5.678]
|
|
d[6.789]
|
|
|
|
d[1.234] = 1
|
|
d[2.345] = 2
|
|
d[3.456] = 3
|
|
d[4.567] = 4
|
|
d[5.678] = 5
|
|
d[6.789] = 6
|
|
|
|
d[1.234]
|
|
d[2.345]
|
|
d[3.456]
|
|
d[4.567]
|
|
d[5.678]
|
|
d[6.789]
|
|
|
|
d[1.234] = 1
|
|
d[2.345] = 2
|
|
d[3.456] = 3
|
|
d[4.567] = 4
|
|
d[5.678] = 5
|
|
d[6.789] = 6
|
|
|
|
d[1.234]
|
|
d[2.345]
|
|
d[3.456]
|
|
d[4.567]
|
|
d[5.678]
|
|
d[6.789]
|
|
|
|
d[1.234] = 1
|
|
d[2.345] = 2
|
|
d[3.456] = 3
|
|
d[4.567] = 4
|
|
d[5.678] = 5
|
|
d[6.789] = 6
|
|
|
|
d[1.234]
|
|
d[2.345]
|
|
d[3.456]
|
|
d[4.567]
|
|
d[5.678]
|
|
d[6.789]
|
|
|
|
def calibrate(self):
|
|
|
|
d = {}
|
|
|
|
for i in range(self.rounds):
|
|
pass
|
|
|
|
class DictWithIntegerKeys(Test):
|
|
|
|
version = 2.0
|
|
operations = 5*(6 + 6)
|
|
rounds = 200000
|
|
|
|
def test(self):
|
|
|
|
d = {}
|
|
|
|
for i in range(self.rounds):
|
|
|
|
d[1] = 1
|
|
d[2] = 2
|
|
d[3] = 3
|
|
d[4] = 4
|
|
d[5] = 5
|
|
d[6] = 6
|
|
|
|
d[1]
|
|
d[2]
|
|
d[3]
|
|
d[4]
|
|
d[5]
|
|
d[6]
|
|
|
|
d[1] = 1
|
|
d[2] = 2
|
|
d[3] = 3
|
|
d[4] = 4
|
|
d[5] = 5
|
|
d[6] = 6
|
|
|
|
d[1]
|
|
d[2]
|
|
d[3]
|
|
d[4]
|
|
d[5]
|
|
d[6]
|
|
|
|
d[1] = 1
|
|
d[2] = 2
|
|
d[3] = 3
|
|
d[4] = 4
|
|
d[5] = 5
|
|
d[6] = 6
|
|
|
|
d[1]
|
|
d[2]
|
|
d[3]
|
|
d[4]
|
|
d[5]
|
|
d[6]
|
|
|
|
d[1] = 1
|
|
d[2] = 2
|
|
d[3] = 3
|
|
d[4] = 4
|
|
d[5] = 5
|
|
d[6] = 6
|
|
|
|
d[1]
|
|
d[2]
|
|
d[3]
|
|
d[4]
|
|
d[5]
|
|
d[6]
|
|
|
|
d[1] = 1
|
|
d[2] = 2
|
|
d[3] = 3
|
|
d[4] = 4
|
|
d[5] = 5
|
|
d[6] = 6
|
|
|
|
d[1]
|
|
d[2]
|
|
d[3]
|
|
d[4]
|
|
d[5]
|
|
d[6]
|
|
|
|
def calibrate(self):
|
|
|
|
d = {}
|
|
|
|
for i in range(self.rounds):
|
|
pass
|
|
|
|
class SimpleDictManipulation(Test):
|
|
|
|
version = 2.0
|
|
operations = 5*(6 + 6 + 6 + 6)
|
|
rounds = 100000
|
|
|
|
def test(self):
|
|
|
|
d = {}
|
|
has_key = lambda key: key in d
|
|
|
|
for i in range(self.rounds):
|
|
|
|
d[0] = 3
|
|
d[1] = 4
|
|
d[2] = 5
|
|
d[3] = 3
|
|
d[4] = 4
|
|
d[5] = 5
|
|
|
|
x = d[0]
|
|
x = d[1]
|
|
x = d[2]
|
|
x = d[3]
|
|
x = d[4]
|
|
x = d[5]
|
|
|
|
has_key(0)
|
|
has_key(2)
|
|
has_key(4)
|
|
has_key(6)
|
|
has_key(8)
|
|
has_key(10)
|
|
|
|
del d[0]
|
|
del d[1]
|
|
del d[2]
|
|
del d[3]
|
|
del d[4]
|
|
del d[5]
|
|
|
|
d[0] = 3
|
|
d[1] = 4
|
|
d[2] = 5
|
|
d[3] = 3
|
|
d[4] = 4
|
|
d[5] = 5
|
|
|
|
x = d[0]
|
|
x = d[1]
|
|
x = d[2]
|
|
x = d[3]
|
|
x = d[4]
|
|
x = d[5]
|
|
|
|
has_key(0)
|
|
has_key(2)
|
|
has_key(4)
|
|
has_key(6)
|
|
has_key(8)
|
|
has_key(10)
|
|
|
|
del d[0]
|
|
del d[1]
|
|
del d[2]
|
|
del d[3]
|
|
del d[4]
|
|
del d[5]
|
|
|
|
d[0] = 3
|
|
d[1] = 4
|
|
d[2] = 5
|
|
d[3] = 3
|
|
d[4] = 4
|
|
d[5] = 5
|
|
|
|
x = d[0]
|
|
x = d[1]
|
|
x = d[2]
|
|
x = d[3]
|
|
x = d[4]
|
|
x = d[5]
|
|
|
|
has_key(0)
|
|
has_key(2)
|
|
has_key(4)
|
|
has_key(6)
|
|
has_key(8)
|
|
has_key(10)
|
|
|
|
del d[0]
|
|
del d[1]
|
|
del d[2]
|
|
del d[3]
|
|
del d[4]
|
|
del d[5]
|
|
|
|
d[0] = 3
|
|
d[1] = 4
|
|
d[2] = 5
|
|
d[3] = 3
|
|
d[4] = 4
|
|
d[5] = 5
|
|
|
|
x = d[0]
|
|
x = d[1]
|
|
x = d[2]
|
|
x = d[3]
|
|
x = d[4]
|
|
x = d[5]
|
|
|
|
has_key(0)
|
|
has_key(2)
|
|
has_key(4)
|
|
has_key(6)
|
|
has_key(8)
|
|
has_key(10)
|
|
|
|
del d[0]
|
|
del d[1]
|
|
del d[2]
|
|
del d[3]
|
|
del d[4]
|
|
del d[5]
|
|
|
|
d[0] = 3
|
|
d[1] = 4
|
|
d[2] = 5
|
|
d[3] = 3
|
|
d[4] = 4
|
|
d[5] = 5
|
|
|
|
x = d[0]
|
|
x = d[1]
|
|
x = d[2]
|
|
x = d[3]
|
|
x = d[4]
|
|
x = d[5]
|
|
|
|
has_key(0)
|
|
has_key(2)
|
|
has_key(4)
|
|
has_key(6)
|
|
has_key(8)
|
|
has_key(10)
|
|
|
|
del d[0]
|
|
del d[1]
|
|
del d[2]
|
|
del d[3]
|
|
del d[4]
|
|
del d[5]
|
|
|
|
def calibrate(self):
|
|
|
|
d = {}
|
|
has_key = lambda key: key in d
|
|
|
|
for i in range(self.rounds):
|
|
pass
|