HQ Path QEMU Size Report¶
Commit:
09190faDate: 2026-04-02T11:15:06.888554
Build target:
APP=HelloSizeAnalysis APP_SUB=hq_path_probe PORT=qemu CPU_ARCH=cortex-m0plusMeasurement method: build
HelloSizeAnalysis/hq_path_probebaseline, then rewrite the app-local probe config header to force-link a single HQ path into the final ELF.Report scope: isolated static link delta only. This report does not include runtime heap/stack because the HQ geometry paths themselves do not allocate heap.
How To Read¶
Delta Text:.textincrement relative to baseline, used as the main code-size number.Delta Rodata: extra lookup tables / constants brought in by the HQ path.Delta ROM:.text + .rodatatotal flash increment relative to baseline.ARC_HQhere measuresegui_canvas_draw_arc_hq()+egui_canvas_draw_arc_fill_hq()only.ARC_ROUND_CAP_HQis listed separately because it is a real widget-facing helper and it pulls both arc and circle-fill dependencies.Delta ROMis the real ELF section delta. It is often larger than the listed public symbol sizes because static helpers and dependent sections are linked too.The
+8 BSSseen in probe variants comes from the probe harness guard inHelloSizeAnalysis/hq_path_probe, not from persistent HQ runtime state.Turning a path off can only reclaim the same bytes when no other object still references that path.
Baseline¶
Variant |
Text |
Rodata |
Data |
Bss |
Total ROM |
|---|---|---|---|---|---|
Baseline |
21988 |
7100 |
84 |
6148 |
29088 |
Increment Summary¶
Path |
Delta Text |
Delta Rodata |
Delta Data |
Delta Bss |
Delta ROM |
|---|---|---|---|---|---|
LINE_HQ |
+15128 |
+72 |
+0 |
+8 |
+15200 |
CIRCLE_HQ |
+15128 |
+72 |
+0 |
+8 |
+15200 |
ARC_HQ |
+15128 |
+72 |
+0 |
+8 |
+15200 |
ARC_ROUND_CAP_HQ |
+12580 |
+808 |
+0 |
+8 |
+13388 |
ALL_HQ |
+12580 |
+808 |
+0 |
+8 |
+13388 |
Detailed Variants¶
Variant |
Probe Config |
Text |
Rodata |
Data |
Bss |
Total ROM |
|---|---|---|---|---|---|---|
Baseline |
|
21988 |
7100 |
84 |
6148 |
29088 |
LINE_HQ |
|
37116 |
7172 |
84 |
6156 |
44288 |
CIRCLE_HQ |
|
37116 |
7172 |
84 |
6156 |
44288 |
ARC_HQ |
|
37116 |
7172 |
84 |
6156 |
44288 |
ARC_ROUND_CAP_HQ |
|
34568 |
7908 |
84 |
6156 |
42476 |
ALL_HQ |
|
34568 |
7908 |
84 |
6156 |
42476 |
Linked Symbol Breakdown¶
LINE_HQ¶
Description: Force link the line/polyline HQ path only.
Symbol text total: 2700 bytes
Symbol |
Size (bytes) |
Type |
|---|---|---|
|
1372 |
|
|
1284 |
|
|
22 |
|
|
22 |
|
CIRCLE_HQ¶
Description: Force link the circle HQ path only.
Symbol text total: 3404 bytes
Symbol |
Size (bytes) |
Type |
|---|---|---|
|
3404 |
|
ARC_ROUND_CAP_HQ¶
Description: Force link the round-cap arc helper used by widgets like activity_ring.
Symbol text total: 4256 bytes
Symbol |
Size (bytes) |
Type |
|---|---|---|
|
3404 |
|
|
480 |
|
|
372 |
|
ALL_HQ¶
Description: Force link the three core HQ paths together.
Symbol text total: 4480 bytes
Symbol |
Size (bytes) |
Type |
|---|---|---|
|
3404 |
|
|
596 |
|
|
480 |
|
Reproduce¶
python scripts/size_analysis/hq_size_to_doc.py
The raw JSON is written to output/hq_size_results.json.