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