Widget Feature QEMU Code Size Report

  • Commit: 1fe189eb

  • Date: 2026-05-21T16:08:32.440547

  • Build target: APP=HelloSizeAnalysis APP_SUB=widget_feature_probe PORT=qemu CPU_ARCH=cortex-m0plus

  • Measurement 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_params and 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

egui_view_slider

Real slider widget cost.

SWITCH

egui_view_switch

Real switch widget cost.

PAGE_INDICATOR

egui_view_page_indicator

Real page indicator widget cost.

STEPPER

egui_view_stepper

Real stepper widget cost.

CHECKBOX

egui_view_checkbox

Real checkbox widget cost.

RADIO_BUTTON

egui_view_radio_button

Real radio button widget cost.

PROGRESS_BAR

egui_view_progress_bar

Real progress bar widget cost.

TOGGLE_BUTTON

egui_view_toggle_button

Real toggle button widget cost.

NOTIFICATION_BADGE

egui_view_notification_badge

Real notification badge widget cost.

BUTTON

egui_view_button

Real button widget cost.

IMAGE_BUTTON

egui_view_image_button

Real image button widget cost.

CIRCULAR_PROGRESS_BAR

egui_view_circular_progress_bar

Real circular progress bar widget cost.

GAUGE

egui_view_gauge

Real gauge widget cost.

ACTIVITY_RING

egui_view_activity_ring

Real activity ring widget cost.

ANALOG_CLOCK

egui_view_analog_clock

Real analog clock widget cost.

LINE_WIDGET

egui_view_line

Real line widget cost.

CHART_LINE

egui_view_chart_line

Real chart-line widget cost.

CHART_PIE

egui_view_chart_pie

Real chart-pie widget cost.

INDICATOR_WIDGET_SET

slider
switch
page_indicator
stepper

A common indicator widget set.

RING_WIDGET_SET

circular_progress_bar
gauge
activity_ring

A ring and gauge widget set.

LINE_VISUAL_WIDGET_SET

line
chart_line
analog_clock

A line, clock and data-visual widget set.

ALL_WIDGET_PROBES

all widget probes

All widget probes enabled together.

Detailed Variants

Variant

Probe Config

Text

Rodata

Data

Bss

Total ROM

BASELINE

(none)

14540

596

1368

6372

15136

SLIDER

-DEGUI_SIZE_PROBE_WIDGET_SLIDER=1

23260

1380

1368

6448

24640

SWITCH

-DEGUI_SIZE_PROBE_WIDGET_SWITCH=1

26524

1716

1368

6468

28240

PAGE_INDICATOR

-DEGUI_SIZE_PROBE_WIDGET_PAGE_INDICATOR=1

22952

1716

1368

6464

24668

STEPPER

-DEGUI_SIZE_PROBE_WIDGET_STEPPER=1

23076

1720

1368

6476

24796

CHECKBOX

-DEGUI_SIZE_PROBE_WIDGET_CHECKBOX=1

27124

6924

1368

6476

34048

RADIO_BUTTON

-DEGUI_SIZE_PROBE_WIDGET_RADIO_BUTTON=1

26356

6924

1368

6480

33280

PROGRESS_BAR

-DEGUI_SIZE_PROBE_WIDGET_PROGRESS_BAR=1

22488

1380

1368

6444

23868

TOGGLE_BUTTON

-DEGUI_SIZE_PROBE_WIDGET_TOGGLE_BUTTON=1

23904

6968

1368

6476

30872

NOTIFICATION_BADGE

-DEGUI_SIZE_PROBE_WIDGET_NOTIFICATION_BADGE=1

23544

6936

1368

6472

30480

BUTTON

-DEGUI_SIZE_PROBE_WIDGET_BUTTON=1

24964

7352

1368

6468

32316

IMAGE_BUTTON

-DEGUI_SIZE_PROBE_WIDGET_IMAGE_BUTTON=1

24516

6988

1368

6476

31504

CIRCULAR_PROGRESS_BAR

-DEGUI_SIZE_PROBE_WIDGET_CPB=1

34900

8068

1368

6464

42968

GAUGE

-DEGUI_SIZE_PROBE_WIDGET_GAUGE=1

43356

8124

1368

6468

51480

ACTIVITY_RING

-DEGUI_SIZE_PROBE_WIDGET_ACTIVITY_RING=1

39772

3308

1368

6456

43080

ANALOG_CLOCK

-DEGUI_SIZE_PROBE_WIDGET_ANALOG_CLOCK=1

28896

1800

1368

6456

30696

LINE_WIDGET

-DEGUI_SIZE_PROBE_WIDGET_LINE=1

22992

728

1368

6444

23720

CHART_LINE

-DEGUI_SIZE_PROBE_WIDGET_CHART_LINE=1

30732

7056

1368

6508

37788

CHART_PIE

-DEGUI_SIZE_PROBE_WIDGET_CHART_PIE=1

32608

8128

1368

6460

40736

INDICATOR_WIDGET_SET

-DEGUI_SIZE_PROBE_WIDGET_SLIDER=1 -DEGUI_SIZE_PROBE_WIDGET_SWITCH=1 -DEGUI_SIZE_PROBE_WIDGET_PAGE_INDICATOR=1 -DEGUI_SIZE_PROBE_WIDGET_STEPPER=1

29548

1852

1368

6724

31400

RING_WIDGET_SET

-DEGUI_SIZE_PROBE_WIDGET_CPB=1 -DEGUI_SIZE_PROBE_WIDGET_GAUGE=1 -DEGUI_SIZE_PROBE_WIDGET_ACTIVITY_RING=1

53440

9016

1368

6636

62456

LINE_VISUAL_WIDGET_SET

-DEGUI_SIZE_PROBE_WIDGET_LINE=1 -DEGUI_SIZE_PROBE_WIDGET_CHART_LINE=1 -DEGUI_SIZE_PROBE_WIDGET_ANALOG_CLOCK=1

39268

7612

1368

6664

46880

ALL_WIDGET_PROBES

-DEGUI_SIZE_PROBE_WIDGET_SLIDER=1 -DEGUI_SIZE_PROBE_WIDGET_SWITCH=1 -DEGUI_SIZE_PROBE_WIDGET_PAGE_INDICATOR=1 -DEGUI_SIZE_PROBE_WIDGET_STEPPER=1 -DEGUI_SIZE_PROBE_WIDGET_CHECKBOX=1 -DEGUI_SIZE_PROBE_WIDGET_RADIO_BUTTON=1 -DEGUI_SIZE_PROBE_WIDGET_PROGRESS_BAR=1 -DEGUI_SIZE_PROBE_WIDGET_TOGGLE_BUTTON=1 -DEGUI_SIZE_PROBE_WIDGET_NOTIFICATION_BADGE=1 -DEGUI_SIZE_PROBE_WIDGET_BUTTON=1 -DEGUI_SIZE_PROBE_WIDGET_IMAGE_BUTTON=1 -DEGUI_SIZE_PROBE_WIDGET_CPB=1 -DEGUI_SIZE_PROBE_WIDGET_GAUGE=1 -DEGUI_SIZE_PROBE_WIDGET_ACTIVITY_RING=1 -DEGUI_SIZE_PROBE_WIDGET_ANALOG_CLOCK=1 -DEGUI_SIZE_PROBE_WIDGET_LINE=1 -DEGUI_SIZE_PROBE_WIDGET_CHART_LINE=1 -DEGUI_SIZE_PROBE_WIDGET_CHART_PIE=1

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.