mirror of
https://github.com/esphome/esphome.git
synced 2026-02-25 04:45:29 -07:00
b3983bc088d43d223c4f14aacdc698238b06310e
Change set_timer_common_ to take std::function<void()>&& instead of by value. This avoids materializing a std::function copy on the stack at each call site — the caller just passes a pointer to the rvalue. On BK7231N (Thumb-1), each forwarder (set_timeout, set_interval) was 118 bytes due to the inlined std::function move constructor + register spilling. With rvalue reference, they shrink to 32 bytes each. All 12 callers already pass rvalues (std::move or lambda temporaries), so this is a purely mechanical change with no semantic difference. BK7231N: forwarders 118 -> 32 bytes each, ~258 bytes saved total ESP32: forwarders 46 -> 30 bytes each, ~20 bytes saved total
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
484 MiB
Languages
C++
64.1%
Python
35.6%
C
0.2%
