-Os

Tomasz Kłoczko kloczek w rudy.mif.pg.gda.pl
Śro, 30 Kwi 2003, 22:55:07 CEST


On Wed, 30 Apr 2003, Michal Moskal wrote:

> On Sat, Apr 26, 2003 at 08:17:54PM +0200, bajcik w kolos.math.uni.lodz.pl wrote:
> > On Thu, Apr 24, 2003 at 11:27:24PM +0200, Tomasz Pala wrote:
> > > Zaś w skrócie:
> > > 1. programy liczące; dużo siedzenia w krótkich pętlach na długim
> > >    przedziale czasu: -O2
> > > 2. programy-krowy; długie pętle o małej liczbie przebiegów: -Os
> > > 3. programy czekające na akcję użytkownika: -Os
> > > 
> > > Uzasadnienie:
> > > 1. krótki kod mieści się bez żadnej pomocy w cache, a wyleci z niego nie
> > >    za sprawą niezmieszczenia się, a shedulera. Ważne jest szybkie
> > >    wykonanie, a więc skoki i obsługa stosu. Obrabia dane wielokrotnie
> > >    większe od samego kodu.
> > 
> > z ciekawości: a możeby tak zwiększyć kawałki czasu w których procesy
> > mają procesor? Przy robieniu pewnych obliczeń proces będzie przerwany (a
> > przez co wyleci z cache) mniej razy.
> 
> Kwant czasu w Linuxie to w tej chwili 1/100s (na x86, na axp 1/1024,
> na arm 1/32), czyli bardzo dużo :-) (w 2.5 chyba jest 1/1024 ale nie wiem).
> Tak czy inaczej, wejście w kod schedulera w kernelu nie oznacza, że
> wszystko wyleci z cache, tylko mały kawałek, który ów scheduler zajmie.

Tak czy inaczje docelowo chyba tez warto bedzie przeprowadzic konkretne 
próby z kompilacja kernela z -Os. Widze ze w SuSE tak robią.
Ktoś ma jakieś propozycje testół które mogłbny pokazać róznicze w 
wydajności po takiej zmianie ?

kloczek
-- 
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*



Więcej informacji o liście dyskusyjnej pld-devel-pl