Andy Ross wrote:
> 
> Julian Foad wrote:
>  > Code size:
>  >            seconds    bytes  options
>  > Smallest:    203     761360  -g -O1 -finline-limit-6 -finline-functions
>  > Smallest O2: 233     767064  -g -O2 -finline-limit-6 -finline-functions
>  > Default:     388    1328284  -g -O2
>  > Largest:     388    1328284  -g -O2
> 
> Wow.  Good stuff.  So basically we're looking at a 2x difference in
> both size and compile time between the best and (what we're using now)
> the worst.

Yes.

> One nit, though, is that those executables are unstripped (I presume
> -- the -g option would be useless without it).  So presuming that the
> symbol table never enters the cache at runtime (it doesn't, except
> when inspected by the debugger) and that the symbol tables should be
> the same for both the inlined and non-inlined versions (probably
> true), the actual difference in code size is going to be significantly
> *larger* than 2x.  Eeek.

No!  The sizes I listed are the size of the ".text" segment (code plus constant data), 
not the size of the library file.  So it's less than a factor of two, but still "wow". 
 (I assumed the size of ".data" and ".bss" segments wouldn't change in this 
experiment, but I should have recorded all the results and checked afterwards.)

> I'm going to start turning off inlining using the arguments above as a
> matter of habit, I think.  If I don't see any significant performance
> change, I'll come back and start whining to the list that we make this
> the default. :)

I might do the same.

- Julian.

_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to