Laufzeitoptimierungsfrage

An die (PHP-) Profis:

Was ist schneller: Viele kleine und gezielt nur die nötigen Funktionen per Include reinziehen oder ein großes Include und ggf. 80% mehr an Funktionen reinholen als nötig?

Die Frage ist da m.E.:

Zeit für vielfaches Lesen von Platte (Filehandles etc.) vs. Interpretergeschwindigkeit

Mal ganz extrem:

100 Funktionen mit 50 Zeilen, wenn man nur 10 Funktionen braucht.

Danke
jwka

Ich glaub für solche Fragen bist du hier völlig falsch. Frag mal in der PHP-Dev Liste nach… Mein persönlicher Ratschlag wäre aber eher, dann du dir alles direkt in C schreibst. Denn alles was du hier versuchst an Optimierung rauszuholen ist wie mit Zitronen handeln.

paresy

PS: Schreibst du eigentlich auch Test-Klassen und Regressionstests für deine Library?

Im WebFront werden bei jeder Anfrage 60 kB Code von PHP verarbeitet. Für das Abfragen der normalen Aktualisierungen ist ein Bruchteil davon nötig. Dennoch sehe ich keinen Bedarf, das ganze zu splitten. Du kannst Dir auch mal große PHP-Projekte, wie z.B. Content-Management-Systeme ansehen: Dort werden bei jeder Anfrage viele includes mit noch viel mehr Funktionen geladen und nicht verwendet. Sowas ist wirklich zu vernachlässigen bei der Leistung, die heutige Systeme bieten. Stell Dir nur einfach mal vor, was alles im Programm passiert, wenn Du im Browser an der Scrollbar ziehst ;).

Und wenn Du Dich von dem Gedanken des Genau-Wissen-Wollens nicht lösen kannst: Schreib Dir doch einfach einen kleinen Benchmark.

Ähnliche Diskussion hatte wir hier schon mal.
Ich denke auch… bis die „Includes“ geladen sind, wäre das Script oft schon durchgelaufen. Die „Includes“ machen ein Script aber übersichtlicher.

@all:

Ich tendiere auch dazu, zu sagen, dass bei heutigen Maschinen vieles „egal“ sein sollte. Als Techniker neigt man aber zum „only seeing is believing“.

Ich frage deshalb immer mal wieder, weil man halt kaum Anhaltspunkte für eine „fundierte“ Meinungsbildung findet. Es ist so ein bischen „wie rede ich mir’s am besten schnell“.

Was ich suche sind halt auch so sachen wie

Realer „Lese-Durchsatz“
Interpreter-Codezeilen pro Zeiteinheit.

jwka