Im Laufe der Jahre habe ich mich mit verschiedenen Linux-Boxen daran gewöhnt, Prelink rituell zu verwenden, um die Ladezeiten von Anwendungen zu beschleunigen.
Die Vorteile der Ausführung von Prelink werden jedoch bei jeder Neuinstallation eines Pakets zunichte gemacht, da alle Abhängigkeiten und Abhängigkeiten neu verknüpft werden müssen.
Diese Vorverknüpfung kann mehrere Probleme verursachen, und eines davon ist die binäre MD5-Ungültigmachung, die problematisch ist, wenn MD5 mit Upstream-Revisionen verglichen wird oder wenn MD5 verwendet wird, um festzustellen, ob die Binärdatei geändert wurde oder nicht, und daher beim Entfernen des Pakets nicht bereinigt werden soll .
In letzter Zeit sind Computer viel schneller geworden, und die Vorteile der Prelink-Vorteile sind jetzt kaum noch bemerkenswert.
Ist die Verwendung von Prelink immer noch ein rationales Konzept oder kann es beiläufig verworfen und als eine vergangene Ära zurückgelassen werden?
quelle
Ich würde nicht sagen, dass es willkürlich verworfen werden sollte, aber ich würde definitiv sagen, dass seine Verwendung etwas mehr überlegt werden sollte.
Auf einem modernen High-End-Computer, der häufig aktualisiert wird, ist Prelink möglicherweise keine nützliche Optimierung. Es gibt jedoch noch eine Reihe von Fällen, in denen es sich lohnen könnte, sie zu verwenden. Zum Beispiel auf einem älteren oder niedrigeren Computer oder auf Computern, die ziemlich statisch sind und keine häufigen Änderungen oder Aktualisierungen erfahren. Es kann sich auch lohnen, wenn eine hohe Anzahl von Programmen wiederholt ausgeführt wird (ich kann mir einige Situationen vorstellen, in denen Programme möglicherweise schnell hintereinander oder parallel ausgeführt werden, in denen das Vorverknüpfen die Leistung verbessern könnte).
Alles in allem müssen Sie Ihre spezifische Situation berücksichtigen und dann entscheiden, ob der Nutzen die zusätzliche Arbeit und den zusätzlichen Aufwand überwiegt.
quelle
Ich würde sagen, Prelink ist definitiv nützlich für Desktop-Server für mehrere Benutzer, wie z. B. LTSP-Server, die in Schulen und Internetcafés verwendet werden. Prelink beschleunigt nicht nur das Laden von Anwendungen, sondern verbessert auch die RAM-Auslastung und das Festplatten-Thrashing aufgrund von Konflikten zwischen Benutzern, sodass viel mehr Benutzer gleichzeitig auf einem Server arbeiten können.
quelle
Ich denke, mit den sinkenden Preisen für Speicher wird das Vorverknüpfen weniger nützlich. Wenn Sie die Dinge dennoch etwas beschleunigen möchten, sollten Sie sich mit dem Vorspannen befassen .
quelle
Ich überlasse diese Entscheidung der OS-Version. Wenn das Betriebssystem standardmäßig Prelink regelmäßig mit cron aufruft, ist dies möglicherweise nicht so nützlich. Ich hoffe, die Entwickler von Distributionen haben darüber nachgedacht, bevor sie sich dafür entschieden haben, standardmäßig die Prelink-Option hinzuzufügen / zu entfernen. Also gehe ich mit ihnen, anstatt die Dinge selbst noch einmal zu analysieren.
quelle
Gentoo verwendet Prelink. Sie umgehen das Problem mit md5sum, indem sie die Prelink-Info-Henne ignorieren, die den Hash berechnet.
Prelink gibt Ihnen immer einen Geschwindigkeitsschub, obwohl er mit zunehmender Hardware immer weniger auffällt. Die einzige Möglichkeit, auf Ihrer Hardware sicher zu sein, besteht darin, den Prelink zu deaktivieren und zu sehen, wie Ihnen die Verlangsamung beim Starten der App gefällt.
Nebenbemerkung: OS X hat früher auch eine Form der Vorverknüpfung durchgeführt, die jedoch zugunsten eines verknüpften Caches aufgegeben wurde, den der verknüpfte Cache selbst verwaltet. Das Beste aus beiden Welten, keine binäre Änderung und kein wirklicher Overhead im Vergleich zur normalen Verknüpfung. Ich hoffe, Linux greift diese Idee irgendwann auf :)
Update: Ich habe kürzlich versucht, unter Linux vorzulinken , und für eine Kompilierung von cscope mit vielen Dateien und Prozessen habe ich eine Geschwindigkeitssteigerung von 5% erhalten.
quelle