![]()
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 BytesMode Compiler LC2138 LPC2138 56818
537634733
3541ARM
ThumbGCC 3.3.2 LC2194 LPC2194 61162
554014733
3541ARM
ThumbGCC 3.3.2 NET2106 LPC2106 61162
554014733
3541ARM
ThumbGCC 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 BytesMode Compiler NET2106 LPC2106 30211
304874512
3424ARM
ThumbKeil 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
www.mct.de
http://www.compuphase.com/dhrystone.htm.