pvvx
Активный участник сообщества
Тут сложно что либо указать, т.к. очень много зависимостей.Добрый день, получается из выше перечисленных самый стабильный RTL8711AM модуль? Что посоветуете для Web сервера из модулей (максимально стабильного).
Этот тест на скорость при максимальной загрузке, чего у них не бывает в реальной эксплуатации.
Но и при одиночных запросах распределение модулей по "скорости" остается той-же.
RTL8711AM быстрее за счет того, что у него код выполняется из SRAM и у него для TCP стека и прочего есть где разгуляться - RAM (SRAM+DDRAM) у него 2.5 МБайта.
RTL8710BN медленнее почти в 2 раза, хотя для данного теста RAM ему достаточно, но код у него выполняется из SPI-Flash через систему отображения её в память через "кеш" (как у ESP).
Далее в тесте идут модули с Linux. Там исполняемого кода на 95% больше и ресурсоемкость запроса файла больше... Весь код исполняется из RAM и от её скорости зависит общая скорость.
Ничего вы не сделаете, если у задачи код вылезает за рамки "кеш" подсистемы отображения SPI-Flash в адресное пространство CPU. Если ещё и данные берутся от туда, то "кеш" почти не работает и производительность CPU падает как если бы он работал на 8..10 MHz (на оба ядра!).Ранее вы писали "Каждое чтение SPIFFS - опустошение программной "кеш"", подскажите как бороться с опустошением кеш, если небольшой сайт записан в область SPIFFS и волей-неволей приходится к ней обращаться?
Надежность (кол-во ошибок) определяется объемом кода. Чтобы достигнуть нормальной производительности и надежности в задаче малого web на ESP32 потребуется переписать (оптимизировать) всю SDK с нуля и обязательно выкинуть тормозной SPIFFS. Но на такие действия никто не пойдет, т.к. архитектура у обоих ESP неудачная для web.
SPIFFS создан не для скорости, а для минимального использования RAM за счет большого программного кода (замедления исполнения)... Размен объема RAM на скорость (на размер кода)...