Andreas Korthaus: Performance-Verlust durch OOP?

Beitrag lesen

Hi!

Prinzipiell erzeugt OOP natürlich Overhead, wenn man es aber geschickt anwendet, kann es durchaus auch vorteilhaft sein:
http://www.sitepoint.com/blog-post-view.php?id=223760
http://www.sitepoint.com/blog-post-view.php?id=224444

Nach Möglichkeit solltest Du Referenzen verwenden. Da ich das Script nicht kenne kann ich auch nichst zum Problem sagen, aber vermutlich hat es damti zu tun dass Du durch die etwas "bwschränkte" OOP in PHP4 ständig Objekte/Daten "rumkopierst", anstatt mit Referenzen auf die Daten zu arbeiten. Es kann z.B. gut sein dass Dein Scriupt mit PHP5 _erheblich_ schneller wird. Wenn Du kein PHP5 verwenden kannst, musst Du eben manuell dafür sorgen dass Objekte wo immer möglich per Referenz übergeben werden.

Es handelt sich um ein Script, das mit domxml_open_file() eine HTML-Datei einliest und sich aus dem DOM-Baum das Element mit der ID "content" holt.

Die domxml Extension ist nie über einen experimentellen Status hinausgekommen, und wird es auch in Zukunft nicht mehr, da es für PHP5 bereits eine vollständig überarbeite DOM-Extension gibt. Das solltest Du evtl. berücksichtigen.

Dieses Element und seine Kinder werden nun rekursiv durchlaufen.
Textknoten in bestimmten Elementen (P, TD, DIV, SPAN) werden nach Glossarbegriffen durchsucht. Gefundene Begriffe werden durch entsprechende DFN-Elemente ersetzt.

Wieso musst Du das unbedingt so aufwändig parsen? Könntest Du die Ersetzungen nicht direkt im String vornehmen?

Aber ich möchte das Ganze gerne kapseln. Und vor allem möchte ich wissen, WARUM das Script in der OOP-Version plötzlich so elend langsam ist.

Wäre für Hinweise sehr dankbar.

schlecht zu sagen ohne Code ;-)

Der Code ist recht umfangreich. Kann ihn aber bei Interesse gerne posten.

Wenn es etwas mehr Code ist am besten hochladen (als .phps oder sowas), oder sonst, wenn das nicht möglich ist sowas verwenden: http://rafb.net/paste/

Grüße
Andreas

PS: Interessant ist auch das folgende Posting von Kristian Köhntopp: http://www.php4-forum.de/forum.php3?nr=172421&site=0

--
SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/