Performance benchmark compared to Cortex M4 series

taral.shah
Posts: 1
Joined: Wed Mar 21, 2018 7:36 am

Performance benchmark compared to Cortex M4 series

Postby taral.shah » Wed Mar 21, 2018 7:44 am

Hello all.
ESP8266 and ESP32 are very nice chipsets with wide open source support and tools. I was just comparing ESP32 which is having Xtensa dual-core (or single-core) 32-bit LX6 microprocessor, operating at 160 or 240 MHz. We are thinking to migrate our product to ESP32.
So I wanted to know how it stands in terms of performance when it is compared to other ARM Cortex-M4 series microcontrollers?
Searching internet was not that much helpful, because Tensilica xtensa lx6 is not widely adopted yet.
Can any member or official Espressif developer here, give me this useful information?

Thanks in advance for your precious time efforts.

johnsmith
Posts: 1
Joined: Mon Mar 12, 2018 5:19 pm

Re: Performance benchmark compared to Cortex M4 series

Postby johnsmith » Tue Feb 26, 2019 3:53 pm

Funny, I was looking for the same thing, and found:
http://www.eventiotic.com/eventiotic/fi ... d6bb4b.pdf
As I've understood, Extensa LX6 (esp32 CPU) is aprox. on par with Cortex M4, but below M7 :cry:

Also interesting read: https://nullcon.net/website/archives/pd ... final).pdf

Deouss
Posts: 425
Joined: Tue Mar 20, 2018 11:36 am

Re: Performance benchmark compared to Cortex M4 series

Postby Deouss » Wed Feb 27, 2019 2:21 pm

From what I see in that pdf - Xtensa is a beast)
"Hello World" 6 Asm instructions vs 9 ARM !! :)
I think ARMs are fairly old tech.

User avatar
luisonoff
Posts: 40
Joined: Fri Feb 09, 2018 12:20 pm

Re: Performance benchmark compared to Cortex M4 series

Postby luisonoff » Thu Feb 28, 2019 9:34 am

I did a very similar comparison in terms of performance and energy consumption with info and tests gathered from the internet a while ago... can't find my notes on that.

If I remember correctly, the "only" good things about Xtensa and ESP32 were the price, the higher clock and dual core, and of course wifi. With drawback of poor support in terms of compilers and compatible tools, and much worse in terms of energy efficiency.

For example, the new Arm Cortex-M33 has a much better performance ratio per mA or per MHz. I'm telling from memory but I recall that in theory single core M33 at 120MHz was equivalent in performance to dual core ESP32 at 240MHz, while consuming much less.
Or the Cortex M7 from ST consuming 100mA (1.4x vs ESP32 which consumes aprox 70mA) and giving 5x more performance than ESP32.

I believe the "poor" performance of ESP32 has to do with access to external flash/ram, and cache stuff, etc.

I really wish Espressif left Xtensa apart and used ARM or RiscV for future chips.
Please somebody correct me if I am mistaken in my conclusions.

ESP_Sprite
Posts: 9766
Joined: Thu Nov 26, 2015 4:08 am

Re: Performance benchmark compared to Cortex M4 series

Postby ESP_Sprite » Thu Feb 28, 2019 10:09 am

FWIW, for new chips we're certainly not married to using Xtensa, so you may see a different architectures show up eventually. We're certainly also looking into making chips on the more-powerful side of things.

User avatar
rudi ;-)
Posts: 1731
Joined: Fri Nov 13, 2015 3:25 pm

Re: Performance benchmark compared to Cortex M4 series

Postby rudi ;-) » Sat Mar 02, 2019 11:07 pm

ESP_Sprite wrote:
Thu Feb 28, 2019 10:09 am
FWIW, for new chips we're certainly not married to using Xtensa, so you may see a different architectures show up eventually. We're certainly also looking into making chips on the more-powerful side of things.
finally, public is spoken about it :)
;-)
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪

StridingDragon
Posts: 46
Joined: Fri Aug 02, 2019 11:59 pm

Re: Performance benchmark compared to Cortex M4 series

Postby StridingDragon » Sat Dec 10, 2022 4:28 am

The biggest performance bottleneck of the ESP32 is its slow SPIRAM—80Mhz at the most. It turns any memory-intensive application into molasses. Even DMA transfers are completely bottlenecked by it. Further, what little of the 240MHz memory on-chip memory there is, is way too little for any serious application and to make matters worse, it is bifurcated so you cannot even allocate decent-sized chunks of it.

The ESP32 does not need a better processor, really. The Xtensa is actually quite a beast. What it needs is a faster SPI bus.

…and a few more GPIO pins so you don't lose JTag as soon as you add a few components.

ESP_Sprite
Posts: 9766
Joined: Thu Nov 26, 2015 4:08 am

Re: Performance benchmark compared to Cortex M4 series

Postby ESP_Sprite » Sun Dec 11, 2022 1:45 am

You may want to look at the ESP32-S3 then. It supports octal DDR PSRAM, which is 4x as fast as the quad SDR PSRAM that is in the ESP32, and rather than using JTAG and serial pins for flashing and debugging, it has a built-in USB-serial-JTAG converter; you only need two pins and you can connect those directly to an USB port of your computer to debug/flash the system. Oh, and it's got those 'few more GPIOs' you want on top of that as well.

Who is online

Users browsing this forum: Baldhead and 89 guests