Sincce I wondered how SDCC compares to other compilers, I did a quick
comparison of current compilers using Dhrystone on a C8051F120. I tried
to configure all compilers for the equivalent of the SDCC large memory
model, and enabled all optimizations except inlining.

It turned out that for all compilers, there was not much of a difference
between optimizing for speed vs. optimizing for size, so I'll only
report the results when optimizing for speed.

What mattered, however, was reentrancy (i.e. --stack-auto for SDCC), so
results with reentrancy are marked as (r).

SDCC: 6613 Dhrystones / s, 10604 Bytes.
SDCC (r): 5973 Dhrystones / s, 12886 Bytes.
IAR (r): 10865 Dhrystones / 2, 10608 Bytes.
Keil: 12230 Dhrystones / s, 8838 Bytes.
Raisonance: 9711 Dhrystones / s, 9096 Bytes.
Raisonance (r): 10865 Dhrystones / s, 9736 Bytes.

Philipp

P.S.: I would have also wanted to report stdcbench results. But Keil
doesn't seem to have a global switch for reentrancy (stdcbench uses
recursion). For Raisonance, there seems to be no working way of
disabling the extended keywords, which conflict with stdcbench variable
names.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to