Przez lata, używając różnych Linuksa, przyzwyczaiłem się do rytualnego używania wstępnego linku, aby przyspieszyć ładowanie aplikacji.
Jednak zalety uruchamiania wstępnego linku są negowane za każdym razem, gdy pakiet jest instalowany ponownie, ponieważ wszystkie jego zależności i osoby na nim zależne muszą zostać ponownie połączone.
To wstępne linkowanie może powodować wiele problemów, a jednym z nich jest binarne unieważnienie MD5, które jest problematyczne dla rzeczy, które porównują MD5 z poprzednimi wersjami lub używają MD5 do ustalenia, czy plik binarny został zmieniony, a zatem nie chce się go wyczyścić po usunięciu pakietu .
Ostatnio komputery stały się znacznie szybsze, a wydajność prelinkowania nie jest obecnie zauważalna.
Czy używanie prelink jest nadal racjonalną koncepcją, czy może można go odrzucić i pozostawić jako coś z minionej epoki?
źródło
Nie powiedziałbym, że należy go arbitralnie odrzucić, ale zdecydowanie powiedziałbym, że jego użycie powinno być nieco bardziej przemyślane.
Na nowoczesnym komputerze wyższej klasy, który jest często aktualizowany, prelink może nie być użyteczną optymalizacją. Jednak nadal istnieje wiele przypadków, w których warto byłoby z niego skorzystać. Na przykład na starszym lub niższym komputerze lub na komputerach, które są dość statyczne i nie doświadczają częstych zmian ani aktualizacji. Może być również opłacalne, jeśli masz dużą liczbę programów uruchamianych wielokrotnie (mogę pomyśleć o kilku sytuacjach, w których możesz mieć programy uruchamiane w krótkich odstępach czasu lub równolegle, gdzie wstępne linkowanie może poprawić wydajność).
Podsumowując, musisz wziąć pod uwagę swoją konkretną sytuację, a następnie zdecydować, czy korzyści przewyższają dodatkową pracę i wysiłek.
źródło
Powiedziałbym, że prelink jest zdecydowanie przydatny na serwerach dla wielu użytkowników, takich jak na przykład serwery LTSP używane w szkołach i kafejkach internetowych. Prelinkowanie nie tylko przyspiesza ładowanie aplikacji, ale także poprawia wykorzystanie pamięci RAM i przeładowanie dysku ze względu na rywalizację między użytkownikami, umożliwiając wielu innym jednoczesnym użytkownikom na serwerze.
źródło
Myślę, że ceny spadające pamięci stają się coraz mniej przydatne. Jeśli nadal chcesz nieco przyspieszyć, możesz przejrzeć wstępne ładowanie .
źródło
Decyzję pozostawiam wersji systemu operacyjnego. Jeśli domyślnie system operacyjny decyduje się na regularne wywoływanie prelink za pomocą crona, może być dobrze, że nie jest to tak przydatne. Mam nadzieję, że twórcy dystrybucji zastanowili się, zanim domyślnie dodadzą / usuną opcję wstępnego linkowania. Więc wybieram się z nimi, zamiast samodzielnie analizować różne rzeczy.
źródło
Gentoo używa prelink. Obchodzą problem z md5sum, ignorując informacje o prelinku obliczające skrót.
Prelink zawsze zapewnia zwiększenie prędkości, chociaż może być coraz mniej zauważalny, gdy sprzęt staje się szybszy. Jedynym sposobem, aby wiedzieć na pewno na swoim sprzęcie, jest wyłączenie wstępnego linku i sprawdzenie, jak lubisz spowolnienie uruchamiania aplikacji.
Sidenote: OS X również kiedyś robił formę wstępnego linkowania, ale zostało to porzucone na rzecz połączonej pamięci podręcznej, którą link utrzymuje. Najlepsze z obu światów, bez zmian binarnych i bez rzeczywistych kosztów ogólnych w porównaniu do normalnego łączenia. Mam nadzieję, że Linux w pewnym momencie podejmie ten pomysł :)
Aktualizacja: I niedawno próbował prelinkowania na Linuksie , a dla zestawiania Cscope z wielu plików i procesów Mam zwiększenie prędkości o 5%.
źródło