Platforms & performance

Measured against FreeRTOS on a Cortex-M4.

Supported platforms

CPU architectures

Arm Cortex-M (ARMv6-M to ARMv8.1-M); RISC-V RV32I and RV32E (including very small RAM devices). Soft and hard floating-point.

Toolchains

GCC, Clang / Arm Compiler 6+, IAR EWARM 8.0+ (Arm only).

Language

C++11 minimum, C++17 or higher recommended. C API available.

Dependencies

CMSIS on Arm platforms and a minimal vendor BSP (Raspberry Pi only).

Benchmark: STK vs FreeRTOS

STM32F407 (Cortex-M4, 168 MHz), GCC 14.2.1, CRC32 workload, August 2026. FreeRTOS V11.2.0. Higher throughput is better; lower jitter, flash and RAM are better.

KernelTasksOptThroughputJitterFlashRAM
STK16-Ofast993,93775424.4 KB19.8 KB
FreeRTOS16-Ofast966,01790915.0 KB22.2 KB
STK16-Os753,03842514.9 KB19.8 KB
FreeRTOS16-Os735,34247212.6 KB22.2 KB
STK4-Ofast989,83074222.6 KB6.7 KB
FreeRTOS4-Ofast881,08267114.5 KB8.8 KB
STK4-Os753,89156514.9 KB6.7 KB
FreeRTOS4-Os673,84551012.6 KB8.8 KB

~12% more CPU time

Higher throughput than FreeRTOS in head-to-head tests.

~24% less RAM

In 4-task scenarios, ~11% less at 16 tasks.

Flat scaling

Throughput stays stable from 4 to 16 tasks.

Benchmark projects are in the repository so you can reproduce the results. Full tables (including 8 tasks) are in the README.