-
Notifications
You must be signed in to change notification settings - Fork 6.9k
[HOW TO] Generate benchmarks metrics
Maciej Perkowski edited this page Nov 16, 2020
·
1 revision
All benchmark tests for the Zephyr RTOS are stored in its codebase here
We recommend running a test called “latency_measure” first. This benchmark measures the latency of selected kernel capabilities, including:
- Measure time to switch from ISR back to interrupted thread
- Measure time from ISR to executing a different thread (rescheduled)
- Measure average time to signal a semaphore then test that semaphore
- Measure average time to signal a semaphore then test that semaphore with a context switch
- Measure average time to lock a mutex then unlock that mutex
- Measure average context switch time between threads using (k_yield)
- Measure average context switch time between threads (coop)
- Time it takes to suspend a thread
- Time it takes to resume a suspended thread
- Time it takes to create a new thread (without starting it)
- Time it takes to start a newly created thread
To run that test please follow common instructions for building and flashing Zephyr's applications:
$ cd ~/zephyrproject/zephyr
$ west build -p -b reel_board tests/benchmarks/latency_measure/
Open a serial port using a second terminal window, for example
$ sudo minicom -D /dev/ttyACM0 -b 115200
$ west flash
View the result in the terminal output
© 2018-2023 Zephyr® Project. Zephyr is a trademark of the Linux Foundation.
Zephyr Project Home | Documentation Home | Mailing lists
Zephyr Project Home | Documentation Home | Mailing lists