avr-libc-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-libc-dev] OPTIMIZE_SPEED for avr5?


From: Ned Konz
Subject: Re: [avr-libc-dev] OPTIMIZE_SPEED for avr5?
Date: Tue, 06 Mar 2007 11:37:08 -0800
User-agent: Thunderbird 1.5.0.9 (Windows/20061207)

Joerg Wunsch wrote:
As David Brown wrote:

Size is the main priority when you are low on flash space -
otherwise, it is irrelevant.  If your chosen AVR has 16k flash, then
it does not matter if the program code takes 2k or 15.9k of that
flash.  In particular, for smaller devices, program space will be at
a premium, while for the larger devices, much of the flash will
often be things like tables or other data that is of fixed size.

The issue here is, to the best of my knowledge, we don't have access
to the -O level when linking, so we cannot operate depending on the
user's wishes.  We thus have to decide for *one* implementation that
goes into the library.

if we could get to the -O level when compiling, we could create a reference to (or definition of?) an external symbol whose name and/or value is dependent on the -O flags used for the compilation. This could be used to pull in the appropriate library:

|#ifdef __OPTIMIZE__|
|#ifdef __OPTIMIZE_SIZE__|
   extern void __optimized_for_size(void);

#else
   extern void __optimized_for_speed(void);
#endif
#endif

Perhaps we could offer different sets of libraries containing these
functions in their speed-optimized version, in the same sense as we
are already offering different sets of printf and scanf libraries.
That way, the users can decide to use a different implementation if
they prefer (say, -lc is equivalent to -lc_size while there's a
different -lc_fast available).






reply via email to

[Prev in Thread] Current Thread [Next in Thread]