mirror of
https://github.com/esphome/esphome.git
synced 2026-08-31 18:16:03 +00:00
30d7834fa8b123a471c867313fbaa42dc1583eb3
When only one API protocol is configured (plaintext-only or noise-only), use the concrete frame helper type in unique_ptr instead of the base class. Since both APIPlaintextFrameHelper and APINoiseFrameHelper are marked final, the compiler can devirtualize all virtual calls (read_packet, write_protobuf_packet, loop, etc.), eliminating vtable dispatch overhead in the hot APIConnection::loop() path. When both protocols are enabled (encryption key set with plaintext fallback), the polymorphic base pointer is used as before.
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
584 MiB
Languages
C++
56.2%
Python
43.2%
C
0.3%
JavaScript
0.2%
