mirror of
https://github.com/esphome/esphome.git
synced 2026-09-17 18:18:43 +00:00
eedb1be19ceb6268113a3c3be663844c1fdab5d0
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
598 MiB
Languages
C++
55.7%
Python
43.7%
C
0.3%
JavaScript
0.2%
