MOTD

Message Of The Day


Dhrystone-Benchmark mit GCC

Getestet wurde mit dhrystone 1.1 aus dem Paket "Keil uVision3". Verwendung fand der C-Compiler ECO-C-arm V2.2b mit IDE, der auf GCC 3.3.2 basiert. Die verwendete Lib stammt von PAULundSCHERER und ersetzt die newlib.

Dhrystone wurde für die Controller LPC2106, LPC2194 und LPC2138 übersetzt und auf real existierender Hardware ausgeführt. Die Controller wurden mit 60MHz Takt betrieben. Das MAM (Memory Access Module) war aktiv. Die Programme wurden aus dem internen FLASH heraus ausgeführt.

Folgende Werte ergaben sich:

SBC Controller Dhrystones Code Size
in Bytes
Mode Compiler
LC2138 LPC2138 56818
53763
4733
3541
ARM
Thumb
GCC 3.3.2
LC2194 LPC2194 61162
55401
4733
3541
ARM
Thumb
GCC 3.3.2
NET2106 LPC2106 61162
55401
4733
3541
ARM
Thumb
GCC 3.3.2

Auffällig sind die Unterschiede zwischen LPC2106/LPC2194 und LPC2138.

Zum Vergleich wurde das Programm mit dem Keil-Compiler übersetzt und auf NET2106 ausgeführt.

Die untenstehenden Werte wurden ausgegeben:

SBC Controller Dhrystones Code Size
in Bytes
Mode Compiler
NET2106 LPC2106 30211
30487
4512
3424
ARM
Thumb
Keil 2.40a

Die Grösse des durch den Keil-Compiler erzeugten Kodes ist mit dem des GCC vergleichbar. Die schlechten Dhrystone-Werte des Keil-Compilers, verglichen mit GCC erstaunen uns.

Eine ausführliche Diskussion dieser Problematik findet sich auf der Website
http://www.compuphase.com/dhrystone.htm.

www.mct.de