[pypy-svn] r57692 - pypy/dist/pypy/translator/microbench

pedronis at codespeak.net pedronis at codespeak.net
Sat Aug 30 13:19:43 CEST 2008


Author: pedronis
Date: Sat Aug 30 13:19:43 2008
New Revision: 57692

Modified:
   pypy/dist/pypy/translator/microbench/test_bltn.py
   pypy/dist/pypy/translator/microbench/test_dict.py
Log:
- make the tests originally about new-style classes use them again
- introduce when it makes sense old-style versions



Modified: pypy/dist/pypy/translator/microbench/test_bltn.py
==============================================================================
--- pypy/dist/pypy/translator/microbench/test_bltn.py	(original)
+++ pypy/dist/pypy/translator/microbench/test_bltn.py	Sat Aug 30 13:19:43 2008
@@ -21,7 +21,7 @@
         x = fabs(x)
         c += 1
 
-class foo:
+class foo(object):
     pass
 
 class bar(foo):
@@ -55,3 +55,33 @@
         isinstance(b2, (bar, baz))
         isinstance(b2, (bar, baz))
 
+# old-style
+
+class Foo:
+    pass
+
+class Bar(Foo):
+    pass
+
+class Baz(Bar):
+    pass
+
+def test_isinstance1_old_style():
+    f = Foo()
+    b1 = Bar()
+    b2 = Baz()
+    for x in xrange(100000):
+        isinstance(b1, Foo)
+        isinstance(b1, Baz)
+        isinstance(f, Bar)
+        isinstance(b2, Foo)
+
+def test_isinstance3_old_style():
+    b2 = Baz()
+    for x in xrange(100000):
+        isinstance(b2, (Bar, Baz))
+        isinstance(b2, (Bar, Baz))
+        isinstance(b2, (Bar, Baz))
+        isinstance(b2, (Bar, Baz))
+        isinstance(b2, (Bar, Baz))
+

Modified: pypy/dist/pypy/translator/microbench/test_dict.py
==============================================================================
--- pypy/dist/pypy/translator/microbench/test_dict.py	(original)
+++ pypy/dist/pypy/translator/microbench/test_dict.py	Sat Aug 30 13:19:43 2008
@@ -49,7 +49,9 @@
     for x in range(iterations):
         pass
 
-class A:
+# class and attrs
+
+class NewStyle(object):
     def __init__(self):
         self.a = 3
         self.b = 4
@@ -60,7 +62,7 @@
 
 
 def test_dict_class_dict_getmethod():
-    a = A()
+    a = NewStyle()
     for x in range(iterations):
         a.f 
         a.f 
@@ -68,7 +70,7 @@
         a.f 
         
 def test_dict_instance_getattr_instance_dict():
-    a = A()
+    a = NewStyle()
     for x in range(iterations):
         a.a 
         a.b 
@@ -76,7 +78,7 @@
         a.b 
 
 def test_dict_instance_setattr_instance_dict():
-    a = A()
+    a = NewStyle()
     for x in range(iterations):
         a.a = 3
         a.b = 4
@@ -84,7 +86,51 @@
         a.b = 4
 
 def test_dict_instance_setnewattr_instance_dict():
-    a = A()
+    a = NewStyle()
+    for x in range(iterations):
+        a.c = 3
+        a.d = 4
+        a.e = 5
+        a.f = 6
+
+# old-style
+
+class OldStyle:
+    def __init__(self):
+        self.a = 3
+        self.b = 4
+    def f(self):
+        pass
+    def g(self):
+        pass
+
+
+def test_dict_class_dict_getmethod_old_style():
+    a = OldStyle()
+    for x in range(iterations):
+        a.f 
+        a.f 
+        a.f 
+        a.f 
+        
+def test_dict_instance_getattr_instance_dict_old_style():
+    a = OldStyle()
+    for x in range(iterations):
+        a.a 
+        a.b 
+        a.a 
+        a.b 
+
+def test_dict_instance_setattr_instance_dict_old_style():
+    a = OldStyle()
+    for x in range(iterations):
+        a.a = 3
+        a.b = 4
+        a.a = 3
+        a.b = 4
+
+def test_dict_instance_setnewattr_instance_dict_old_style():
+    a = OldStyle()
     for x in range(iterations):
         a.c = 3
         a.d = 4



More information about the Pypy-commit mailing list