PHP-Skripts optimieren / Geschwindigkeit erhöhen

Wenn man ein Projekt fertiggestellt hat, geht es meistens an das Optimieren des Codes. Auch wenn man eigentlich schon während der Programmierung auf Performance achten sollte, gibt es auch einige Dinge, die man nachträglich noch ändern kann.

Auf reinholdweber.de werden über 40 Tipps und Tricks für höhere Ausführungszeiten vorgestellt. Da die Seite auf Englisch ist, fasse ich hier die wichtigsten zusammen.

  • Methoden, die unabhänig von Instanzen einer Klasse sind, sollten als statische Methoden deklariert werden. Das erhöht die Geschwindigkeit laut reinholdweber.de um den Faktor 4.
  • In For-Schleifen sollte der 2. “Parameter” keine Berechnung des Maximalwertes aller Durchläufe enthalten. Das sollte nämlich schon vorher geschehen. Man legt am besten eine Variable an: $max = count($bla) und verwendet dann $max in der Schleife.
  • Große Arrays sollten mit unset gelöscht werden, wenn sie nichtmehr benötigt werden. Das spart RAM!
  • Obwohl Interzeptormethoden (__get, __set, __call) sehr langsam sind, setze ich sie trotzdem ein. Denn die Vorteile, die die Methoden bieten, rechtfertigen auch die langsamere Ausführungszeit.
  • __autoload() verringert die Geschwindigkeit enorm. Angesichts der Tatsache, dass __autoload aber sehr nützlich ist und viel Arbeit spart, macht mir das nichts aus.
  • Bei includes oder requires sollte man absolute Pfadangaben machen, da das OS dann nicht erst den Pfad auflösen muss. Außerdem macht das die Fehlersuche einfacher.
  • Man sollte wann immer es möglich ist, auf Reguläre Ausdrücke und die preg_-Befehle verzichten und stattdessen auf PHP-Befehle wie strstr oder substr zurückgreifen.
  • Datenbankverbindungen sollten nach der Abarbeitung aller Queries geschlossen werden, um den MySQL-Server zu entlasten.
  • Der @-Operator zum Unterdrücken von Fehlermeldungen ist nicht nur Pfusch, sondern auch langsam.
  • Bei den Key-Angaben von Arrays sollen KEINE Konstanten verwendet werden! $row[id] ist extrem schlecht. Der Key sollte immer ein Integer oder (bei assoziativen Arrays) ein String sein: $row['id']
  • Methoden aus Elternklassen laufen nicht so schnell wie die Methoden aus den Kindklassen.
  • Das nutzen von ‘ statt ” ist schneller, da PHP bei ‘ nicht nach im String vorhandenen Variablen sucht.
  • Strings sollten bei der Ausgabe mit echo mit einem Komma statt einem Punkt verkettet werden.
  • ++$i ist schneller als $++
  • PHP-Funktionen und Methoden sind immer schneller als eigene Methoden und Funktionen!

Es sollte aber auch gesagt werden, dass langsame Skripts meistens nicht die Ursache für langsame Seiten sind. Oftmals ist es die schlechte Hardware oder die Anbindung des Servers ans Internet.

Hierzu gibt es einen weiteren guten (englischen) Artikel: http://phplens.com/lens/php-book/optimizing-debugging-php.php

Keine verwandten Beiträge gefunden.

1 Star2 Stars3 Stars4 Stars5 Stars (Wurde noch nicht bewertet)
Loading ... Loading ...

Dieser Artikel wurde von Simon verfasst.
Gelesen: 1557x heute: 4x

Dieser Artikel wurde am Freitag, Oktober 24th, 2008 um 16:10 in den Kategorien Wissenswertes geschrieben. Du kannst die Kommentare über den Feed (RSS 2.0) beobachten. Du kannst eine Antwort hinterlassen, oder einen Trackback von deiner Seite setzen.


2 Kommentare zu “PHP-Skripts optimieren / Geschwindigkeit erhöhen”

  1. Danke für den Tipp + Übersetzung, obwohl mir die Original-Version dann doch sicherer ist :) Unsereins kann ja englisch ;-)

  2. :) Ich hoffe, ich habe keine Fehler reingemacht…
    Danke für deinen Kommentar ;)

Hinterlasse einen Kommentar!

CommentLuv Enabled

Nein, mich gibt es nicht bei Twitter!

»Archiv

Easy-Profit.info
Angebote und Einkaufen klimaneutral -  bei kaufDA.de Browser-Statistiken
Dieser Blog ist gehostet bei ALL-INKL.COM - Webhosting Server Hosting Domain Provider