Widget Feature QEMU Code Size Report¶
Commit:
21b6890Date: 2026-04-05T08:31:12.386532
Build target:
APP=HelloSizeAnalysis APP_SUB=widget_feature_probe PORT=qemu CPU_ARCH=cortex-m0plusMeasurement method: compile a dedicated widget probe app, then rewrite the app-local probe config header to force-link a real widget or widget set.
Scope: widget-level static qemu ELF sections only (
.text/.rodata/.data/.bss).
Notes¶
This report answers how much ROM and RAM a real widget or widget set costs to bring in.
The probe uses real widget
init_with_paramsand setter paths rather than canvas-only stand-ins.Widgets share base/view/theme/canvas paths, so widget-set totals must not be computed by summing single-widget deltas.
Baseline¶
Variant |
Text |
Rodata |
Data |
Bss |
Total ROM |
|---|---|---|---|---|---|
BASELINE |
11660 |
568 |
24 |
6024 |
12228 |
Widget Summary¶
Widget Or Set |
Delta Text |
Delta Rodata |
Delta Data |
Delta Bss |
Delta ROM |
|---|---|---|---|---|---|
SLIDER |
+7444 |
+816 |
+0 |
+76 |
+8260 |
SWITCH |
+6540 |
+824 |
+0 |
+92 |
+7364 |
PAGE_INDICATOR |
+3120 |
+820 |
+0 |
+80 |
+3940 |
STEPPER |
+3268 |
+892 |
+0 |
+96 |
+4160 |
CHECKBOX |
+6936 |
+812 |
+0 |
+100 |
+7748 |
RADIO_BUTTON |
+6132 |
+816 |
+0 |
+96 |
+6948 |
PROGRESS_BAR |
+6972 |
+820 |
+0 |
+76 |
+7792 |
TOGGLE_BUTTON |
+4492 |
+1196 |
+0 |
+96 |
+5688 |
NOTIFICATION_BADGE |
+4500 |
+1156 |
+0 |
+88 |
+5656 |
BUTTON |
+4696 |
+1192 |
+0 |
+92 |
+5888 |
IMAGE_BUTTON |
+5892 |
+1188 |
+0 |
+96 |
+7080 |
CIRCULAR_PROGRESS_BAR |
+13208 |
+1724 |
+0 |
+80 |
+14932 |
GAUGE |
+17020 |
+1712 |
+0 |
+88 |
+18732 |
ACTIVITY_RING |
+11844 |
+1380 |
+0 |
+80 |
+13224 |
ANALOG_CLOCK |
+9200 |
+1004 |
+0 |
+80 |
+10204 |
LINE_WIDGET |
+5972 |
+820 |
+0 |
+72 |
+6792 |
CHART_LINE |
+9160 |
+1300 |
+0 |
+128 |
+10460 |
CHART_PIE |
+7380 |
+1576 |
+0 |
+80 |
+8956 |
INDICATOR_WIDGET_SET |
+8984 |
+1096 |
+0 |
+332 |
+10080 |
RING_WIDGET_SET |
+19180 |
+1920 |
+0 |
+248 |
+21100 |
LINE_VISUAL_WIDGET_SET |
+13312 |
+1676 |
+0 |
+272 |
+14988 |
ALL_WIDGET_PROBES |
+33988 |
+3588 |
+0 |
+1532 |
+37576 |
Definition¶
Widget Or Set |
Included Items |
Description |
|---|---|---|
SLIDER |
|
Real slider widget cost. |
SWITCH |
|
Real switch widget cost. |
PAGE_INDICATOR |
|
Real page indicator widget cost. |
STEPPER |
|
Real stepper widget cost. |
CHECKBOX |
|
Real checkbox widget cost. |
RADIO_BUTTON |
|
Real radio button widget cost. |
PROGRESS_BAR |
|
Real progress bar widget cost. |
TOGGLE_BUTTON |
|
Real toggle button widget cost. |
NOTIFICATION_BADGE |
|
Real notification badge widget cost. |
BUTTON |
|
Real button widget cost. |
IMAGE_BUTTON |
|
Real image button widget cost. |
CIRCULAR_PROGRESS_BAR |
|
Real circular progress bar widget cost. |
GAUGE |
|
Real gauge widget cost. |
ACTIVITY_RING |
|
Real activity ring widget cost. |
ANALOG_CLOCK |
|
Real analog clock widget cost. |
LINE_WIDGET |
|
Real line widget cost. |
CHART_LINE |
|
Real chart-line widget cost. |
CHART_PIE |
|
Real chart-pie widget cost. |
INDICATOR_WIDGET_SET |
|
A common indicator widget set. |
RING_WIDGET_SET |
|
A ring and gauge widget set. |
LINE_VISUAL_WIDGET_SET |
|
A line, clock and data-visual widget set. |
ALL_WIDGET_PROBES |
|
All widget probes enabled together. |
Detailed Variants¶
Variant |
Probe Config |
Text |
Rodata |
Data |
Bss |
Total ROM |
|---|---|---|---|---|---|---|
BASELINE |
|
11660 |
568 |
24 |
6024 |
12228 |
SLIDER |
|
19104 |
1384 |
24 |
6100 |
20488 |
SWITCH |
|
18200 |
1392 |
24 |
6116 |
19592 |
PAGE_INDICATOR |
|
14780 |
1388 |
24 |
6104 |
16168 |
STEPPER |
|
14928 |
1460 |
24 |
6120 |
16388 |
CHECKBOX |
|
18596 |
1380 |
24 |
6124 |
19976 |
RADIO_BUTTON |
|
17792 |
1384 |
24 |
6120 |
19176 |
PROGRESS_BAR |
|
18632 |
1388 |
24 |
6100 |
20020 |
TOGGLE_BUTTON |
|
16152 |
1764 |
24 |
6120 |
17916 |
NOTIFICATION_BADGE |
|
16160 |
1724 |
24 |
6112 |
17884 |
BUTTON |
|
16356 |
1760 |
24 |
6116 |
18116 |
IMAGE_BUTTON |
|
17552 |
1756 |
24 |
6120 |
19308 |
CIRCULAR_PROGRESS_BAR |
|
24868 |
2292 |
24 |
6104 |
27160 |
GAUGE |
|
28680 |
2280 |
24 |
6112 |
30960 |
ACTIVITY_RING |
|
23504 |
1948 |
24 |
6104 |
25452 |
ANALOG_CLOCK |
|
20860 |
1572 |
24 |
6104 |
22432 |
LINE_WIDGET |
|
17632 |
1388 |
24 |
6096 |
19020 |
CHART_LINE |
|
20820 |
1868 |
24 |
6152 |
22688 |
CHART_PIE |
|
19040 |
2144 |
24 |
6104 |
21184 |
INDICATOR_WIDGET_SET |
|
20644 |
1664 |
24 |
6356 |
22308 |
RING_WIDGET_SET |
|
30840 |
2488 |
24 |
6272 |
33328 |
LINE_VISUAL_WIDGET_SET |
|
24972 |
2244 |
24 |
6296 |
27216 |
ALL_WIDGET_PROBES |
|
45648 |
4156 |
24 |
7556 |
49804 |
Reproduce¶
python scripts/size_analysis/widget_feature_size_to_doc.py
Raw JSON is written to output/widget_feature_size_results.json.