Mailinglisten-Archive |
Marco Gabriel wrote: > hat jemand erfahrungen gemacht, inwiefern die performance sinkt > (oder > steigt?) wenn ich klassen verwende anstatt php-code in die > html-seite rein > zu fitscheln? ist mir mein webserver böse, weil er dann etwas mehr > ins > schwitzen kommt? Die Frage ist wirr. Klassen sind ein Begriff aus der Objektorintierten Programmierung, einzelne Codepassagen können sehr lang sein und (theoretisch) durchaus mit HTML Code vermixt sein. Was Du wissen willst, ist: "Sind inlude/requiere performancerelevant". Dies ist zu verneinen. Der zusätzliche Zugriff auf das Filesystem der Maschine kostet praktisch keine Zeit, der Cache sollte voll zuschlagen. Interessanter ist die Frage, ob man massiv objektorientiert in PHP3 programmieren sollte. Das ist von der reinen Perfomancesicht her zu verneinen. Füll mal ein Array mit Integern und finde heraus wann die Aufgabe besonders schnell gelöst wird. Hierbei testes Du die Varianten: globale Variable, lokale Funktionsvariable, lokale Variable in einer Methode und Instanzvariable aufgebaut durch eine Methode. Die Reihenfolge der Nennung sollte die Geschwindigkeit wiederspiegeln. Ich habe Unterschiede zwischen der globalen Variable und der Instanzvariable von bis zu 20% gemessen. Da die Applikationslaufzeit in die Gesamtrechnung "Webserver" nur zu einem geringen Teil eingeht und innerhalb der Applikationslaufzeit nochmals die nicht optimierbaren IO Operationen abgezogen werden sollten, kann man nach meiner Erfahrung durchaus objektorientiert in PHP3 programmieren, ohne nennenswerte Einbußen zu erleben. Drei, vier oder auch mal fünf Ebenenen in der Klassenhierarchie und durch Assoziationen nochmals eine größere Anzahl von Ebenen (rd. 10) in der Objekthierarchie stellen meiner Erfahrung nach jedoch die Grenze da. Angesichts der limitierten OO Fähigkeiten von PHP3 wird aber auch niemand wirklich mehr versuchen... PHP4 verschiebt die Grenze spürbar nach oben. Zahlen habe ich nicht parat. Nur eines habe ich gehört: statische Klassen in PHP4 sollen langsam sein, ob's stimmt weiß ich nicht. Ulf -- Ulf Wendel NetUSE Kommunikationstechnologie GmbH Siemenswall, D-24107 Kiel, Germany Fon: +49 431 386435 00 -- Fax: +49 431 386435 99
php::bar PHP Wiki - Listenarchive