SPEED vs SIZE Build Variants
Every heliaRT release publishes two optimization profiles. Pick the one that matches your workload's constraints.
The Two Variants
| Variant | Compiler flags | Optimizes for |
|---|---|---|
SPEED (release) |
-O2 / -Ofast |
Minimum inference latency |
SIZE (release_with_logs / custom -Os) |
-Os / -Oz |
Smallest Flash footprint |
Debug builds
A third build type — debug (-O0 -g) — is also published for development. Never ship it in production.
Trade-Offs
quadrantChart
title SPEED vs SIZE
x-axis "Smaller code" --> "Faster inference"
y-axis "Lower power" --> "Higher throughput"
SIZE: [0.25, 0.35]
SPEED: [0.75, 0.75]
| Metric | SPEED | SIZE |
|---|---|---|
| Inference latency | ▼ Lower | ▲ Higher |
| Flash usage | ▲ Larger | ▼ Smaller |
| RAM usage | ~Same | ~Same |
| Best for | Real-time audio, always-on wake-word | Battery-first, Flash-constrained |
How to Select
Download the variant you need from the release bundle:
Kernel-Level Knobs
The HELIA backend exposes per-kernel optimization overrides:
This lets you optimize latency-critical operators (Conv2D) for SPEED while keeping less critical ones optimized for SIZE.
Next Steps
- Static vs Source — distribution format details
- Toolchains — toolchain choice also affects code size and speed