| 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 |