I used only assembled ESP32 DevKits. The worst of the pack, as you see in the linked-to table was an "Original", "Espressif" labelled device with the latest ESP32-WROMM-32E (revision 3)!
Actually, the data in the table were all created with the
FFat file system. However, I have also tested
SPIFFS and
LittleFS. With respect to the WDT triggered crashing the result was the same for all devices!
But since you mention speed, I found something strange. In the setup of the ESPAsyncWebserver I use this command:
Code: Select all
gWebServer.on("/download/uc1/*", HTTP_GET, [](AsyncWebServerRequest* request){
auto t0 = micros();
cSF(path, 100);
path.printf("%s/%s", DATA_PATH, (request->url().substring(request->url().lastIndexOf("/") + 1U)).c_str());
countOfDownloads++;
if (request != nullptr) request->send(*myFS, path.c_str(), String(), TREATMENT); // TREATMENT: Download or Display
else log_e("uc1 -- #%u - %s REQUEST is NULLPTR!", countOfDownloads, path.c_str());
auto t1 = micros();
float dur = (t1 - t0)/1000.0f;
log_i("uc1 -- #%u - %s dur: %0.2f ms core: %i countOfBoots: %i", countOfDownloads, path.c_str(), dur, xPortGetCoreID(), countOfBoots);
});
It allows me to determine the duration of the time needed to execute the 'request->send(...)' command. It results in:
- SPIFFS: 11 ms
- FFat: 26 ms
- LittleFS: 44 ms
Why is there a 2fold or even 4fold difference for this command in the webserver? It has nothing to do with the duration of the download, which is a minimum of 800 ms and can be several 10000 ms, i.e. much, much longer than this command.
I am puzzled, but this is only an aside to the WDT crashing problem.