Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/elenaf9/ariel-os-benchmarks
Benchmarks for RIOT-rs
https://github.com/elenaf9/ariel-os-benchmarks
Last synced: 5 days ago
JSON representation
Benchmarks for RIOT-rs
- Host: GitHub
- URL: https://github.com/elenaf9/ariel-os-benchmarks
- Owner: elenaf9
- Created: 2024-06-11T13:44:45.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-11-28T11:52:58.000Z (about 1 month ago)
- Last Synced: 2024-11-28T12:32:39.633Z (about 1 month ago)
- Language: Rust
- Homepage:
- Size: 333 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Benchmarks for Ariel OS (formerly known as RIOT-rs)
Benchmarks for the [Ariel](https://github.com/ariel-os/ariel-os) embedded operating system.
The Ariel OS dependency is patched to exact commit revisions based on the set `REV` below (see also [benchmarks/laze.yml](benchmarks/laze.yml)).## Execute individual Benchmarks
Individual benchmarks in the `benchmarks/` folder can be executed with the following command:
```sh
laze build -C benchmarks/ -b [-s ] -s run
```- \ may be any of the supported boards in Ariel OS. However, we only tested the following boards:
- rpi-pico
- espressif-esp32-s3-wroom-1
- \: single-core | dual-core (dual-core only supported for the above two boards)
- **Must be specified before \ due to laze internals.**
- \: main | multicore-v1 | multicore-v2 |multicore-v2-cs | multicore-v2-locking
- when `REV=main`, `-s ` must be omitted!Note that some benchmarks require additional configuration through their own laze modules.
See the individual benchmark README's.
Not all benchmarks are supported on all revisions or for all features.
For invalid configurations, laze will print a conflict and "laze: error: no matching target for task "run" found".### Examples
```sh
laze build -C benchmarks/bench_leibnitz_pi -b espressif-esp32-s3-wroom-1 -s main runlaze build -C benchmarks/runqueue/bench_runqueue_add -b rpi-pico -s dual-core -s multicore-v1 run
```## Execute all Benchmarks
The [run.sh](run.sh) script atomizes the execution of all benchmarks for all feature- and revision combination.
**Only tested on Arch Linux. Might work for other Linux distributions as well.**
The `BOARD` env must be set to one of the supported boards, e.g. `BOARD=rpi-pico`.
Then, the script can be executed with:```sh
./run.sh
```It creates a folder `data/` if it doesn't exist yet and prints the benchmark results in a markdown table format into a file `data/$BOARD.md`.
The executed configuration can be customized by setting the following environment variables:
- **REVS**: list of revisions that should be tested, e.g. `REVS="main multicore-v1"`
- **FEAT**: feature that should be tested, e.g. `FEAT="dual-core"`## Prerequisites
See [Ariel OS](https://github.com/ariel-os/ariel-os).