Wo ist der Unterschied, ob ich einen oder hundert include-Befehle auf einer Seite benutze?
Dein schnell laufender, schnell sortierender, aber sonst leider dummer Mitarbeiter (der ist ja nur ein Computerprogramm) kann hundert mal losgehen um einzelne Blätter (kleine Dateien) aus dem Archiv (von der Festplatte, einem Storage) holen (und in ein Fach legen) oder einen ganzen Stapel (große Datei) auf einmal. Holt er den Stapel auf einmal, muss er diesen aber in 100 Blätter zerlegen und diese Blätter dann in die Fächer einlegen.
Was jetzt insgesamt schneller geht ist von einigen Faktoren (Bedingungen) abhängig: Wie lange braucht er um das Zeug zu holen und wie lange um es zu sortieren?
Geheimtipp: Das Archiv ist in den meisten Fällen ziemlich weit weg. Aber da der Mitarbeiter PHP tatsächlich gar nicht selbst ins Archiv geht (Er geht nur bis zu einem anderen Mitarbeiter namens „OS“, der eine Art sehr schnelle Stockwerksbibliothek („Cache“) betreibt und Kopien der von ihm aus dem fernen Archiv geholten Blätter eine Weile dort aufhebt) ergeben sich neue Nebenbedingungen. Und die haben die Eigenschaft, sich aller paar Sekunden zu ändern, was eine Vorhersage schwierig macht. Man könnte allenfalls in eine Statistik schauen um zu wissen zu vermuten, was (wohl, mit welcher Wahrscheinlichkeit) schneller geht und sich Gedanken über den besten (aber vor allem den schlechtesten Fall: keine Datei ist im Cache) machen.
„Worst Case“:
Die Dateien liegen auf einem NAS-Server mit Magnetfestplatten und sind nirgendwo gecacht. Je Datei werden mindestens 50 Millisekunden gebraucht. Bei hundert Dateien also mindestens 5000 Millisekunden oder mindestens 5 Sekunden allein für das Abholen der Dateien.
„Best Case“:
Die Dateien liegen in einem lokalem Cache (RAM). Für jede einzelne Datei wird nur ein Bruchteil einer Millisekunde benötigt. Bei hundert Dateien insgesamt weniger als 1/10 Sekunde.
Hint:
Auf einem hoch belasteten „shared server“ dürfte der “Best Case“ eher selten sein.