summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/internal_bench/class_create-0-empty.py11
-rw-r--r--tests/internal_bench/class_create-1-slots.py12
-rw-r--r--tests/internal_bench/class_create-1.1-slots5.py12
-rw-r--r--tests/internal_bench/class_create-2-classattr.py11
-rw-r--r--tests/internal_bench/class_create-2.1-classattr5.py15
-rw-r--r--tests/internal_bench/class_create-2.3-classattr5objs.py20
-rw-r--r--tests/internal_bench/class_create-3-instancemethod.py12
-rw-r--r--tests/internal_bench/class_create-4-classmethod.py13
-rw-r--r--tests/internal_bench/class_create-4.1-classmethod_implicit.py12
-rw-r--r--tests/internal_bench/class_create-5-staticmethod.py13
-rw-r--r--tests/internal_bench/class_create-6-getattribute.py12
-rw-r--r--tests/internal_bench/class_create-6.1-getattr.py12
-rw-r--r--tests/internal_bench/class_create-6.2-property.py13
-rw-r--r--tests/internal_bench/class_create-6.3-descriptor.py17
-rw-r--r--tests/internal_bench/class_create-7-inherit.py14
-rw-r--r--tests/internal_bench/class_create-7.1-inherit_initsubclass.py16
-rw-r--r--tests/internal_bench/class_create-8-metaclass_setname.py17
-rw-r--r--tests/internal_bench/class_create-8.1-metaclass_setname5.py21
18 files changed, 253 insertions, 0 deletions
diff --git a/tests/internal_bench/class_create-0-empty.py b/tests/internal_bench/class_create-0-empty.py
new file mode 100644
index 000000000..1fd8ccd92
--- /dev/null
+++ b/tests/internal_bench/class_create-0-empty.py
@@ -0,0 +1,11 @@
+import bench
+
+
+def test(num):
+ for i in range(num // 40):
+
+ class X:
+ pass
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-1-slots.py b/tests/internal_bench/class_create-1-slots.py
new file mode 100644
index 000000000..9b3e4b957
--- /dev/null
+++ b/tests/internal_bench/class_create-1-slots.py
@@ -0,0 +1,12 @@
+import bench
+
+
+def test(num):
+ l = ["x"]
+ for i in range(num // 40):
+
+ class X:
+ __slots__ = l
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-1.1-slots5.py b/tests/internal_bench/class_create-1.1-slots5.py
new file mode 100644
index 000000000..ccac77dec
--- /dev/null
+++ b/tests/internal_bench/class_create-1.1-slots5.py
@@ -0,0 +1,12 @@
+import bench
+
+
+def test(num):
+ l = ["a", "b", "c", "d", "x"]
+ for i in range(num // 40):
+
+ class X:
+ __slots__ = l
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-2-classattr.py b/tests/internal_bench/class_create-2-classattr.py
new file mode 100644
index 000000000..049a7dab1
--- /dev/null
+++ b/tests/internal_bench/class_create-2-classattr.py
@@ -0,0 +1,11 @@
+import bench
+
+
+def test(num):
+ for i in range(num // 40):
+
+ class X:
+ x = 1
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-2.1-classattr5.py b/tests/internal_bench/class_create-2.1-classattr5.py
new file mode 100644
index 000000000..5051e7dcc
--- /dev/null
+++ b/tests/internal_bench/class_create-2.1-classattr5.py
@@ -0,0 +1,15 @@
+import bench
+
+
+def test(num):
+ for i in range(num // 40):
+
+ class X:
+ a = 0
+ b = 0
+ c = 0
+ d = 0
+ x = 1
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-2.3-classattr5objs.py b/tests/internal_bench/class_create-2.3-classattr5objs.py
new file mode 100644
index 000000000..74540865d
--- /dev/null
+++ b/tests/internal_bench/class_create-2.3-classattr5objs.py
@@ -0,0 +1,20 @@
+import bench
+
+
+class Class:
+ pass
+
+
+def test(num):
+ instance = Class()
+ for i in range(num // 40):
+
+ class X:
+ a = instance
+ b = instance
+ c = instance
+ d = instance
+ x = instance
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-3-instancemethod.py b/tests/internal_bench/class_create-3-instancemethod.py
new file mode 100644
index 000000000..e8c201cb2
--- /dev/null
+++ b/tests/internal_bench/class_create-3-instancemethod.py
@@ -0,0 +1,12 @@
+import bench
+
+
+def test(num):
+ for i in range(num // 40):
+
+ class X:
+ def x(self):
+ pass
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-4-classmethod.py b/tests/internal_bench/class_create-4-classmethod.py
new file mode 100644
index 000000000..f34962bc6
--- /dev/null
+++ b/tests/internal_bench/class_create-4-classmethod.py
@@ -0,0 +1,13 @@
+import bench
+
+
+def test(num):
+ for i in range(num // 40):
+
+ class X:
+ @classmethod
+ def x(cls):
+ pass
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-4.1-classmethod_implicit.py b/tests/internal_bench/class_create-4.1-classmethod_implicit.py
new file mode 100644
index 000000000..f2d1fcfd1
--- /dev/null
+++ b/tests/internal_bench/class_create-4.1-classmethod_implicit.py
@@ -0,0 +1,12 @@
+import bench
+
+
+def test(num):
+ for i in range(num // 40):
+
+ class X:
+ def __new__(cls):
+ pass
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-5-staticmethod.py b/tests/internal_bench/class_create-5-staticmethod.py
new file mode 100644
index 000000000..063355666
--- /dev/null
+++ b/tests/internal_bench/class_create-5-staticmethod.py
@@ -0,0 +1,13 @@
+import bench
+
+
+def test(num):
+ for i in range(num // 40):
+
+ class X:
+ @staticmethod
+ def x():
+ pass
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-6-getattribute.py b/tests/internal_bench/class_create-6-getattribute.py
new file mode 100644
index 000000000..10a4fe7ce
--- /dev/null
+++ b/tests/internal_bench/class_create-6-getattribute.py
@@ -0,0 +1,12 @@
+import bench
+
+
+def test(num):
+ for i in range(num // 40):
+
+ class X:
+ def __getattribute__(self, name):
+ pass
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-6.1-getattr.py b/tests/internal_bench/class_create-6.1-getattr.py
new file mode 100644
index 000000000..b4b9ba2f5
--- /dev/null
+++ b/tests/internal_bench/class_create-6.1-getattr.py
@@ -0,0 +1,12 @@
+import bench
+
+
+def test(num):
+ for i in range(num // 40):
+
+ class X:
+ def __getattr__(self, name):
+ pass
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-6.2-property.py b/tests/internal_bench/class_create-6.2-property.py
new file mode 100644
index 000000000..cf847b6dc
--- /dev/null
+++ b/tests/internal_bench/class_create-6.2-property.py
@@ -0,0 +1,13 @@
+import bench
+
+
+def test(num):
+ for i in range(num // 40):
+
+ class X:
+ @property
+ def x(self):
+ pass
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-6.3-descriptor.py b/tests/internal_bench/class_create-6.3-descriptor.py
new file mode 100644
index 000000000..7b0a63572
--- /dev/null
+++ b/tests/internal_bench/class_create-6.3-descriptor.py
@@ -0,0 +1,17 @@
+import bench
+
+
+class D:
+ def __get__(self, instance, owner=None):
+ pass
+
+
+def test(num):
+ descriptor = D()
+ for i in range(num // 40):
+
+ class X:
+ x = descriptor
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-7-inherit.py b/tests/internal_bench/class_create-7-inherit.py
new file mode 100644
index 000000000..f48fb215e
--- /dev/null
+++ b/tests/internal_bench/class_create-7-inherit.py
@@ -0,0 +1,14 @@
+import bench
+
+
+def test(num):
+ class B:
+ pass
+
+ for i in range(num // 40):
+
+ class X(B):
+ pass
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-7.1-inherit_initsubclass.py b/tests/internal_bench/class_create-7.1-inherit_initsubclass.py
new file mode 100644
index 000000000..0660fa862
--- /dev/null
+++ b/tests/internal_bench/class_create-7.1-inherit_initsubclass.py
@@ -0,0 +1,16 @@
+import bench
+
+
+def test(num):
+ class B:
+ @classmethod
+ def __init_subclass__(cls):
+ pass
+
+ for i in range(num // 40):
+
+ class X(B):
+ pass
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-8-metaclass_setname.py b/tests/internal_bench/class_create-8-metaclass_setname.py
new file mode 100644
index 000000000..e4515b542
--- /dev/null
+++ b/tests/internal_bench/class_create-8-metaclass_setname.py
@@ -0,0 +1,17 @@
+import bench
+
+
+class D:
+ def __set_name__(self, owner, name):
+ pass
+
+
+def test(num):
+ descriptor = D()
+ for i in range(num // 40):
+
+ class X:
+ x = descriptor
+
+
+bench.run(test)
diff --git a/tests/internal_bench/class_create-8.1-metaclass_setname5.py b/tests/internal_bench/class_create-8.1-metaclass_setname5.py
new file mode 100644
index 000000000..5daa3f847
--- /dev/null
+++ b/tests/internal_bench/class_create-8.1-metaclass_setname5.py
@@ -0,0 +1,21 @@
+import bench
+
+
+class D:
+ def __set_name__(self, owner, name):
+ pass
+
+
+def test(num):
+ descriptor = D()
+ for i in range(num // 40):
+
+ class X:
+ a = descriptor
+ b = descriptor
+ c = descriptor
+ d = descriptor
+ x = descriptor
+
+
+bench.run(test)