mirror of
https://github.com/esphome/esphome.git
synced 2026-07-10 17:05:36 +00:00
05896c38e88132903cbdd5fbfd33fb673ed2b479
Split ProtoSize::varint() into an always-inlined fast path (value < 128) and a noinline slow path, eliminating indirect function calls on the BLE advertisement encode hot path. Also force-inline calc_uint32() and calc_length() so the compiler fully inlines size calculations per advertisement instead of emitting out-of-line calls. Verified via Xtensa disassembly: eliminates ~80 indirect function calls per 16-advertisement batch flush (3 calc + varint per advertisement). Total hot path code reduced from 24 to 21 functions.
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
546 MiB
Languages
C++
60.1%
Python
39.3%
C
0.3%
JavaScript
0.2%
