On Fri, Aug 22, 2003 at 01:12:52PM -0500, Bill Gatliff wrote: > With optimizations turned on, however, I've seen gcc really close the > gap with ADS since the 2.95.x days. I haven't done any formal > comparisons, but I haven't seen any heinous output from gcc, either. I've recently compared size/performance of an eCos application built w/ 2.95.x and with 3.2.x, and I've seen a size reduction of about 20% or so, along with a corresponding increase in performance. The two builds weren't _completely_ identical, but he differences shouldnt have been much. > One potential source is runtime libraries. ADS's library > structure is pretty granular, and their linker seems to be > pretty good at discarding unused code. GNU-compatible runtime > libraries don't seem to be as fine-grained in their > implementation as ADS, so the GNU linker isn't as helpful at > keeping unused modules and/or functions out of the resulting > image. Or maybe it's because the GNU linker is more > simplistic, and the library architecture isn't the source of > the bloat. Dunno. If you put each function in a separate section, and turn on garbage collection in the linker, then the granularity of the linking process should be at the function level rather than at the object file level. Without those options enabled, you might end up with a fair number of un-needed library functions. -- Grant Edwards grante@xxxxxxxx