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