[PHP] Tipps/Tricks für Effizienz?

Dieses Thema im Forum "Webentwicklung" wurde erstellt von powernator, 28. Januar 2012 .

Schlagworte:
  1. 28. Januar 2012
    Tipps/Tricks für Effizienz?

    Hi,

    ich bin mir nicht sicher, ob es so einen Thread schon gibt (hier oder in anderen Foren), aber ich habe via Google und SuFu nichts gefunden.

    In den Semesterferien möchte ich mich an ein etwas größeres Projekt in PHP wagen. Wenn das wie geplant läuft, habe ich dann Scripte, die mehrere tausend Male am Tag aufgerufen werden. Nun möchte ich diese natürlich so effizient wie möglich gestalten, habe aber wie gesagt nichts wirklich brauchbares gefunden.

    Als Basis werde ich wohl mit dem Kohana-Framework arbeiten, vielleicht auch mit CodeIgniter, in Kohana habe ich schon etwas Erfahrung, in CI nicht - mal sehen.
     
  2. 28. Januar 2012
    AW: Tipps/Tricks für Effizienz?

    effizienz und framework wiedersprechen sich (ganz besonders CI)

    - halte dein script so klein wie möglich
    -> erstellt ne funktion statt einer klasse wenn es sich anbietet!

    - vermeide '@'

    - vermeide alte klassen und scripts
    -> bzw. recherchiere ein wenig ob es bereits bessere alternativen gibt.

    - erstell unittests und benchmarks um die best mögliche performance zu erziehlen

    - nutz die dir gegebenen funktionen statt neue zu erstellen.
    -> vordefiniert(nativ) ist immer schneller als selber erstellt.

    wenn du auf framework nicht verzichten möchtest, wäre ich persönlich eher für YII oder Zend
     
  3. 28. Januar 2012
    AW: Tipps/Tricks für Effizienz?

    Aber ist es nicht wahrscheinlicher, dass die Funktionen eines (bekannten) Framework effizienter laufen als eigene, da einfach schon länger daran gearbeitet wurde. Oder lohnt sich das erst, wenn man tatsächlich alle Funktionen des Frameworks nutzt, sonst ist dieses zu viel?

    Danke auch für die anderen Punkte.

    Habe bisher immer ohne Framework gearbeitet, dachte aber aus o.g. Grund, dass es nun vlt. Zeit wäre, eines zu nutzen.
     
  4. 28. Januar 2012
    AW: Tipps/Tricks für Effizienz?

    das mag stimmen, aber oft ist es halt so, dass ein framework viel mehr abdeckt als das, was du letztendlich nutzt.

    daher auch mein rat bez. YII oder Zend (Kohana kenn ich nicht), denn da kannst du weitestgehend nur die komponenten einbinden, die auch wirklich brauchst.

    am besten ist aber immer noch, wenn du dir die stellen aus den frameworks klaust und in eigenen komponenten zusammenfasst - aber natürlich nur, wenn du die zeit und lust dazu hast.

    eine klasse mehr oder weniger machen den braten auch nicht fett, aber wenn du wirklich auf effizenz gehen willst, wärs wohl die beste lösung.
     
  5. 28. Januar 2012
    AW: Tipps/Tricks für Effizienz?

    Eine andere Richtung wäre z.b. auch das kompilieren von PHP Code. Gibt es verschiedene Ansätze/Methoden beispielsweise ein Projekt von Facebook namens HipHop. So geben die Entwickler auf der GitHub-Seite folgendes zur Effizienz an:
     
  6. 28. Januar 2012
    AW: Tipps/Tricks für Effizienz?

    Du solltest ebenso die Entwicklung des JIT Compilers von HipHop im Auge behalten.
    Wurde erst neulich wieder n größerer Artikel von FB von veröffentlicht.

    Es gab sogar mal einen Thread hier der sich mit kleinen Programmierrichtlinien beschäftigt hatte.
    Anstatt array["blubb"] lieber array['blubb'] und son müll.
    Aber ehrlich gesagt finde ich ihn auch nicht mehr und ich glaube nicht das es die micro sekunde ^-5 machen die man durch die tipps die dort geschrieben standen erreichen würde.
     
  7. 28. Januar 2012
    AW: Tipps/Tricks für Effizienz?

    array["bla"] und array['bla'] waren echt mal unterschiedlich von der performance her, aber in den neuen php-versionen macht es keinen unterschied mehr SOLANGE man keine escapesequenzen oder variablen drin verwendet, denn solche strings werden gesondert behandelt und entsprechend langsamer verarbeitet - was ja klar ist.

    in früheren php-versionen war sogar "TRUE" und "true" unterschiedlich, weil der php-compiler zuerst nach den klein geschriebenen konstanten gesucht hat ^^

    jaja, das waren noch zeiten
    mittlerweile kann man das gar nicht mehr per goolge verifizieren ...

    oder das altbekannte print vs echo

    soweit ich weiß gabs da mal ne webseite die ne menge dieser mythen unter die lupe nahm.

    -> http://www.phpbench.com/

    aber ich denke sowas wollte powernator gar nicht hören

    -------
    btt: mir fällt grad noch memcache ein -> sehr effizenter cache (im vergleich zu datei/db lösungen)

    zu JIT compilern hat rasmus lerdorf mal ein statement gegeben.
    er meint, dass JIT compiler für PHP eher ungeeigent wären, da die hauptteil eh schon als maschinen-code vorliegt.

    Quelle: [PHP-DEV] PHP Just-In-Time Compiler

    ein pilot-projekt hat auch gezeigt, dass es eher wenig bringt oder sogar langsamer ist.

    nicht verwechseln mit HipHop, denn das ist streng genommen ein AOT und JIT compiler.
     
  8. 28. Januar 2012
    AW: Tipps/Tricks für Effizienz?

    Da du um Caching nicht herum kommen wirst, hier ein mini-benchmark:
    Web Shop | tutorials.de - User helfen Usern

    Sofern es moeglich ist, mach lieber alles auf einer fetten Maschine (Die kannst ja spiegeln fuer hochverfuegbarkeit) anstatt auf 5-10 kleinen, denn Du siehst ja, dass APC wesentlich schneller ist als ein Memcache. Wenn allerdings Du zuviel Cachingdaten haben wirst, entweder fetten Ram rein oder dann doch auf memcached ausweichen - aber mach das echt erst dann, wenn es die Datenmenge nicht anders erlaubt.
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.