mirror of
https://github.com/esphome/esphome.git
synced 2026-09-16 09:38:42 +00:00
6a7c9af870ddebaa21fb9a53c5d1f5cf04221de8
Additional measurements showed GCC's -Os inliner re-inlines most IIFE chunks back into setup() by choice, and the structural scoping alone captures nearly all of the peak-stack benefit on esp32 without the flash cost of forcing all chunks to stay as real functions. Apollo (esp32-s3, -Os) with vs without noinline: peak setup stack 176 B (noinline) vs 304 B (scope-only) flash delta +388 B (noinline) vs -504 B (scope-only) chunks kept 86 vs 20 Issue #15796 is an LVGL-setup class of bug that has only surfaced on esp32 after years in the field; the extra guarantee that noinline provides is not worth the flash cost in practice. Also rename the helper from _wrap_in_noinline_iifes to _wrap_in_iifes to match.
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
601 MiB
Languages
C++
55.8%
Python
43.6%
C
0.3%
JavaScript
0.2%
