Portal > Foren > PHP > PHP-Programmierung > 40 Tipps zur Optimierung, Performancesteigerung von PHP-Code
Antwort
 
Themen-Optionen
Alt 19.11.2007, 19:54 Nach oben    #1
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard 40 Tipps zur Optimierung, Performancesteigerung von PHP-Code

Dieser Thread hätte genauso gut bei der Literatur angesiedelt sein können.
Ich habe mich aber dazu durchgerungen in an dieser Stelle zu verlinken, da ich ihn für sehr lesenswert halte.

- 40 Tips for optimizing your php Code

Man soll ja generell nicht alles glauben, was so über Performance geschrieben wird, da es häufig auch von der individuellen Implementierung der Anwendungen abhängt. Nichtsdestotrotz zeigt der Blogeintrag von Reinhold Weber durchaus interessante Punkte, die man selbst hinterleuchten kann.

Durch diesen Thread ist natürlich jeder, der meinte weitere nützliche Informationen zu diesem Thema zu haben, dazu aufgerufen diese mit der Gemeinschaft zu teilen.

In diesem Sinne, happy optimizing.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.11.2007, 23:50 Nach oben    #2
Blubb... öfz
 
Benutzerbild von ljungi
 
Registriert seit: 16.03.2006
Ort: Berlin
Beiträge: 419
Standard

Das mit dem count() in der for-Schleife wusst ich gar nicht. Sehr interessanter Artikel! Danke, Ben!

Da merkt man mal, wie uneffektiv man doch noch arbeitet :>
__________________
Vive la France! Welcome to Sarkoworld...
ljungi ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.11.2007, 11:04 Nach oben    #3
Erfahrener Benutzer
 
Registriert seit: 04.03.2007
Ort: Viernheim
Beiträge: 131
Standard

Danke Ben, im Artikel gibts noch einen Link

http://phplens.com/lens/php-book/opt...ugging-php.php
__________________
Meine Free SMS Seite
Eyüp ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.11.2007, 12:29 Nach oben    #4
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 355
Standard

eines vielleicht dazu, da ichs mal überflogen habe.

Auf der einen Seite wird vor der Verwendung von autoload gewarnt, auf der anderen Seite vor require_once.
Wenn man die Wahl hat, Klassen einzufügen und nicht den genauen Pfadnamen kennt (beispielsweise beim Zend-Framework), sollte man einen Autoload-Mechanismus bevorzugen. Denn das Autoload bei einer Klasse ist deutlich effizienter, als in jeder neuen Quelldatei haufenweise teure require_once zu schreiben.
__________________
Open Sourcing the Online Gaming Universe
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
mepeisen ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.11.2007, 20:16 Nach oben    #5
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 826
Standard

Echt schräge Auflistung, völlig wirr zusammengesammelt. Da findet sich Firlefanz, dazu teilweise noch vielfach widersprüchlich gemessener, wie ' vs. " oder echo vs. print() oder wie eine Ganzzahl inkrementiert werden kann neben Tipps, wie Code in C-Extensions "auszulagern", dem Einsatz von diversen Chaches.

Und dann spricht er och von Profilern. Frag mich, ob der sich wirklich mal das Gewicht seiner einzelnen Tipps angeschaut hat.

Ich denke, hier wäre eine Aufteilung interessant:

1.) Tipps, welche von zwei (oder mehreren) ansonsten gleichwertigen Alternativen schneller ist.

2.) Performance-Tipps, die den Entwurf betreffen - mit Information/Diskussion über die jeweiligen Vor- und Nachteile. Hier wird ja erstmal ungleiches miteinander verglichen und das kann man ja nur individuell auf den gemeinsamen Nenner der Kosten (Mehraufwand an Entwicklung und Wartung bzw. Kosten für Hardware) gebracht werden (wenn das überhaupt für ein "Standard-Projekt" relevant wird). Andere Faktoren, wie der Zeitaufwand für Entwicklung und Wartung pielen da natürlich auch mit rein.

3.) Caching, dass in verschiedenen Ebenen mit keiner bis nur geringer Beeinträchtigung der Architektur des ganzen Gebildes eingebaut werden kann mit seinen Vor- und Nachteilen.

