Я думаю, если задаться целью, можно написать код который в SMP режиме работает в 2 раза медленнее чем на одном ядре. Как получить замедление в 3 или 4 раза я пока не понимаю... В прочем если знаете, не рассказывайте пока, интересно самому подумать.
Там, где требуется производительность как раз возникает ситуация, что код не маленький. Его обычно оптимизируют не на размер, а на скорость и он не лезет в "кеши". Из простых и известных примеров - развертка ZIP на больших CPU, хотя там немного другое.
Но в данном MCU установлен ADC и могут потребоваться разные программные фильтры и кодеки. Иначе ADC бесполезен. Я не думаю, что хватит "кеша" закешировать всё, что участвует в процессе приема и передачи потока и в таком процессе будут трудиться оба ядра и не c API (ROM), а с кодом из Flash. А "мютексы" как раз безразличны - код то будет свой, и всегда можно распределить как захочется.
Во всех других случаях производительность не требуется. Мигать светодиодом по WiFi можно и на одном ядре при CLK в 20 MHz. Этого достаточно для обслуживания WiFi и проектов в Arduino. Большие просто не влезут из-за малого размера RAM и её дефрагментации на раздельные куски.
ESP32 не позволяет перейти на другой уровень, кроме того, что на нем будут мигать светодиодом теперь по HTTPS.
Т.е. является промежуточным между следующим классом. Это по большей части связано с куcочной RAM. Кинули бы по пол мега на ядро - был-бы другой разговор... А то уровень 16-ти разрядного DOS не пройден, а 32-х разрядный CPU на 160 MHz
Полный дисбаланс...
Как прикол - чем-то это смахивает на 386-ой с кешем и вынутой из мамки модулями памяти
PS: Пока замечательно в этом всём только одно - возможно постепенно собьют цену таким представителям
PIC32MZ2048ECM144 - 32-bit PIC Microcontrollers На них уже Lau и прочее давно крутится
GitHub - whitecatboard/LuaOS-PIC32MZ: Lua OS for PIC32MZ EF series