symbian-qemu-0.9.1-12/python-2.6.1/Tools/pybench/Dict.py
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 from pybench import Test
       
     2 
       
     3 class DictCreation(Test):
       
     4 
       
     5     version = 2.0
       
     6     operations = 5*(5 + 5)
       
     7     rounds = 80000
       
     8 
       
     9     def test(self):
       
    10 
       
    11         for i in xrange(self.rounds):
       
    12 
       
    13             d1 = {}
       
    14             d2 = {}
       
    15             d3 = {}
       
    16             d4 = {}
       
    17             d5 = {}
       
    18 
       
    19             d1 = {1:2,3:4,5:6}
       
    20             d2 = {2:3,4:5,6:7}
       
    21             d3 = {3:4,5:6,7:8}
       
    22             d4 = {4:5,6:7,8:9}
       
    23             d5 = {6:7,8:9,10:11}
       
    24 
       
    25             d1 = {}
       
    26             d2 = {}
       
    27             d3 = {}
       
    28             d4 = {}
       
    29             d5 = {}
       
    30 
       
    31             d1 = {1:2,3:4,5:6}
       
    32             d2 = {2:3,4:5,6:7}
       
    33             d3 = {3:4,5:6,7:8}
       
    34             d4 = {4:5,6:7,8:9}
       
    35             d5 = {6:7,8:9,10:11}
       
    36 
       
    37             d1 = {}
       
    38             d2 = {}
       
    39             d3 = {}
       
    40             d4 = {}
       
    41             d5 = {}
       
    42 
       
    43             d1 = {1:2,3:4,5:6}
       
    44             d2 = {2:3,4:5,6:7}
       
    45             d3 = {3:4,5:6,7:8}
       
    46             d4 = {4:5,6:7,8:9}
       
    47             d5 = {6:7,8:9,10:11}
       
    48 
       
    49             d1 = {}
       
    50             d2 = {}
       
    51             d3 = {}
       
    52             d4 = {}
       
    53             d5 = {}
       
    54 
       
    55             d1 = {1:2,3:4,5:6}
       
    56             d2 = {2:3,4:5,6:7}
       
    57             d3 = {3:4,5:6,7:8}
       
    58             d4 = {4:5,6:7,8:9}
       
    59             d5 = {6:7,8:9,10:11}
       
    60 
       
    61             d1 = {}
       
    62             d2 = {}
       
    63             d3 = {}
       
    64             d4 = {}
       
    65             d5 = {}
       
    66 
       
    67             d1 = {1:2,3:4,5:6}
       
    68             d2 = {2:3,4:5,6:7}
       
    69             d3 = {3:4,5:6,7:8}
       
    70             d4 = {4:5,6:7,8:9}
       
    71             d5 = {6:7,8:9,10:11}
       
    72 
       
    73     def calibrate(self):
       
    74 
       
    75         for i in xrange(self.rounds):
       
    76             pass
       
    77 
       
    78 class DictWithStringKeys(Test):
       
    79 
       
    80     version = 2.0
       
    81     operations = 5*(6 + 6)
       
    82     rounds = 200000
       
    83 
       
    84     def test(self):
       
    85 
       
    86         d = {}
       
    87 
       
    88         for i in xrange(self.rounds):
       
    89 
       
    90             d['abc'] = 1
       
    91             d['def'] = 2
       
    92             d['ghi'] = 3
       
    93             d['jkl'] = 4
       
    94             d['mno'] = 5
       
    95             d['pqr'] = 6
       
    96 
       
    97             d['abc']
       
    98             d['def']
       
    99             d['ghi']
       
   100             d['jkl']
       
   101             d['mno']
       
   102             d['pqr']
       
   103 
       
   104             d['abc'] = 1
       
   105             d['def'] = 2
       
   106             d['ghi'] = 3
       
   107             d['jkl'] = 4
       
   108             d['mno'] = 5
       
   109             d['pqr'] = 6
       
   110 
       
   111             d['abc']
       
   112             d['def']
       
   113             d['ghi']
       
   114             d['jkl']
       
   115             d['mno']
       
   116             d['pqr']
       
   117 
       
   118             d['abc'] = 1
       
   119             d['def'] = 2
       
   120             d['ghi'] = 3
       
   121             d['jkl'] = 4
       
   122             d['mno'] = 5
       
   123             d['pqr'] = 6
       
   124 
       
   125             d['abc']
       
   126             d['def']
       
   127             d['ghi']
       
   128             d['jkl']
       
   129             d['mno']
       
   130             d['pqr']
       
   131 
       
   132             d['abc'] = 1
       
   133             d['def'] = 2
       
   134             d['ghi'] = 3
       
   135             d['jkl'] = 4
       
   136             d['mno'] = 5
       
   137             d['pqr'] = 6
       
   138 
       
   139             d['abc']
       
   140             d['def']
       
   141             d['ghi']
       
   142             d['jkl']
       
   143             d['mno']
       
   144             d['pqr']
       
   145 
       
   146             d['abc'] = 1
       
   147             d['def'] = 2
       
   148             d['ghi'] = 3
       
   149             d['jkl'] = 4
       
   150             d['mno'] = 5
       
   151             d['pqr'] = 6
       
   152 
       
   153             d['abc']
       
   154             d['def']
       
   155             d['ghi']
       
   156             d['jkl']
       
   157             d['mno']
       
   158             d['pqr']
       
   159 
       
   160     def calibrate(self):
       
   161 
       
   162         d = {}
       
   163 
       
   164         for i in xrange(self.rounds):
       
   165             pass
       
   166 
       
   167 class DictWithFloatKeys(Test):
       
   168 
       
   169     version = 2.0
       
   170     operations = 5*(6 + 6)
       
   171     rounds = 150000
       
   172 
       
   173     def test(self):
       
   174 
       
   175         d = {}
       
   176 
       
   177         for i in xrange(self.rounds):
       
   178 
       
   179             d[1.234] = 1
       
   180             d[2.345] = 2
       
   181             d[3.456] = 3
       
   182             d[4.567] = 4
       
   183             d[5.678] = 5
       
   184             d[6.789] = 6
       
   185 
       
   186             d[1.234]
       
   187             d[2.345]
       
   188             d[3.456]
       
   189             d[4.567]
       
   190             d[5.678]
       
   191             d[6.789]
       
   192 
       
   193             d[1.234] = 1
       
   194             d[2.345] = 2
       
   195             d[3.456] = 3
       
   196             d[4.567] = 4
       
   197             d[5.678] = 5
       
   198             d[6.789] = 6
       
   199 
       
   200             d[1.234]
       
   201             d[2.345]
       
   202             d[3.456]
       
   203             d[4.567]
       
   204             d[5.678]
       
   205             d[6.789]
       
   206 
       
   207             d[1.234] = 1
       
   208             d[2.345] = 2
       
   209             d[3.456] = 3
       
   210             d[4.567] = 4
       
   211             d[5.678] = 5
       
   212             d[6.789] = 6
       
   213 
       
   214             d[1.234]
       
   215             d[2.345]
       
   216             d[3.456]
       
   217             d[4.567]
       
   218             d[5.678]
       
   219             d[6.789]
       
   220 
       
   221             d[1.234] = 1
       
   222             d[2.345] = 2
       
   223             d[3.456] = 3
       
   224             d[4.567] = 4
       
   225             d[5.678] = 5
       
   226             d[6.789] = 6
       
   227 
       
   228             d[1.234]
       
   229             d[2.345]
       
   230             d[3.456]
       
   231             d[4.567]
       
   232             d[5.678]
       
   233             d[6.789]
       
   234 
       
   235             d[1.234] = 1
       
   236             d[2.345] = 2
       
   237             d[3.456] = 3
       
   238             d[4.567] = 4
       
   239             d[5.678] = 5
       
   240             d[6.789] = 6
       
   241 
       
   242             d[1.234]
       
   243             d[2.345]
       
   244             d[3.456]
       
   245             d[4.567]
       
   246             d[5.678]
       
   247             d[6.789]
       
   248 
       
   249     def calibrate(self):
       
   250 
       
   251         d = {}
       
   252 
       
   253         for i in xrange(self.rounds):
       
   254             pass
       
   255 
       
   256 class DictWithIntegerKeys(Test):
       
   257 
       
   258     version = 2.0
       
   259     operations = 5*(6 + 6)
       
   260     rounds = 200000
       
   261 
       
   262     def test(self):
       
   263 
       
   264         d = {}
       
   265 
       
   266         for i in xrange(self.rounds):
       
   267 
       
   268             d[1] = 1
       
   269             d[2] = 2
       
   270             d[3] = 3
       
   271             d[4] = 4
       
   272             d[5] = 5
       
   273             d[6] = 6
       
   274 
       
   275             d[1]
       
   276             d[2]
       
   277             d[3]
       
   278             d[4]
       
   279             d[5]
       
   280             d[6]
       
   281 
       
   282             d[1] = 1
       
   283             d[2] = 2
       
   284             d[3] = 3
       
   285             d[4] = 4
       
   286             d[5] = 5
       
   287             d[6] = 6
       
   288 
       
   289             d[1]
       
   290             d[2]
       
   291             d[3]
       
   292             d[4]
       
   293             d[5]
       
   294             d[6]
       
   295 
       
   296             d[1] = 1
       
   297             d[2] = 2
       
   298             d[3] = 3
       
   299             d[4] = 4
       
   300             d[5] = 5
       
   301             d[6] = 6
       
   302 
       
   303             d[1]
       
   304             d[2]
       
   305             d[3]
       
   306             d[4]
       
   307             d[5]
       
   308             d[6]
       
   309 
       
   310             d[1] = 1
       
   311             d[2] = 2
       
   312             d[3] = 3
       
   313             d[4] = 4
       
   314             d[5] = 5
       
   315             d[6] = 6
       
   316 
       
   317             d[1]
       
   318             d[2]
       
   319             d[3]
       
   320             d[4]
       
   321             d[5]
       
   322             d[6]
       
   323 
       
   324             d[1] = 1
       
   325             d[2] = 2
       
   326             d[3] = 3
       
   327             d[4] = 4
       
   328             d[5] = 5
       
   329             d[6] = 6
       
   330 
       
   331             d[1]
       
   332             d[2]
       
   333             d[3]
       
   334             d[4]
       
   335             d[5]
       
   336             d[6]
       
   337 
       
   338     def calibrate(self):
       
   339 
       
   340         d = {}
       
   341 
       
   342         for i in xrange(self.rounds):
       
   343             pass
       
   344 
       
   345 class SimpleDictManipulation(Test):
       
   346 
       
   347     version = 2.0
       
   348     operations = 5*(6 + 6 + 6 + 6)
       
   349     rounds = 100000
       
   350 
       
   351     def test(self):
       
   352 
       
   353         d = {}
       
   354         has_key = d.has_key
       
   355 
       
   356         for i in xrange(self.rounds):
       
   357 
       
   358             d[0] = 3
       
   359             d[1] = 4
       
   360             d[2] = 5
       
   361             d[3] = 3
       
   362             d[4] = 4
       
   363             d[5] = 5
       
   364 
       
   365             x = d[0]
       
   366             x = d[1]
       
   367             x = d[2]
       
   368             x = d[3]
       
   369             x = d[4]
       
   370             x = d[5]
       
   371 
       
   372             has_key(0)
       
   373             has_key(2)
       
   374             has_key(4)
       
   375             has_key(6)
       
   376             has_key(8)
       
   377             has_key(10)
       
   378 
       
   379             del d[0]
       
   380             del d[1]
       
   381             del d[2]
       
   382             del d[3]
       
   383             del d[4]
       
   384             del d[5]
       
   385 
       
   386             d[0] = 3
       
   387             d[1] = 4
       
   388             d[2] = 5
       
   389             d[3] = 3
       
   390             d[4] = 4
       
   391             d[5] = 5
       
   392 
       
   393             x = d[0]
       
   394             x = d[1]
       
   395             x = d[2]
       
   396             x = d[3]
       
   397             x = d[4]
       
   398             x = d[5]
       
   399 
       
   400             has_key(0)
       
   401             has_key(2)
       
   402             has_key(4)
       
   403             has_key(6)
       
   404             has_key(8)
       
   405             has_key(10)
       
   406 
       
   407             del d[0]
       
   408             del d[1]
       
   409             del d[2]
       
   410             del d[3]
       
   411             del d[4]
       
   412             del d[5]
       
   413 
       
   414             d[0] = 3
       
   415             d[1] = 4
       
   416             d[2] = 5
       
   417             d[3] = 3
       
   418             d[4] = 4
       
   419             d[5] = 5
       
   420 
       
   421             x = d[0]
       
   422             x = d[1]
       
   423             x = d[2]
       
   424             x = d[3]
       
   425             x = d[4]
       
   426             x = d[5]
       
   427 
       
   428             has_key(0)
       
   429             has_key(2)
       
   430             has_key(4)
       
   431             has_key(6)
       
   432             has_key(8)
       
   433             has_key(10)
       
   434 
       
   435             del d[0]
       
   436             del d[1]
       
   437             del d[2]
       
   438             del d[3]
       
   439             del d[4]
       
   440             del d[5]
       
   441 
       
   442             d[0] = 3
       
   443             d[1] = 4
       
   444             d[2] = 5
       
   445             d[3] = 3
       
   446             d[4] = 4
       
   447             d[5] = 5
       
   448 
       
   449             x = d[0]
       
   450             x = d[1]
       
   451             x = d[2]
       
   452             x = d[3]
       
   453             x = d[4]
       
   454             x = d[5]
       
   455 
       
   456             has_key(0)
       
   457             has_key(2)
       
   458             has_key(4)
       
   459             has_key(6)
       
   460             has_key(8)
       
   461             has_key(10)
       
   462 
       
   463             del d[0]
       
   464             del d[1]
       
   465             del d[2]
       
   466             del d[3]
       
   467             del d[4]
       
   468             del d[5]
       
   469 
       
   470             d[0] = 3
       
   471             d[1] = 4
       
   472             d[2] = 5
       
   473             d[3] = 3
       
   474             d[4] = 4
       
   475             d[5] = 5
       
   476 
       
   477             x = d[0]
       
   478             x = d[1]
       
   479             x = d[2]
       
   480             x = d[3]
       
   481             x = d[4]
       
   482             x = d[5]
       
   483 
       
   484             has_key(0)
       
   485             has_key(2)
       
   486             has_key(4)
       
   487             has_key(6)
       
   488             has_key(8)
       
   489             has_key(10)
       
   490 
       
   491             del d[0]
       
   492             del d[1]
       
   493             del d[2]
       
   494             del d[3]
       
   495             del d[4]
       
   496             del d[5]
       
   497 
       
   498     def calibrate(self):
       
   499 
       
   500         d = {}
       
   501         has_key = d.has_key
       
   502 
       
   503         for i in xrange(self.rounds):
       
   504             pass