PLD CVS: SPECS wiget
Marcin Dalecki
dalecki w cs.net.pl
Nie, 7 Mar 1999, 22:51:21 CET
Tomasz K³oczko wrote:
>
> On Sun, 7 Mar 1999, Arkadiusz Mi¶kiewicz wrote:
>
> > [pi±tek, 05 marzec 1999], Tomasz K³oczko napisa³(a):
> >
> > > On Fri, 5 Mar 1999, Wojciech Slusarczyk wrote:
> > >
> > > > On Fri, 5 Mar 1999, [ISO-8859-2] Tomasz K³oczko wrote:
> > > >
> > > > > Przrecie¿ to dzia³a. Dowód w postaci rpm-a którego wczoraj zrobi³em, a
> > > > > który jest na test. O co tu chodzi³o ?
> > > >
> > > > O to ze sie na plceki wykladal na chyba LYMainLoop.c jezeli jakakolwiek
> > > > optymalizacja byla wlaczona ..
> > >
> > > No ale to posz³o :)
> > Bo kompilowa³e¶ nie z tymi flagami co trzeba ... ;)
>
> To znaczy, ¿e flagi s± nie w³±¶ciwe (te o których my¶lisz).
> Albo poka¿esz b³±d w lynxie albo w kompilatorze (przy flagach
> ostzrejrzyszych) albo zapominamy o mocniejszej optymalizacji.
Tomek poczytaj sobiê proszê dokumentacjê do kompilatora.
-O3 nie jest pomy¶lane do standardowej kompilacji aplikacji, albowiem
oni nie rêcz±, ¿e generuje w ka¿dym mozliwym wperwersyjnym przypadku
zastosowania C w 100% poprawny kod!
Np. funkcja eksportowana i automatycznie inline-owana w powi±zaniu
ze wska¼nikami na funkcje itp. Pytanie za milon: czym jest teraz ten
pointer? Tak czy siak danej funkcji nie identyfikuje ju¿ wiêcej
jednoznacznie,
co nie jest zgodne z jego pierwotn± semantyk±. S± lepsze istotniejsze
ale
ten przyk³ad wpad³ mi akurat najszybciej do g³owy. Klasykiem jest
równie¿
kwestia operacji wektorowych na ³añcuchach w powiazaniu z pointerami
modyfikuj±cymi je jako dzia³anie uboczne lub gdy te ³añcuchy siê
nawzajem
nak³adaj± w pamiêci.
Nale¿y raz na zawsze zapomnieæ ¿e do -O mo¿na dopisaæ wiêcej ni¿ 2.
Chyba ¿e ma siê jaki¶ plik zawieraj±cy krytyczne wstêgi jakiej¶
numerycznej
aplikacji, to wtedy zaznajominy z tym co czyni deweloper mo¿e spróbowaæ
!rêcznie! czy mu siê nie przyda -O102 na ten !jeden! plik.
Np. mia³oby to sens dla pewnych czê¶ci XFree86 takich jak przewijacze
pixmapów, ale stanowczo nie dla pe³nego systemu! Tak wiêc w tym
przypadku
albo nale¿a³oby !rêcznie! zidnetyfikowaæ porcje programu które warto
kompilowaæ z dodatkowymi flagami, albo daæ sobie spokuj. Na mojej
maszynce
dla grafiki w±skim przesmykiem jest tak czy siak magistrala i czas
spo¿ywany na przeskakiwanie miêdzy procesami (100 razy na sekundê)
a nie sam procesor.
Przypomnij sobie proszê równie¿ co mówi³em na temat tego jak
oddzia³ywuj±
"nadoptymalizacje" na faktyczny czas przebiegu du¿ych aplikacji.
Pomy¶l chwilê nad tym ile choæby samych cyk³ów potrzebuje processor
na za³adowanie komendy a ile na hmm... powiedzmy multiplikacjê dwuch
ca³kowitych. Ponadto np. sama alokacja dodatkowych
stron pamiêci te¿ nie jest darmowa.
--Marcin
Więcej informacji o liście dyskusyjnej pld-devel-pl