Messages in this thread | | | Date | Mon, 25 Jun 2007 03:33:02 +0200 | From | Adrian Bunk <> | Subject | Re: -Os versus -O2 |
| |
On Sun, Jun 24, 2007 at 05:58:46PM -0700, Arjan van de Ven wrote: > > > I wouldn't care if CONFIG_CC_OPTIMIZE_FOR_SIZE was hidden behind > > CONFIG_EMBEDDED, but as long as it's available as a general purpose > > option we have to consider it's performance. > > I think you are missing the point. You tell the kernel to > OPTIMIZE_FOR_SIZE. *over performance*. Sure. Performance shouldn't be > EXTREMELY pathetic, but it's not; and if it were, it's a problem with > the gcc version you have (and if you are a distro, you can surely fix > that)
My point is commit c45b4f1f1e149c023762ac4be166ead1818cefef
CC_OPTIMIZE_FOR_SIZE is currently known as an experimental feature to improve the _performance_.
> > The interesting questions are: > > Does -Os still sometimes generate faster code with gcc 4.2? > > If yes, why? > > on a system level, size can help performance because you have more > memory available for other things.
For a given gcc version, there's a finite number of differences between -Os and -O2.
The interesting question is for which differences with gcc 4.2 we want the -Os version in the kernel for best performance. This should then be controllable through gcc options.
> It also reduces download size and > gives you more space on the live CD....
That's a different point.
If you don't care about performance but care about size then -Os is the best choice.
> if you want to make things bigger again, please do this OUTSIDE the > "optimize for size" option. Because that TELLS you to go for size.
Agreed, but CONFIG_CC_OPTIMIZE_FOR_SIZE should again be under CONFIG_EMBEDDED.
cu Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |