Widget Feature QEMU Code Size Report¶
Commit:
1fe189ebDate: 2026-05-21T16:08:32.440547
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 |
14540 |
596 |
1368 |
6372 |
15136 |
Widget Summary¶
Widget Or Set |
Delta Text |
Delta Rodata |
Delta Data |
Delta Bss |
Delta ROM |
|---|---|---|---|---|---|
SLIDER |
+8720 |
+784 |
+0 |
+76 |
+9504 |
SWITCH |
+11984 |
+1120 |
+0 |
+96 |
+13104 |
PAGE_INDICATOR |
+8412 |
+1120 |
+0 |
+92 |
+9532 |
STEPPER |
+8536 |
+1124 |
+0 |
+104 |
+9660 |
CHECKBOX |
+12584 |
+6328 |
+0 |
+104 |
+18912 |
RADIO_BUTTON |
+11816 |
+6328 |
+0 |
+108 |
+18144 |
PROGRESS_BAR |
+7948 |
+784 |
+0 |
+72 |
+8732 |
TOGGLE_BUTTON |
+9364 |
+6372 |
+0 |
+104 |
+15736 |
NOTIFICATION_BADGE |
+9004 |
+6340 |
+0 |
+100 |
+15344 |
BUTTON |
+10424 |
+6756 |
+0 |
+96 |
+17180 |
IMAGE_BUTTON |
+9976 |
+6392 |
+0 |
+104 |
+16368 |
CIRCULAR_PROGRESS_BAR |
+20360 |
+7472 |
+0 |
+92 |
+27832 |
GAUGE |
+28816 |
+7528 |
+0 |
+96 |
+36344 |
ACTIVITY_RING |
+25232 |
+2712 |
+0 |
+84 |
+27944 |
ANALOG_CLOCK |
+14356 |
+1204 |
+0 |
+84 |
+15560 |
LINE_WIDGET |
+8452 |
+132 |
+0 |
+72 |
+8584 |
CHART_LINE |
+16192 |
+6460 |
+0 |
+136 |
+22652 |
CHART_PIE |
+18068 |
+7532 |
+0 |
+88 |
+25600 |
INDICATOR_WIDGET_SET |
+15008 |
+1256 |
+0 |
+352 |
+16264 |
RING_WIDGET_SET |
+38900 |
+8420 |
+0 |
+264 |
+47320 |
LINE_VISUAL_WIDGET_SET |
+24728 |
+7016 |
+0 |
+292 |
+31744 |
ALL_WIDGET_PROBES |
+65300 |
+9892 |
+0 |
+1612 |
+75192 |
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 |
|
14540 |
596 |
1368 |
6372 |
15136 |
SLIDER |
|
23260 |
1380 |
1368 |
6448 |
24640 |
SWITCH |
|
26524 |
1716 |
1368 |
6468 |
28240 |
PAGE_INDICATOR |
|
22952 |
1716 |
1368 |
6464 |
24668 |
STEPPER |
|
23076 |
1720 |
1368 |
6476 |
24796 |
CHECKBOX |
|
27124 |
6924 |
1368 |
6476 |
34048 |
RADIO_BUTTON |
|
26356 |
6924 |
1368 |
6480 |
33280 |
PROGRESS_BAR |
|
22488 |
1380 |
1368 |
6444 |
23868 |
TOGGLE_BUTTON |
|
23904 |
6968 |
1368 |
6476 |
30872 |
NOTIFICATION_BADGE |
|
23544 |
6936 |
1368 |
6472 |
30480 |
BUTTON |
|
24964 |
7352 |
1368 |
6468 |
32316 |
IMAGE_BUTTON |
|
24516 |
6988 |
1368 |
6476 |
31504 |
CIRCULAR_PROGRESS_BAR |
|
34900 |
8068 |
1368 |
6464 |
42968 |
GAUGE |
|
43356 |
8124 |
1368 |
6468 |
51480 |
ACTIVITY_RING |
|
39772 |
3308 |
1368 |
6456 |
43080 |
ANALOG_CLOCK |
|
28896 |
1800 |
1368 |
6456 |
30696 |
LINE_WIDGET |
|
22992 |
728 |
1368 |
6444 |
23720 |
CHART_LINE |
|
30732 |
7056 |
1368 |
6508 |
37788 |
CHART_PIE |
|
32608 |
8128 |
1368 |
6460 |
40736 |
INDICATOR_WIDGET_SET |
|
29548 |
1852 |
1368 |
6724 |
31400 |
RING_WIDGET_SET |
|
53440 |
9016 |
1368 |
6636 |
62456 |
LINE_VISUAL_WIDGET_SET |
|
39268 |
7612 |
1368 |
6664 |
46880 |
ALL_WIDGET_PROBES |
|
79840 |
10488 |
1368 |
7984 |
90328 |
Reproduce¶
python scripts/size_analysis/main.py widget-feature-size-to-doc
Raw JSON is written to output/widget_feature_size_results.json.