@@ -78,44 +78,50 @@ $\pi$ using a Gauss AGM method with help
7878from the [ ` decwide_t ` ] ( https://github.com/ckormanyos/real-time-cpp/blob/master/ref_app/src/math/wide_decimal/decwide_t.h )
7979template class.
8080
81- A typical range of performance classes is shown in the following table.
81+ A very wide range of microcontroller performance classes is shown in the following table.
8282The benchmark used is a ${\sim}100$ decimal digit AGM $\pi$ calculation.
8383
8484| Target | runtime $[ ms] $ | relative |
8585| --------------------| -----------------| ------------|
86- | ` am335x ` | 1.5 | 1.0 |
87- | ` stm32f446 ` | 5.1 | 3.4 |
88- | ` rpi_pico2_rp2350 ` | 6.3 | 4.2 |
89- | ` wch_ch32v307 ` | 8.0 | 5.3 |
90- | ` xtensa_esp32_s3 ` | 9.1 | 6.1 |
91- | ` rpi_pico_rp2040 ` | 19 | 13 |
92- | ` avr ` | 420 | 280 |
86+ | ` am6254_soc_ ` | 0.37 | 1.0 |
87+ | ` am335x ` | 1.5 | 4.0 |
88+ | ` stm32f446 ` | 5.1 | 14 |
89+ | ` rpi_pico2_rp2350 ` | 6.3 | 17 |
90+ | ` wch_ch32v307 ` | 8.0 | 22 |
91+ | ` xtensa_esp32_s3 ` | 9.1 | 25 |
92+ | ` rpi_pico_rp2040 ` | 19 | 51 |
93+ | ` avr ` | 420 | 760 |
9394
9495There are strikingly differing performance classes
9596for the $8$-bit MICROCHIP(R) AVR controller of the ARDUINO
9697and the $32$-bit ARM(R) 8 controller
9798of the BeagleBone Black Edition, Rev. C.
9899The $\pi$ calculation requires approximately
99- $420~ \text{ms}$ and $1.5~ \text{ms}$,
100+ $420~ \text{ms}$ and $1.5~ \text{ms,} ~ $
100101respectively, on these two microcontroller systems.
101102
103+ The $64$-bit ARM(R)v8-a (i.e., Cortex(R) A53) performs the
104+ calculation (running on one single A53 core of the PocketBeagle2 board)
105+ in $0.37~ \text{ms.}$
106+
102107The $32$-bit ARM(R) Cortex(R) M4F controller on
103108the ` stm32f446 ` board performs the calculation in
104109the middle of the two extremes, with a result
105110of $5.1~ \text{ms}$.
106111
107112The $32$-bit RISC-V controller (having a novel _ open-source_ core)
108113on the ` wch_ch32v307 ` board boasts a quite respectable
109- time of $8.0~ \text{ms}$.
114+ time of $8.0~ \text{ms.}$
110115
111116Running on only one core (core0) of the $32$-bit
112117controller of the ` xtensa_esp32_s3 ` board results in
113118a runtime of $9.1~ \text{ms}$ for the calculation.
114119
115120Using only one core (core1) on the $32$-bit ARM(R) Cortex(R) M0+
116121controller of the ` rpi_pico_rp2040 ` board results in a calculation
117- time of $19~ \text{ms}$. The next generation ` rpi_pico2_rp2350 `
122+ time of $19~ \text{ms.}~ $
123+ The next generation ` rpi_pico2_rp2350 `
118124with dual ARM(R) Cortex(R) M33 cores definitively improves on this
119- (still using only core1) with a time of $6.3~ \text{ms}$.
125+ (still using only core1) with a time of $6.3~ \text{ms.} ~ $
120126This is slightly more than $3~ \text{ms}$ times faster
121127than its predecessor.
0 commit comments