objprelink

Michal Kochanowicz michal w michal.waw.pl
Pią, 17 Sie 2001, 22:54:52 CEST


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.

Więcej informacji jest tutaj:
http://www.research.att.com/~leonb/objprelink/
-- 
--= Michal Kochanowicz==--==--==BOFH==--==--==michal w michal.waw.pl =--
--= finger me for PGP public key or visit http://michal.waw.pl/PGP =--
--==--==--==--==--==-- Vodka. Connecting people.--==--==--==--==--==--



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