mirror of
https://github.com/esphome/esphome.git
synced 2026-09-21 12:08:38 +00:00
05990474b07f3dd60b1f921530518266515e7862
Force-inline calc_uint64_force, calc_sint32_force, calc_length_force, and calc_message_force so the varint fast path (value < 128) is expanded at each call site instead of going through a function call. These are the size-calculation methods used by BLE proxy messages (BluetoothLERawAdvertisement, BluetoothGATTService/Characteristic/ Descriptor) which are called 12x per advertisement batch in the hot path. Benchmarked on ESP32 with 12-advertisement batches (10k iterations): - calculate_size: 10381 -> 9718 ns/op (6.4% faster) - Full calc+encode: 49886 -> 47599 ns/op (4.6% faster) Flash cost: +40 bytes (ESP32 IDF), +64 bytes (ESP8266).
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
609 MiB
Languages
C++
55.7%
Python
43.7%
C
0.3%
JavaScript
0.2%
