+++ /dev/null
-from pybench import Test\r
-\r
-class DictCreation(Test):\r
-\r
- version = 2.0\r
- operations = 5*(5 + 5)\r
- rounds = 80000\r
-\r
- def test(self):\r
-\r
- for i in xrange(self.rounds):\r
-\r
- d1 = {}\r
- d2 = {}\r
- d3 = {}\r
- d4 = {}\r
- d5 = {}\r
-\r
- d1 = {1:2,3:4,5:6}\r
- d2 = {2:3,4:5,6:7}\r
- d3 = {3:4,5:6,7:8}\r
- d4 = {4:5,6:7,8:9}\r
- d5 = {6:7,8:9,10:11}\r
-\r
- d1 = {}\r
- d2 = {}\r
- d3 = {}\r
- d4 = {}\r
- d5 = {}\r
-\r
- d1 = {1:2,3:4,5:6}\r
- d2 = {2:3,4:5,6:7}\r
- d3 = {3:4,5:6,7:8}\r
- d4 = {4:5,6:7,8:9}\r
- d5 = {6:7,8:9,10:11}\r
-\r
- d1 = {}\r
- d2 = {}\r
- d3 = {}\r
- d4 = {}\r
- d5 = {}\r
-\r
- d1 = {1:2,3:4,5:6}\r
- d2 = {2:3,4:5,6:7}\r
- d3 = {3:4,5:6,7:8}\r
- d4 = {4:5,6:7,8:9}\r
- d5 = {6:7,8:9,10:11}\r
-\r
- d1 = {}\r
- d2 = {}\r
- d3 = {}\r
- d4 = {}\r
- d5 = {}\r
-\r
- d1 = {1:2,3:4,5:6}\r
- d2 = {2:3,4:5,6:7}\r
- d3 = {3:4,5:6,7:8}\r
- d4 = {4:5,6:7,8:9}\r
- d5 = {6:7,8:9,10:11}\r
-\r
- d1 = {}\r
- d2 = {}\r
- d3 = {}\r
- d4 = {}\r
- d5 = {}\r
-\r
- d1 = {1:2,3:4,5:6}\r
- d2 = {2:3,4:5,6:7}\r
- d3 = {3:4,5:6,7:8}\r
- d4 = {4:5,6:7,8:9}\r
- d5 = {6:7,8:9,10:11}\r
-\r
- def calibrate(self):\r
-\r
- for i in xrange(self.rounds):\r
- pass\r
-\r
-class DictWithStringKeys(Test):\r
-\r
- version = 2.0\r
- operations = 5*(6 + 6)\r
- rounds = 200000\r
-\r
- def test(self):\r
-\r
- d = {}\r
-\r
- for i in xrange(self.rounds):\r
-\r
- d['abc'] = 1\r
- d['def'] = 2\r
- d['ghi'] = 3\r
- d['jkl'] = 4\r
- d['mno'] = 5\r
- d['pqr'] = 6\r
-\r
- d['abc']\r
- d['def']\r
- d['ghi']\r
- d['jkl']\r
- d['mno']\r
- d['pqr']\r
-\r
- d['abc'] = 1\r
- d['def'] = 2\r
- d['ghi'] = 3\r
- d['jkl'] = 4\r
- d['mno'] = 5\r
- d['pqr'] = 6\r
-\r
- d['abc']\r
- d['def']\r
- d['ghi']\r
- d['jkl']\r
- d['mno']\r
- d['pqr']\r
-\r
- d['abc'] = 1\r
- d['def'] = 2\r
- d['ghi'] = 3\r
- d['jkl'] = 4\r
- d['mno'] = 5\r
- d['pqr'] = 6\r
-\r
- d['abc']\r
- d['def']\r
- d['ghi']\r
- d['jkl']\r
- d['mno']\r
- d['pqr']\r
-\r
- d['abc'] = 1\r
- d['def'] = 2\r
- d['ghi'] = 3\r
- d['jkl'] = 4\r
- d['mno'] = 5\r
- d['pqr'] = 6\r
-\r
- d['abc']\r
- d['def']\r
- d['ghi']\r
- d['jkl']\r
- d['mno']\r
- d['pqr']\r
-\r
- d['abc'] = 1\r
- d['def'] = 2\r
- d['ghi'] = 3\r
- d['jkl'] = 4\r
- d['mno'] = 5\r
- d['pqr'] = 6\r
-\r
- d['abc']\r
- d['def']\r
- d['ghi']\r
- d['jkl']\r
- d['mno']\r
- d['pqr']\r
-\r
- def calibrate(self):\r
-\r
- d = {}\r
-\r
- for i in xrange(self.rounds):\r
- pass\r
-\r
-class DictWithFloatKeys(Test):\r
-\r
- version = 2.0\r
- operations = 5*(6 + 6)\r
- rounds = 150000\r
-\r
- def test(self):\r
-\r
- d = {}\r
-\r
- for i in xrange(self.rounds):\r
-\r
- d[1.234] = 1\r
- d[2.345] = 2\r
- d[3.456] = 3\r
- d[4.567] = 4\r
- d[5.678] = 5\r
- d[6.789] = 6\r
-\r
- d[1.234]\r
- d[2.345]\r
- d[3.456]\r
- d[4.567]\r
- d[5.678]\r
- d[6.789]\r
-\r
- d[1.234] = 1\r
- d[2.345] = 2\r
- d[3.456] = 3\r
- d[4.567] = 4\r
- d[5.678] = 5\r
- d[6.789] = 6\r
-\r
- d[1.234]\r
- d[2.345]\r
- d[3.456]\r
- d[4.567]\r
- d[5.678]\r
- d[6.789]\r
-\r
- d[1.234] = 1\r
- d[2.345] = 2\r
- d[3.456] = 3\r
- d[4.567] = 4\r
- d[5.678] = 5\r
- d[6.789] = 6\r
-\r
- d[1.234]\r
- d[2.345]\r
- d[3.456]\r
- d[4.567]\r
- d[5.678]\r
- d[6.789]\r
-\r
- d[1.234] = 1\r
- d[2.345] = 2\r
- d[3.456] = 3\r
- d[4.567] = 4\r
- d[5.678] = 5\r
- d[6.789] = 6\r
-\r
- d[1.234]\r
- d[2.345]\r
- d[3.456]\r
- d[4.567]\r
- d[5.678]\r
- d[6.789]\r
-\r
- d[1.234] = 1\r
- d[2.345] = 2\r
- d[3.456] = 3\r
- d[4.567] = 4\r
- d[5.678] = 5\r
- d[6.789] = 6\r
-\r
- d[1.234]\r
- d[2.345]\r
- d[3.456]\r
- d[4.567]\r
- d[5.678]\r
- d[6.789]\r
-\r
- def calibrate(self):\r
-\r
- d = {}\r
-\r
- for i in xrange(self.rounds):\r
- pass\r
-\r
-class DictWithIntegerKeys(Test):\r
-\r
- version = 2.0\r
- operations = 5*(6 + 6)\r
- rounds = 200000\r
-\r
- def test(self):\r
-\r
- d = {}\r
-\r
- for i in xrange(self.rounds):\r
-\r
- d[1] = 1\r
- d[2] = 2\r
- d[3] = 3\r
- d[4] = 4\r
- d[5] = 5\r
- d[6] = 6\r
-\r
- d[1]\r
- d[2]\r
- d[3]\r
- d[4]\r
- d[5]\r
- d[6]\r
-\r
- d[1] = 1\r
- d[2] = 2\r
- d[3] = 3\r
- d[4] = 4\r
- d[5] = 5\r
- d[6] = 6\r
-\r
- d[1]\r
- d[2]\r
- d[3]\r
- d[4]\r
- d[5]\r
- d[6]\r
-\r
- d[1] = 1\r
- d[2] = 2\r
- d[3] = 3\r
- d[4] = 4\r
- d[5] = 5\r
- d[6] = 6\r
-\r
- d[1]\r
- d[2]\r
- d[3]\r
- d[4]\r
- d[5]\r
- d[6]\r
-\r
- d[1] = 1\r
- d[2] = 2\r
- d[3] = 3\r
- d[4] = 4\r
- d[5] = 5\r
- d[6] = 6\r
-\r
- d[1]\r
- d[2]\r
- d[3]\r
- d[4]\r
- d[5]\r
- d[6]\r
-\r
- d[1] = 1\r
- d[2] = 2\r
- d[3] = 3\r
- d[4] = 4\r
- d[5] = 5\r
- d[6] = 6\r
-\r
- d[1]\r
- d[2]\r
- d[3]\r
- d[4]\r
- d[5]\r
- d[6]\r
-\r
- def calibrate(self):\r
-\r
- d = {}\r
-\r
- for i in xrange(self.rounds):\r
- pass\r
-\r
-class SimpleDictManipulation(Test):\r
-\r
- version = 2.0\r
- operations = 5*(6 + 6 + 6 + 6)\r
- rounds = 100000\r
-\r
- def test(self):\r
-\r
- d = {}\r
- has_key = d.has_key\r
-\r
- for i in xrange(self.rounds):\r
-\r
- d[0] = 3\r
- d[1] = 4\r
- d[2] = 5\r
- d[3] = 3\r
- d[4] = 4\r
- d[5] = 5\r
-\r
- x = d[0]\r
- x = d[1]\r
- x = d[2]\r
- x = d[3]\r
- x = d[4]\r
- x = d[5]\r
-\r
- has_key(0)\r
- has_key(2)\r
- has_key(4)\r
- has_key(6)\r
- has_key(8)\r
- has_key(10)\r
-\r
- del d[0]\r
- del d[1]\r
- del d[2]\r
- del d[3]\r
- del d[4]\r
- del d[5]\r
-\r
- d[0] = 3\r
- d[1] = 4\r
- d[2] = 5\r
- d[3] = 3\r
- d[4] = 4\r
- d[5] = 5\r
-\r
- x = d[0]\r
- x = d[1]\r
- x = d[2]\r
- x = d[3]\r
- x = d[4]\r
- x = d[5]\r
-\r
- has_key(0)\r
- has_key(2)\r
- has_key(4)\r
- has_key(6)\r
- has_key(8)\r
- has_key(10)\r
-\r
- del d[0]\r
- del d[1]\r
- del d[2]\r
- del d[3]\r
- del d[4]\r
- del d[5]\r
-\r
- d[0] = 3\r
- d[1] = 4\r
- d[2] = 5\r
- d[3] = 3\r
- d[4] = 4\r
- d[5] = 5\r
-\r
- x = d[0]\r
- x = d[1]\r
- x = d[2]\r
- x = d[3]\r
- x = d[4]\r
- x = d[5]\r
-\r
- has_key(0)\r
- has_key(2)\r
- has_key(4)\r
- has_key(6)\r
- has_key(8)\r
- has_key(10)\r
-\r
- del d[0]\r
- del d[1]\r
- del d[2]\r
- del d[3]\r
- del d[4]\r
- del d[5]\r
-\r
- d[0] = 3\r
- d[1] = 4\r
- d[2] = 5\r
- d[3] = 3\r
- d[4] = 4\r
- d[5] = 5\r
-\r
- x = d[0]\r
- x = d[1]\r
- x = d[2]\r
- x = d[3]\r
- x = d[4]\r
- x = d[5]\r
-\r
- has_key(0)\r
- has_key(2)\r
- has_key(4)\r
- has_key(6)\r
- has_key(8)\r
- has_key(10)\r
-\r
- del d[0]\r
- del d[1]\r
- del d[2]\r
- del d[3]\r
- del d[4]\r
- del d[5]\r
-\r
- d[0] = 3\r
- d[1] = 4\r
- d[2] = 5\r
- d[3] = 3\r
- d[4] = 4\r
- d[5] = 5\r
-\r
- x = d[0]\r
- x = d[1]\r
- x = d[2]\r
- x = d[3]\r
- x = d[4]\r
- x = d[5]\r
-\r
- has_key(0)\r
- has_key(2)\r
- has_key(4)\r
- has_key(6)\r
- has_key(8)\r
- has_key(10)\r
-\r
- del d[0]\r
- del d[1]\r
- del d[2]\r
- del d[3]\r
- del d[4]\r
- del d[5]\r
-\r
- def calibrate(self):\r
-\r
- d = {}\r
- has_key = d.has_key\r
-\r
- for i in xrange(self.rounds):\r
- pass\r