Es macht einfach keienen Sinn, zu schreiben "Error messages are expensive", ohne den Preis zu benennen, da ja a) jeder weiß wie hoch der Preis wäre, Fehlermeldungen aus seinem Code zu verbannen (nämlich letztlich unbezahlbar), b) niemand annehmen wird, dass diese Entscheidung einen wirklich nennenswerten Leistungsvorteil bringen wird und dazu noch c) es jedem Auftraggeber Wurscht sein wird, ob der Besucher eine Sekunde auf seine Fehlermeldung warten muss oder nicht, da es der Fehler ist, der im Fokus seines Interesses ist!

Was ist eigentlich mit der Datenbank?

Basti
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.11.2007, 13:44 Nach oben    #6
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Hast schon Recht. Ein Großteil der Punkte ist einfach nur so "reingeworfen" und scheint mir eben dazu zu dienen, um auf möglichste viele Tips zu kommen.

Eine gut sortierte Liste wäre wirklich klasse.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.11.2007, 13:59 Nach oben    #7
Martin Schröder
 
Benutzerbild von Orolhawion
 
Registriert seit: 15.12.2004
Ort: Stockholm
Beiträge: 116
Standard

ich hätte da mal ne frage:

inwiefern unterscheidet sich die geschwindigkeit mit der ein skript abgearbeitet wird, wenn man anstelle von
1.
PHP-Code:
public function foobar()
{
   if (
bedingung)
   {
      
// ...
   
}

das hier benutzt:
2.
PHP-Code:
public function foobar() {
   if (
bedingung) {
      
// ...
   
}

?

angenommen man hat viele verschachtelungen, so hat der interpreter ja auch mehr zeilen zu lesen als bei 2.
fällt sowas mit zunehmender anzahl von verschachtelungen ins gewicht oder nicht?

ja, ich könnte einfach mal einen versuch machen und die zeit messen. aber vielleicht hat sich dessen ja schonmal jemand angenommen..
__________________
"Wer nicht mit der Zeit geht, wird mit der Zeit gehen."
Game over, Junge!
ENERGIE!
___________________________
Mein Blog
Mein OpenBC
Orolhawion ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.11.2007, 14:04 Nach oben    #8
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Ich behaupte, dass das nur in äußersten Extremfällen ins Gewicht fällt, ohne es aber jetzt belegen zu können.

Gab vor Jahren auf php.de mal einen Thread zu einem ähnlichen Thema. Da ging es um Performanceunterschiede bei langen Variablennamen. Die dort von mir getätigten Aussagen würde ich allerdings nun nicht mehr so machen. Man lernt ja bekanntlich, ne?

Hier der Link: http://phpfriend.de/forum/viewtopic.php?t=35134
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.11.2007, 14:46 Nach oben    #9
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 355
Standard

Die beiden Beispiele dürften sich nur in einem nicht wirklich messbaren Bereich unterscheiden. Der Parser übersetzt das ganze bereits im ersten Schritt in ein lesbares internes Format, wodurch beide Varianten identisch sind. Der Parser hat statt eines Leerzeichens einen Zeilenumbruch zu interpretieren, wobei aber beides an dieser Stelle als Whitespace behandelt wird, also identisch.
__________________
Open Sourcing the Online Gaming Universe
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
mepeisen ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.11.2007, 14:54 Nach oben    #10
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Ich bin nur zufällig auf diesen Blog hier gestoßen, habe also keinerlei Erfahrungen mit der Seite, aber da kann man ja mal mitlesen. Muss ich mal etwas stöbern, wenn ich die Zeit finde.

http://phpperformance.de/
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Rezension] PHP 5 Kochbuch Artemis Literatur 2 07.09.2006 19:15
PHP 5.1.5, PHP 4.4.4 und PHP 5.2.0 RC2 veröffentlicht Ben Nachrichten 2 01.09.2006 16:05
PHP 5.1 ist drausen robo47 Nachrichten 5 28.11.2005 20:30
Neue PHP "release candidates": PHP 4.4.2 RC 1 und PHP 5.1 RC 6 Ben Nachrichten 1 21.11.2005 20:48
PHP Code wird nicht ausgeführt ! Dark Knight PHP-Programmierung 22 13.09.2005 14:12


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:42 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44