| from pybench import Test | 
 |  | 
 | class DictCreation(Test): | 
 |  | 
 |     version = 2.0 | 
 |     operations = 5*(5 + 5) | 
 |     rounds = 80000 | 
 |  | 
 |     def test(self): | 
 |  | 
 |         for i in xrange(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 xrange(self.rounds): | 
 |             pass | 
 |  | 
 | class DictWithStringKeys(Test): | 
 |  | 
 |     version = 2.0 | 
 |     operations = 5*(6 + 6) | 
 |     rounds = 200000 | 
 |  | 
 |     def test(self): | 
 |  | 
 |         d = {} | 
 |  | 
 |         for i in xrange(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 xrange(self.rounds): | 
 |             pass | 
 |  | 
 | class DictWithFloatKeys(Test): | 
 |  | 
 |     version = 2.0 | 
 |     operations = 5*(6 + 6) | 
 |     rounds = 150000 | 
 |  | 
 |     def test(self): | 
 |  | 
 |         d = {} | 
 |  | 
 |         for i in xrange(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 xrange(self.rounds): | 
 |             pass | 
 |  | 
 | class DictWithIntegerKeys(Test): | 
 |  | 
 |     version = 2.0 | 
 |     operations = 5*(6 + 6) | 
 |     rounds = 200000 | 
 |  | 
 |     def test(self): | 
 |  | 
 |         d = {} | 
 |  | 
 |         for i in xrange(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 xrange(self.rounds): | 
 |             pass | 
 |  | 
 | class SimpleDictManipulation(Test): | 
 |  | 
 |     version = 2.0 | 
 |     operations = 5*(6 + 6 + 6 + 6) | 
 |     rounds = 100000 | 
 |  | 
 |     def test(self): | 
 |  | 
 |         d = {} | 
 |         has_key = d.has_key | 
 |  | 
 |         for i in xrange(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 = d.has_key | 
 |  | 
 |         for i in xrange(self.rounds): | 
 |             pass |