gelöschter Benutzer

PHP Performance steigern (Seite 2)


der_booker
Foren Moderator
selbständig
(2762 Beiträge)
am 26.05.2011, 09:26 Uhr schrieb der_booker

Ultima schrieb:

Ich bin mir sicher das Heiko & Matthias auch noch ein paar gute Tipps auf Lager haben.



Danke für die Blumen. Ich bin da eher verhalten, bei solchen allgemeinen Aussagen zum Thema PHP-Beschleunigung, weil es oft auf das Gesamtprojekt ankommt.

Generell gilt, dass man sich im Vorfeld überlegen sollte, wie die Abfragen erfolgen sollen, sprich wo nach wird eher gesucht respektive abgefragt. Florian bringt es auf dieser Seite (http://floern.com/webscripting/geschwindigkeit-von-php-scripts-optimieren) sehr schön auf den Punkt.


Heiko Jendreck
personal helpdesk
http://www.phw-jendreck.de
http://www.seo-labor.com

Raptor
Avatar Raptor
IT-Student
Content Gott (1013 Beiträge)
am 26.05.2011, 21:01 Uhr schrieb Raptor

Habe aufgrund dieses Threads mal die Benchmarks im Kapitel Mikrooptimierungen überarbeitet und aktualisiert: floern.com/webscripting/php-mikro-optimierungen-und-benchmarks



Ãœbrigens: Dinge wie RegEx kann man auch sehr gut optimieren, z.B:
preg_match(\'#\\b(iphone|ipod|android|opera mobi|opera mini|windows phone|windows ce|\'.
\'blackberry|symbian|series60|samsung|palm|playstation portable|\'.
\'profile/midp|nokia|fennec|htc[\\-_]|up\\.browser)\\b#i\',
$_SERVER[\'HTTP_USER_AGENT\'] );

Folgende Version, die dasselbe macht, ist gut 30% effizienter:
preg_match(\'#\\b(ip(hone|od)|android|opera m(ob|in)i|windows (phone|ce)|\'.
\'s(ymbian|eries60|amsung)|p(alm|laystation portable|rofile/midp)|\'.
\'blackberry|nokia|fennec|htc[\\-_]|up\\.browser)\\b#i\',
$_SERVER[\'HTTP_USER_AGENT\'] );

Ich denke RegEx fällt nicht unter das Kapitel Mikrooptimierung..


Meine Developer-Website mit den Web-Entwickler-Tools.
Meine Web-Entwicklungs-Dienstleistungen

[url="http://www.seitenreport.de/forum/beitraege/seitenreport_verlosungen/wichtig_neue_regel

Chance
Programmierer
Guru (173 Beiträge)
am 27.05.2011, 09:21 Uhr schrieb Chance

Eine Optimierung, die mir noch eingefallen ist:
is_file anstatt file_exist verwenden.



gelöschter Benutzer
am 04.10.2011, 15:29 Uhr schrieb

Zu diesem Thema hab ich noch einen sehr interessanten Link gefunden.

www.phpbench.com




der_booker
Foren Moderator
selbständig
(2762 Beiträge)
am 04.10.2011, 15:45 Uhr schrieb der_booker

Ultima schrieb:

Zu diesem Thema hab ich noch einen sehr interessanten Link gefunden.

www.phpbench.com



Echt cool, danke.
Ich finde es toll, dass dieses Thema nicht in Vergessenheit gerät. Vielleicht kommen ja noch mehr Vorschläge.


Heiko Jendreck
personal helpdesk
http://www.phw-jendreck.de
http://www.seo-labor.com

UFOMelkor
Avatar UFOMelkor
Student
Content Meister (350 Beiträge)
am 04.10.2011, 16:12 Uhr schrieb UFOMelkor

Wo wir gerade beim Thema sind, ein kleines Rätsel: Welches dieser Schnipsel ist schneller?

<?php
for ($i = 0; $i < = 1000000; $i++) {
$array[$i] = $array[$i] * $array[$i];
$array[$i] = base_convert($array[$i], 10, 16);
}
?>


<?php
for ($i = 0; $i < 1000000; $i++) {
$array[$i] = $array[$i] * $array[$i];
}
for ($i = 0; $i < 1000000; $i++) {
$array[$i] = base_convert($array[$i], 10, 16);
}
?>


Die Antwort darauf gibt es hier.


Naturkosmetik in Bochum

Steppenhahn Ultramarathon-Community

der_booker
Foren Moderator
selbständig
(2762 Beiträge)
am 05.10.2011, 08:20 Uhr schrieb der_booker

UFOMelkor schrieb:

Die Antwort darauf gibt es hier.


Naja, eine richtige Antwort war das ja nicht, aber erstaunt bin ich dennoch. Ich ging in der Tat davon aus, dass die letztere Variante etwas langsamer wäre, als die erste.


Heiko Jendreck
personal helpdesk
http://www.phw-jendreck.de
http://www.seo-labor.com

masa8
Avatar masa8
Selbständig
Content Gott (1001 Beiträge)
am 05.10.2011, 10:54 Uhr schrieb masa8

Die Schleifen sind auf modernen Prezessoren fast nicht mehr messbar. Pro Durchlauf werden 3 Maschinen-Codes verarbeitet. Bei 4 GHz ist das marginal.

Lässt man das Beispiel auf einem 16-Bit Prozessor mit 100 MHz laufen, schlägt die Schleife deutlich zu buche, da die Zahl 1000000 sich nicht mit 16 Bit abbilden lässt. Hier kommt dann eine 2 Schleife dazu, die etwa 15 mal den maximalen 16 Bit Wert von 65536 abarbeitet.

Muss dann noch der Zähler-Wert zwischengespeichert werden, kommt da einiges zusammen.

Früher waren unnötige Schleifen ein Problem, heute sind sie vernachlässigbar.

Gruß Matthias


Mein Blog über Wordpress, SEO, interne Verlinkung und mehr
alles-mit-links
BLACKINK Webkatalog 20-25 Backlinks "Lifetime"

Chance
Programmierer
Guru (173 Beiträge)
am 26.10.2011, 15:03 Uhr schrieb Chance

Was ist eigentlich schneller, Array oder ArrayObject ?



gelöschter Benutzer
am 26.10.2011, 15:22 Uhr schrieb

Chance schrieb:

Was ist eigentlich schneller, Array oder ArrayObject ?


Array.


Gruß Thomas




« zurück zu: PHP & MySQL

Das Seitenreport Forum hat aktuell 5275 Themen und 36110 Beiträge.
Insgesamt sind 48360 Mitglieder registriert.