Hi Steve.

Re:
That's odd. The Quadravox package has a number of good qualities, but code size and speed are not amongst them. It isn't bad, but most things work out 10% to 20% smaller using mspgcc or IAR 1.26B. That's quite a lot on a small embedded processor. Some of my stuff which keeps running out of CPU power with Quadravox runs with time to spare using mspgcc. I wonder what is so different about your code that you find such a different conclusion?

Dunno ... though it's safe to say that we have not "massaged" the Salvo core code to perform better on any particular compiler.


The biggest code size differences comes the moment you include a floating point calculation. Quite a few apps use just one or two floating point calculations (e.g. for controlling the range of a divide at the end of a long measurement process - I usually do things the hard way, and avoid this). IAR is pretty good at only dragging in only the library code it needs. Other compilers don't seem to drag in the floating point stuff quite so incrementally, with bloated results.

We don't use floating point in any of our benchmarks / projects. Salvo is not in any way tied to anything FP, so there's not much point in our exercising the FP capabilities of any of our supported compilers.


I don't know how IAR v2.10A compares to v1.26B.

Someone I know doing comparisons found 2.10A produces significantly smaller and faster code. 0-10% seemed to be the range in their tests. I have 2.10A, but I haven't had a real reason to use it so far. I found the bits of 1.26B code I have looked at an odd mixture of good and bad, so there seems to be variable room for improvement depending how many of the good and bad things your particular code hits.

We now have v2.10A in-house, and it does appear to generate somewhat smaller code than v1.26B. It also reports things differently in the map file, and its libraries are incompatible with pre-v2 libraries (to be expected, as IAR has made this clear in the past). Our next release (v3.2.x, impending) will support it on a source-code level. Since many IAR users are still at v1.x, we have to come up with a viable solution to support v1.x and v2.x users, library-wise, and that will take some thinking ... and work!

Regards,
--

 ______________________________________
  Andrew E. Kalman, Ph.D.   a...@pumpkininc.com

Reply via email to