summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAngus Gratton <angus@redyak.com.au>2023-09-20 18:11:51 +1000
committerDamien George <damien@micropython.org>2023-09-29 15:41:28 +1000
commitdd8a69b5f2996800bcd193dbfdc2e3bf0fb52d65 (patch)
tree9c8c26e58009b384488cce5917574d42a74209f5
parent3c2b2f7a4d790c66dbe723c5ed59ec18472baa6f (diff)
tests/README: Document ./run-internalbench.py.
Signed-off-by: Angus Gratton <angus@redyak.com.au>
-rw-r--r--tests/README.md27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/README.md b/tests/README.md
index b0bff4872..c89930d0c 100644
--- a/tests/README.md
+++ b/tests/README.md
@@ -147,3 +147,30 @@ the test runs, and the absolute difference value is unreliable. High error
percentages are particularly common on PC builds, where the host OS may
influence test run times. Increasing the `N` value may help average this out by
running each test longer.
+
+## internal_bench
+
+The `internal_bench` directory contains a set of tests for benchmarking
+different internal Python features. By default, tests are run on the (unix or
+Windows) host, but the `--pyboard` option allows them to be run on an attached
+board instead.
+
+Tests are grouped by the first part of the file name, and the test runner compares
+output between each group of tests.
+
+The benchmarks measure the elapsed (wall time) for each test, according
+to MicroPython's own time module.
+
+If run without any arguments, all test groups are run. Otherwise, it's possible
+to manually specify which test cases to run.
+
+Example:
+
+```
+$ ./run-internalbench.py internal_bench/bytebuf-*.py
+internal_bench/bytebuf:
+ 0.094s (+00.00%) internal_bench/bytebuf-1-inplace.py
+ 0.471s (+399.24%) internal_bench/bytebuf-2-join_map_bytes.py
+ 0.177s (+87.78%) internal_bench/bytebuf-3-bytarray_map.py
+1 tests performed (3 individual testcases)
+```