Was taugt Autoloading wirklich? Ein Test…
Kommentare

Autoloading ist eine einfache Alternative zu selbst erstellten Abhängigkeits-Listen, um externe Bibliotheken ins Skript zu laden. Doch das Laden zur Laufzeit kostet ebenfalls Rechenzeit. Anthony Ferrara

Autoloading ist eine einfache Alternative zu selbst erstellten Abhängigkeits-Listen, um externe Bibliotheken ins Skript zu laden. Doch das Laden zur Laufzeit kostet ebenfalls Rechenzeit. Anthony Ferrara hat jetzt nachgemessen, ob die Rechnung unterm Strich aufgeht und befand, dass Autoloading dem manuellen Anlegen von Abhängigkeitslisten überlegen ist.

Dazu nahm er tausend Klassen, die er in zweimal drei Tests erst vollständig geladen hatte: einmal via Autoloading und einmal via festgelegter Liste. Hier gewann zunächst die Liste. Doch wenn nur 75 Prozent der Klassen benötigt werden, sinkt die Ladezeit via Dependency Injection um ein Drittel und liegt mit 21 Millisekunden gleichauf mit der hartcodierten Lösung. Reduziert man die zu ladenden Klassen auf die Hälfte, spart sich PHP 25 Prozent Rechenzeit gegenüber dem pauschalen Laden sämtlicher Klassen.

Ursprünglich wollte Ferrara mit den Messungen belegen, dass Autoloading sich nur in bestimmten Fällen lohnt. Doch er kam zum gegenteiligen Ergebnis: Erst wenn mehr als 75 Prozent der Klassen tatsächlich benötigt werden, erspart das Anlegen einer Liste dem Server ein paar Mikrosekunden Rechenzeit.

In den Kommentaren berichtet Adam Pippin, dass Autoloading vor allem in Verbindung mit dem Alternative PHP Cache brilliert: Bis zu 91 Prozent Zeit lassen sich mit Autoloading und aktiviertem APC sparen, wobei die Ersparnis mit fixierten Abhängigkeiten nur 82 Prozent beträgt.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -