summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/perf_bench/viper_call0.py19
-rw-r--r--tests/perf_bench/viper_call1a.py19
-rw-r--r--tests/perf_bench/viper_call1b.py19
-rw-r--r--tests/perf_bench/viper_call1c.py19
-rw-r--r--tests/perf_bench/viper_call2a.py19
-rw-r--r--tests/perf_bench/viper_call2b.py19
6 files changed, 114 insertions, 0 deletions
diff --git a/tests/perf_bench/viper_call0.py b/tests/perf_bench/viper_call0.py
new file mode 100644
index 000000000..0f476b127
--- /dev/null
+++ b/tests/perf_bench/viper_call0.py
@@ -0,0 +1,19 @@
+@micropython.viper
+def f0():
+ pass
+
+@micropython.native
+def call(r):
+ f = f0
+ for _ in r:
+ f()
+
+bm_params = {
+ (50, 10): (15000,),
+ (100, 10): (30000,),
+ (1000, 10): (300000,),
+ (5000, 10): (1500000,),
+}
+
+def bm_setup(params):
+ return lambda: call(range(params[0])), lambda: (params[0] // 1000, None)
diff --git a/tests/perf_bench/viper_call1a.py b/tests/perf_bench/viper_call1a.py
new file mode 100644
index 000000000..2bb4a28fd
--- /dev/null
+++ b/tests/perf_bench/viper_call1a.py
@@ -0,0 +1,19 @@
+@micropython.viper
+def f1a(x):
+ return x
+
+@micropython.native
+def call(r):
+ f = f1a
+ for _ in r:
+ f(1)
+
+bm_params = {
+ (50, 10): (15000,),
+ (100, 10): (30000,),
+ (1000, 10): (300000,),
+ (5000, 10): (1500000,),
+}
+
+def bm_setup(params):
+ return lambda: call(range(params[0])), lambda: (params[0] // 1000, None)
diff --git a/tests/perf_bench/viper_call1b.py b/tests/perf_bench/viper_call1b.py
new file mode 100644
index 000000000..cda64007f
--- /dev/null
+++ b/tests/perf_bench/viper_call1b.py
@@ -0,0 +1,19 @@
+@micropython.viper
+def f1b(x) -> int:
+ return int(x)
+
+@micropython.native
+def call(r):
+ f = f1b
+ for _ in r:
+ f(1)
+
+bm_params = {
+ (50, 10): (15000,),
+ (100, 10): (30000,),
+ (1000, 10): (300000,),
+ (5000, 10): (1500000,),
+}
+
+def bm_setup(params):
+ return lambda: call(range(params[0])), lambda: (params[0] // 1000, None)
diff --git a/tests/perf_bench/viper_call1c.py b/tests/perf_bench/viper_call1c.py
new file mode 100644
index 000000000..c653eb8d3
--- /dev/null
+++ b/tests/perf_bench/viper_call1c.py
@@ -0,0 +1,19 @@
+@micropython.viper
+def f1c(x:int) -> int:
+ return x
+
+@micropython.native
+def call(r):
+ f = f1c
+ for _ in r:
+ f(1)
+
+bm_params = {
+ (50, 10): (15000,),
+ (100, 10): (30000,),
+ (1000, 10): (300000,),
+ (5000, 10): (1500000,),
+}
+
+def bm_setup(params):
+ return lambda: call(range(params[0])), lambda: (params[0] // 1000, None)
diff --git a/tests/perf_bench/viper_call2a.py b/tests/perf_bench/viper_call2a.py
new file mode 100644
index 000000000..6204f985f
--- /dev/null
+++ b/tests/perf_bench/viper_call2a.py
@@ -0,0 +1,19 @@
+@micropython.viper
+def f2a(x, y):
+ return x
+
+@micropython.native
+def call(r):
+ f = f2a
+ for _ in r:
+ f(1, 2)
+
+bm_params = {
+ (50, 10): (15000,),
+ (100, 10): (30000,),
+ (1000, 10): (300000,),
+ (5000, 10): (1500000,),
+}
+
+def bm_setup(params):
+ return lambda: call(range(params[0])), lambda: (params[0] // 1000, None)
diff --git a/tests/perf_bench/viper_call2b.py b/tests/perf_bench/viper_call2b.py
new file mode 100644
index 000000000..087cf8ab0
--- /dev/null
+++ b/tests/perf_bench/viper_call2b.py
@@ -0,0 +1,19 @@
+@micropython.viper
+def f2b(x:int, y:int) -> int:
+ return x + y
+
+@micropython.native
+def call(r):
+ f = f2b
+ for _ in r:
+ f(1, 2)
+
+bm_params = {
+ (50, 10): (15000,),
+ (100, 10): (30000,),
+ (1000, 10): (300000,),
+ (5000, 10): (1500000,),
+}
+
+def bm_setup(params):
+ return lambda: call(range(params[0])), lambda: (params[0] // 1000, None)