mirror of
https://github.com/esphome/esphome.git
synced 2026-09-16 01:28:39 +00:00
507c29add7da909118e8941059466b3ee7307df9
Apply the same inline fast-path / noinline slow-path split to ProtoWriteBuffer::encode_varint_raw that was done for ProtoSize::varint. For values < 128 (field tags, small field values, short lengths), the single-byte write is now inlined at each call site instead of going through a full function call. The multi-byte loop is outlined into encode_varint_raw_slow_(). Also add [[likely]] to both varint fast paths (ProtoSize::varint and encode_varint_raw) to hint branch prediction.
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
596 MiB
Languages
C++
55.8%
Python
43.6%
C
0.3%
JavaScript
0.2%
