mirror of
https://github.com/esphome/esphome.git
synced 2026-02-28 18:04:19 -07:00
e139722e9d26379cba0a04de8520eb469c1e4c8b
DeferredEvent contains two pointers (void* + function pointer), which are already naturally 4-byte aligned on all ESPHome targets. The struct is 8 bytes with no padding regardless of packed. The packed attribute forces the compiler to use byte-by-byte loads and stores instead of word-aligned access, bloating deq_push_back_with_dedup_ from 163 to 317 bytes due to shift/mask/or sequences for every field access. The packed attribute was added in #7538 likely to guarantee the struct stayed at 8 bytes, but this is already the case without it since both fields are pointer-sized.
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
518 MiB
Languages
C++
64.1%
Python
35.5%
C
0.3%
