mirror of
https://github.com/esphome/esphome.git
synced 2026-09-15 17:18:40 +00:00
64364961dba73edebd267bb0b0021678578cc48b
On ESP32, replace lwip_select() in yield_with_select_() with direct socket event reads via lwip_socket_dbg_get_socket(), reducing poll cost from 133us to ~7us (18.7x faster). Replace the UDP loopback wake socket with FreeRTOS task notifications (<2us, ISR-safe). Benchmarks (ESP32, 4 listen sockets): - Poll path: 7,087 ns vs 132,402 ns (18.7x faster) - Wake signal: 1,826 ns vs ~130,000 ns (72x faster, now ISR-safe) - Binary: yield_with_select_ 108B vs 188B (43% smaller) Non-ESP32 platforms (LibreTiny, ESP8266, RP2040) are unchanged.
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
597 MiB
Languages
C++
55.8%
Python
43.6%
C
0.3%
JavaScript
0.2%
