mirror of
https://github.com/esphome/esphome.git
synced 2026-09-17 18:18:43 +00:00
a632a7e6441e5990e1452b49ac52aa926e501816
Each notify_*_update method had an identical loop that only differed in the vtable offset for the virtual call. Extract the shared loop into a single noinline notify() function and have each wrapper pass a small trampoline lambda that dispatches to the correct Controller virtual method. Before: 8 copies of the loop at ~56 bytes each = ~448 bytes After: 1 shared loop (56 B) + 8 wrappers (16 B) + 8 trampolines (8 B) = ~248 bytes Saves ~200 bytes of flash.
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
598 MiB
Languages
C++
55.7%
Python
43.7%
C
0.3%
JavaScript
0.2%
