symbian-qemu-0.9.1-12/python-2.6.1/Tools/pybench/Lists.py
changeset 1 2fb8b9db1c86
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian-qemu-0.9.1-12/python-2.6.1/Tools/pybench/Lists.py	Fri Jul 31 15:01:17 2009 +0100
@@ -0,0 +1,295 @@
+from pybench import Test
+
+class SimpleListManipulation(Test):
+
+    version = 2.0
+    operations = 5* (6 + 6 + 6)
+    rounds = 130000
+
+    def test(self):
+
+        l = []
+        append = l.append
+
+        for i in xrange(self.rounds):
+
+            append(2)
+            append(3)
+            append(4)
+            append(2)
+            append(3)
+            append(4)
+
+            l[0] = 3
+            l[1] = 4
+            l[2] = 5
+            l[3] = 3
+            l[4] = 4
+            l[5] = 5
+
+            x = l[0]
+            x = l[1]
+            x = l[2]
+            x = l[3]
+            x = l[4]
+            x = l[5]
+
+            append(2)
+            append(3)
+            append(4)
+            append(2)
+            append(3)
+            append(4)
+
+            l[0] = 3
+            l[1] = 4
+            l[2] = 5
+            l[3] = 3
+            l[4] = 4
+            l[5] = 5
+
+            x = l[0]
+            x = l[1]
+            x = l[2]
+            x = l[3]
+            x = l[4]
+            x = l[5]
+
+            append(2)
+            append(3)
+            append(4)
+            append(2)
+            append(3)
+            append(4)
+
+            l[0] = 3
+            l[1] = 4
+            l[2] = 5
+            l[3] = 3
+            l[4] = 4
+            l[5] = 5
+
+            x = l[0]
+            x = l[1]
+            x = l[2]
+            x = l[3]
+            x = l[4]
+            x = l[5]
+
+            append(2)
+            append(3)
+            append(4)
+            append(2)
+            append(3)
+            append(4)
+
+            l[0] = 3
+            l[1] = 4
+            l[2] = 5
+            l[3] = 3
+            l[4] = 4
+            l[5] = 5
+
+            x = l[0]
+            x = l[1]
+            x = l[2]
+            x = l[3]
+            x = l[4]
+            x = l[5]
+
+            append(2)
+            append(3)
+            append(4)
+            append(2)
+            append(3)
+            append(4)
+
+            l[0] = 3
+            l[1] = 4
+            l[2] = 5
+            l[3] = 3
+            l[4] = 4
+            l[5] = 5
+
+            x = l[0]
+            x = l[1]
+            x = l[2]
+            x = l[3]
+            x = l[4]
+            x = l[5]
+
+            if len(l) > 10000:
+                # cut down the size
+                del l[:]
+
+    def calibrate(self):
+
+        l = []
+        append = l.append
+
+        for i in xrange(self.rounds):
+            pass
+
+class ListSlicing(Test):
+
+    version = 2.0
+    operations = 25*(3+1+2+1)
+    rounds = 800
+
+    def test(self):
+
+        n = range(100)
+        r = range(25)
+
+        for i in xrange(self.rounds):
+
+            l = n[:]
+
+            for j in r:
+
+                m = l[50:]
+                m = l[:25]
+                m = l[50:55]
+                l[:3] = n
+                m = l[:-1]
+                m = l[1:]
+                l[-1:] = n
+
+    def calibrate(self):
+
+        n = range(100)
+        r = range(25)
+
+        for i in xrange(self.rounds):
+            for j in r:
+                pass
+
+class SmallLists(Test):
+
+    version = 2.0
+    operations = 5*(1+ 6 + 6 + 3 + 1)
+    rounds = 80000
+
+    def test(self):
+
+        for i in xrange(self.rounds):
+
+            l = []
+
+            append = l.append
+            append(2)
+            append(3)
+            append(4)
+            append(2)
+            append(3)
+            append(4)
+
+            l[0] = 3
+            l[1] = 4
+            l[2] = 5
+            l[3] = 3
+            l[4] = 4
+            l[5] = 5
+
+            l[:3] = [1,2,3]
+            m = l[:-1]
+            m = l[1:]
+
+            l[-1:] = [4,5,6]
+
+            l = []
+
+            append = l.append
+            append(2)
+            append(3)
+            append(4)
+            append(2)
+            append(3)
+            append(4)
+
+            l[0] = 3
+            l[1] = 4
+            l[2] = 5
+            l[3] = 3
+            l[4] = 4
+            l[5] = 5
+
+            l[:3] = [1,2,3]
+            m = l[:-1]
+            m = l[1:]
+
+            l[-1:] = [4,5,6]
+
+            l = []
+
+            append = l.append
+            append(2)
+            append(3)
+            append(4)
+            append(2)
+            append(3)
+            append(4)
+
+            l[0] = 3
+            l[1] = 4
+            l[2] = 5
+            l[3] = 3
+            l[4] = 4
+            l[5] = 5
+
+            l[:3] = [1,2,3]
+            m = l[:-1]
+            m = l[1:]
+
+            l[-1:] = [4,5,6]
+
+            l = []
+
+            append = l.append
+            append(2)
+            append(3)
+            append(4)
+            append(2)
+            append(3)
+            append(4)
+
+            l[0] = 3
+            l[1] = 4
+            l[2] = 5
+            l[3] = 3
+            l[4] = 4
+            l[5] = 5
+
+            l[:3] = [1,2,3]
+            m = l[:-1]
+            m = l[1:]
+
+            l[-1:] = [4,5,6]
+
+            l = []
+
+            append = l.append
+            append(2)
+            append(3)
+            append(4)
+            append(2)
+            append(3)
+            append(4)
+
+            l[0] = 3
+            l[1] = 4
+            l[2] = 5
+            l[3] = 3
+            l[4] = 4
+            l[5] = 5
+
+            l[:3] = [1,2,3]
+            m = l[:-1]
+            m = l[1:]
+
+            l[-1:] = [4,5,6]
+
+    def calibrate(self):
+
+        for i in xrange(self.rounds):
+            pass