Was ist Prebinding?
MTN erklärt Fachbegriffe, Teil 6
Der inzwischen sechste Teil von "MacTechNews erklärt Fachbegriffe" beschäftigt sich heute mit einem Begriff, der Ihnen sicher schon einmal bei diversen Optimierungstools aufgefallen ist. Die Aktualisierung der sogenannten Prebindings soll demnach Geschwindigkeitsvorteile beim Starten von Programmen bringen, doch was sind das eigentlich für Informationen und bringt es wirklich etwas, regelmäßig manuell die Prebindings zu erneuern?
Viele erinnern sich noch an die Mac OS X Public Beta oder Mac OS X 10.0. Die Startzeiten der Applikationen waren extrem lang, ein Vielfaches der heute unter 10.2 und unter 10.3 notwendigen Startzeiten.
Dies lag daran, dass Mac OS X PB und 10.0 bei jedem Programmstart die Bibliotheken zusammensuchte, die von dem Programm verwendet werden; jeder Funktionszeiger musste nachgeschaut werden. So kam es, dass iTunes unter 10.0 manchmal 5-10 mal im Dock hüpfte, bevor es endlich gestartet war.
Mit 10.1 führte Apple einen Mechanismus namens Prebinding ein, der die Startzeiten von Applikationen deutlich verbessern sollte. In einer großen Datenbank wurden die Informationen, welche Programme welche Bibliothekssymbole (also Funkionen etc) wo finden. Mit Hilfe dieser Datenbank gelang es Apple, die Startzeiten mehr als zu halbieren, mit dem Nachteil, dass bei einem erstmaligen Start einer Applikation und bei einer Installation die Prebind-Informationen aktualisiert werden müssen. Dies kann auf langsamen Rechnern schon mal eine gewisse Zeit dauern.
Apple kam erst durch die Verwendung von dynamischen Bibliotheken in diese "Zwangslage". Aber mit 10.2 und 10.3, die jeweils einen verbesserten Prebind-Mechanismus mitbrachten, überwiegen die Vorteile der dynamischen Libraries bei weitem.
Ein Aktualisieren der Prebind-Informationen ist unnötig, das System aktualisiert selbstständig diese Datenbank. Das Prebinding beeinflusst nur die Startzeiten der Applikationen, nichts weiter. Häufig hört man, dass die allgemeine Performance (wie z.B. Fenster vergrößern etc.) durch das forcierte Aktualisieren der Prebind-Informationen gesteigert werden kann, dies ist schlichtweg falsch.