Предполагаю что сам EspWebFramework и занимает некоторый объем, а так конечно нужно это тестировать чтобы делать какие-нибудь объективные выводы, думаю что холивары устраивать бессмысленно
Да занимает, именно плюс-плю-сом от СИ. А так по объему используемой памяти, распределенной транслятором (!), без alloc от С++ при run-time, примеры примерно одинаковы.
При рунтайм безусловно выиграет СИ.
А LWIP разве еще выпускается Espressif в опенсурсе?
Нет. В RTOS он пикреплен как third_party - в качестве "отмазки", а либа Lwip собрана из другого
Китайцы...
Ну и самый главный вопрос тут в том, а зачем вам Lwip на текущее состояние именно с исходниками?
Сравнение странслированного Lwip из старых сорцов от 0.9.4 показывает, что “обгрызанныя” либа у Espressif из Lwip.a занимает меньше памяти, чем сильно оптимизированные те-же куски из имеющихся исходников, странслированные компилятором из UDK.
Различие есть в IRAM– ковыряя исходники Lwip, можно перенести из IRAM в Flash всего пару коротких процедур:
static void tcp_output_segment(struct tcp_seg *seg, struct tcp_pcb *pcb);
static err_t tcp_close_shutdown(struct tcp_pcb *pcb, u8_t rst_on_unacked_data)файл: tcp.c
Китайцы забыли поставить у них ICACHE_FLASH_ATTR, т.к. расставляли атрибуты в *.h, а эти процедуры static
Но и это не поможет вам уменьшить итого, по сравнению с копиляторм у Espressif от xtensa. Вы бьетесь не с той задачей. Задача в начальном уровне - запустить свой SDK с WiFi, а прикрутить LwiP - дело десятое.
PS: Пока нет всех исходников - "обгрызайте" Lwip.a от Espressif. Он пока нормальный и сильных глюков нет.