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
Message
Re: GNU is slow! / generates larger code
2005-01-04 by lpc2100_fan
Attachments
- No local attachments were found for this message.