mirror of
https://github.com/esphome/esphome.git
synced 2026-07-11 01:15:33 +00:00
706fdc66fb9cfeba7f1f0e00cc914ff69026757f
GCC on Xtensa (ESP32) generates an indirect function call for std::atomic<bool>::load() instead of inlining it. This adds unnecessary call overhead on the scheduler hot path where the remove flag is checked multiple times per loop iteration. std::atomic<uint8_t>::load() inlines correctly on all platforms, producing a simple load instruction with memory barrier. This eliminates 5 indirect calls and saves 30 bytes of flash on the scheduler hot path.
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
549 MiB
Languages
C++
60.1%
Python
39.3%
C
0.3%
JavaScript
0.2%
