Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: GNU is slow! / generates larger code

2005-01-04 by lpc2100_fan

Hi,

given that you have "unlimited" memory resources, and you do not need
to optimize the last 20-50% performance out of your application, GNU
is probably a great solution. In my opinion you do have unlimited
memory if you migrate an 8-bit application using 8k code into a 32-bit
ARM device with 64K code or more. Also you performance is almost
unlimited compared to the 8-bit device, why bother with optimizations?
If you however need to fit your code into a 32kbytes memory because
you will manufacture 10000, 100k or more of the same device, it does
make a difference to buy a 32k or a 64k device. The offset might be
just 50 cent but multiplied with 100k it adds up. The same is true for
performance. If you need to run the micro 30% faster to get the same
performance, you eat up 30% more (battery?) power. 

My experience with GNU tools is limited, did some benchmarks (we
prefer propriety tools) but the libraries suck! Using libs blows up
the code to multiples of propriety compilers, it also slows down the
performance to a factor of way below 50% of other compilers during
extensive usage of lib-functions. General code outside libs was about
20-30% larger than e.g. ARM ADS generated code. More difference when
using Thumb and ARM mixed code.

Using the LPC2000 in the small packages, 48 or 64 pins leaves you with
limited resources in memory. Making the best use of this memory is not
going to happen with the GNU compiler. 

If you are however doing a project that needs to have minimal
investment and can deal with a living being like the GNU compiler (how
many releases in 12 months?) constantly migrating your code or being
left behind, the GNU compiler is probably your best solution.
btw. my salary is not paid by one the of the compiler vendors ;-)

Buying a prop. compiler    -xxx $
Saving memory space        +xxx $
Being 20-30% faster        +xxx $
Calling the 1-800 support number of the compiler vendor -> priceless

Cheers, Bob

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.