| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

06-08-2010, 15:41
|
|
Tarlar
Registrierter Benutzer
|
|
Registriert seit: Jul 2004
Beiträge: 262
|
|
Performance von OPP/Methodenaufrufen
Hallo,
ich arbeite gerade an einem etwas größeren Projekt, wo es mitunter auch auf die Geschwindigkeit der Skripte ankommt, da realtiv viele User gleichzeitig auf diese zugreifen. Da habe ich mir natürlich einige Fragen zur Performance gestellt:
- Ist OOP generell gesehen schneller als eine prozedurale Programmierung? Was sollte man dann unbedingt beachten, dass eine gute Performance mit OOP gewährleistet ist?
- Sind viele Methodenaufrufe INNERHALB der Klasse sehr performancelastig? Ich würde den Code nämlich so leicht wart- und erweiterbar machen wie möglich und strebe viele private-Methode an, die dann jeweils nur aus wenigen Zeilen bestehen und dafür aussagekräftige Namen haben. Oder ist es besser, wenn man eher wenige Methoden hat, die dann dafür aber länger und unübersichtlicher sind und wenig bis gar keine Methodenaufrufe anderer Klassen-Methoden haben?
Vielen Dank für die Hilfe
Gruß Tarlar
|

06-08-2010, 15:44
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.308
|
|
Zitat:
Zitat von Tarlar
Ist OOP generell gesehen schneller als eine prozedurale Programmierung?
|
Eher langsamer, da der Overhead meist größer ist.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

06-08-2010, 15:45
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von Tarlar
Ist OOP generell gesehen schneller als eine prozedurale Programmierung?
|
Nein. Wenn es einen relevanten Unterschied gibt, dann eher in die andere Richtung.
Zitat:
|
ich arbeite gerade an einem etwas größeren Projekt
|
Dann möchtest du für die Programmierung auf jeden Fall OOP, der Übersichtlichkeit und Wartbarkeit wegen.
Zitat:
|
wo es mitunter auch auf die Geschwindigkeit der Skripte ankommt, da realtiv viele User gleichzeitig auf diese zugreifen.
|
Wenn du die Entscheidung OOP oder nicht von der Ausführungsgeschwindigkeit abhängig machst - dann setzt du auf's falsche Pferd.
Schau dir diesbezüglich lieber Bytecode-Compiler etc. an.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

06-08-2010, 15:49
|
|
Tarlar
Registrierter Benutzer
|
|
Registriert seit: Jul 2004
Beiträge: 262
|
|
Ja, ich möchte natürlich mit OPP arbeiten, da das Ganze dann viel leicht wartbar und erweiterbar ist.
Deshalb liegt mein Hauptaugenmerk eher auf der zweiten Frage (Methodenaufrufe) als auf der ersten!
|

06-08-2010, 15:55
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Wir reden hier wenn überhaupt von Microperformance, die kein Seitenbesucher spüren wird. Eine vernünftige, wartbare, erweiterbare Struktur mit sprechenden Methodennamen würde ich immer vorziehen, auch wenn sie im Einzelfall mal 2 Microsekunden langsamer ist.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

06-08-2010, 15:57
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von Tarlar
Deshalb liegt mein Hauptaugenmerk eher auf der zweiten Frage (Methodenaufrufe) als auf der ersten!
|
Die ist aber auch weniger relevant in Hinsicht Performance, sondern auch wieder mehr in Richtung Wartbarkeit.
PHP-Code muss erst mal geparst werden - ob du da nun eine Methode mit 100 Zeilen Code hast, oder zehn mit zehn, macht keinen so großen Unterschied. Und die Ausführung spielt sich nachher sowieso auf Bytecode-Ebene ab, da sind „Methoden“ gar nicht mehr relevant.
Du überlegst hier gerade im Bereich Mikro-Optimierung, und das ist bei Verwendung von PHP vergebene Liebesmüh'.
Außerdem gilt die Regel, dass man nicht von vornherein zu viel Hinrschmalz in solche Überlegungen investieren sollte - die eigentlichen Flaschenhälse werden bei einem großen Projekt erfahrungsgemäß nachher doch woanders liegen; und um deren Behebung kümmert man sich dann, wenn sie sich bemerkbar machen. (Datenbank-Verbindung, Hardware, Memory, ...)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

06-08-2010, 15:58
|
|
Tarlar
Registrierter Benutzer
|
|
Registriert seit: Jul 2004
Beiträge: 262
|
|
Danke für die Antworten
Dann kann ich das ganze schön strukturiert aufbauen...
|

07-08-2010, 08:49
|
|
af_net
Registrierter Benutzer
|
|
Registriert seit: Aug 2010
Beiträge: 18
|
|
Hey, wenn du dir Gedanken um die Performance bei vielen gleichzeitigen Zugriffen auf deine Seite machst, würde ich mir eher Gedanken hinsichtlich der Datenbank machen. Ein gescheites Cachen wiederholender Datenbankabfragen mit kleineren Ergebnissen und wohlüberlegten Abfragen an diese, macht meinen Erfahrungen nach das Meiste aus. Unnötige Datenbankabfragen meiden + Cachen der Ergebnisse sowie der Projekt-Files ist schon ein guter Ansatz. Wir nutzen z.B. APC als Cache-System.
Wie AmicaNoctis schon sagte, wir sind hier eher bei der Microperformance, da brauchst du dir denke ich nicht so viele Gedanken machen.
Für das Thema Performance empfehl ich dir mal in diesen Blog zu schauen, da findest Du einige nützliche Informationen wo du sonst noch Performance sparen kannst!
http://phpperformance.de/
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
Ähnliche Themen
|
| Thema |
Autor |
Forum |
Antworten |
Letzter Beitrag |
|
[OOP] MVC und Performance
|
kaguya |
PHP Developer Forum |
13 |
31-01-2008 09:26 |
|
Performance
|
sEeb |
PHP Developer Forum |
8 |
09-02-2007 13:08 |
|
php Performance
|
Dreamdancer |
BRAINSTORMING PHP/SQL/HTML/JS/CSS |
8 |
10-09-2004 15:48 |
|
Performance??
|
Dreamdancer |
BRAINSTORMING PHP/SQL/HTML/JS/CSS |
10 |
04-09-2004 14:39 |
|
Performance
|
snook |
Off-Topic Diskussionen |
3 |
10-09-2003 12:58 |
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|