objprelink
Tomasz Kłoczko
kloczek w rudy.mif.pg.gda.pl
Nie, 19 Sie 2001, 18:08:15 CEST
On Fri, 17 Aug 2001, Michal Kochanowicz wrote:
> On Fri, Aug 17, 2001 at 08:57:55PM +0200, Tomasz Kłoczko wrote:
> > Tak wogóle to po co jest ten objprelink ?
> Jest to program który modyfikuje pliki *.o podmieniając relokacje:
> wszystkie odwołania do funkcji X w innym moule zamieniane są na skok do
> wspólnego miejsca w tym samym module w którym znajduje się właściwy skok
> do innego modułu.
>
> Powoduje to dla każdej funkcji importowanej z innego modułu zamienienie
> wielu odwołań do innego modułu na wiele odwołań do tego samego modułu
> plus jedno odwołanie do innego.
>
> Relokacje związane ze skokiem w obrębie jednego modułu są wykonywane
> przez ld znacznie szybciej niż związane ze skokiem do innego modułu.
>
> W ten sposób wyraźnie można skrócić czas ładowania programów w C++.
> objprelink został napisany z myślą o QT/KDE i tam ponoć daje wyraźne
> przyspieszenie --- ale można go użyć na dowolnym programie.
>
> Własnie dodałem obsługę objprelink do qt i tak zbudowany wydaje się
> działać poprawnie. Zaraz wrzucę to do CVS. Jeśli nie ma sprzeciwów to
> dodam to też do kdelibs i kdebase.
>
> Co do masowego użycia objprelink to może rzeczywiście się zagalopowałem,
> ale wydaje mi się, że przebudowanie QT, KDE i może jeszcze jakichś
> dużych programów C++ ma sens.
Wychodzi na to że ładowanie owszem bezie szybsze ale działanie
aplikacjibedzie juz przez to spowalniane (bo skoki bedą musiałby odbywać
sie przez dodatkową referencję).
Tak czxy inaczje w tej chwili wsparcie do objprelink widże tak, że
to musi być tak czy inaczej opakowane bcondem bo:
- bedzie przeszkadzać dla %debug (wątpię żeby gdb się połapał że ktoś
minipulował tablicach relokacji),
- nie wiem na ile samo rozwiązanie jest do końca juz
stabilne/poprawne (może to jest dmuchanie na zimne ale ..).
Niemniej nie mam nic przeciwko temu żeby eksperymentalnie bcond do
objprelink był domyslnie włączony. W takich warunkach masz tu wolne pole
do działania. Pasuje ?
kloczek
PS. objprelink po kilku drobnych poprawkach w specu puściłem właśnie do
przebudowania.
--
-----------------------------------------------------------
*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