Archiv für Mai, 2007

IPC 2012 Spring Edition

Performanter Zufall – gibts das?

Ich möchte das Problem des zufälligen Selektierens von Datensätzen nochmal betrachten, da die im Beitrag Zufälligen Datensatz auswählen gefundene Lösung nicht wirklich akzeptabel ist, da sie nicht zufällig ist. Bei aller Performance, die diese Abfrage bringt, sollte doch die ursprüngliche Funktionalität nicht verloren gehen: Die Datensätze müssen zufällig sein und keinem Schema folgen. Weiterlesen >

Schlagwörter: , , , ,

Das Rätsel um –enable-inline-optimization

Wenn man im Internet Tipps sucht, wie man PHP möglichst performant kompiliert, liest man häufig, dass man die Option –enable-inline-optimization einsetzen sollte. Sie aktiviertso genannte Inline Optimizations. Doch worum handelt es sich dabei eigentlich? Sicherlich reicht es oft zu wissen, DASS es damit schneller geht und nicht WARUM. Trotzdem möchte ich einmal die Hintergründe hinter dieser Compiler-Option erklären. Weiterlesen >

Schlagwörter: , , , ,

Datenstrom komprimieren

Wir versuchen oft an den Performance-Schrauben im PHP-Script zu drehen, trotzdem wird das Laden der Seite bei den Besuchern dadurch irgendwann nicht mehr beschleunigt, wenn man die gröbsten Performance-Schnitzer ausgemerzt hat. Man kommt schnell zu dem Schluss, dass da nix mehr zu machen sei, weil der Client einfach eine zu langsame Internetverbindung hat.

Gut, mittlerweile haben viele Leute DSL und schnellere Internetverbindungen und trotzdem surfen noch eine Menge anderer Leute mit einem 56k Modem. Selbst schuld? Diesem Motto sollte man sich nicht anschließen, denn in keinem anderen Medium ist der Schritt zu der Konkurrenz ein so kleiner wie im Internet. Der User merkt, dann die Seite ihm zu lange lädt, er klickt auf Abbrechen (wenn er gutmütig ist vielleicht auch erst auf Aktualisieren, merkt dann aber, dass die Seite wirklich so lange zum Laden braucht) und tippt die URL der Konkurrenz in den Browser – weg ist er. Aber ist es wirklich so, dass wir die Ladezeit beim Client nicht Beschleunigen können? Weiterlesen >

Schlagwörter: , , ,

Kleine Tipps am Rande

Folgendes Szenario ist bestimmt jedem Webentwickler schon einmal begegnet: Man möchte in einer Schleife einen String konkatenieren (also anhängen) oder eine Zählvariable inkrementieren. Das "Tolle" an PHP ist, dass man einfach so $i++ schreiben kann und alles funktioniert wunderbar (wenn man Notices-Meldungen deaktiviert hat, was auf Produktiv-Sites oft der Fall ist). Das Inkrementieren einer nicht-initialisierten Variable dauert allerdings ca 5 mal so lang wie das Inkrementieren einer initialisierten Variable. Weiterlesen >

Schlagwörter: , ,

Big Sorry

Bei allen, die heute (14.5.07) zwischen 13 Uhr und 14:30 versucht haben auf den Blog zuzugreifen und ganz verdutzt auf einem meiner anderen Projekte gelandet sind, möchte ich mich entschuldigen.
Das Feature zum .htaccess-bearbeiten im Admin-Bereich ist zwar ne feine Sache, wenn man grad mal keinen FTP-Zugriff hat und auf einer SEO-Seite liest, dass man es doch vermeiden sollte auf phpperformance.de und auf www.phpperformance.de die gleichen Inhalte zu haben (Duplicate content). Andererseits sollte man dann nicht unbedingt den Code einfach per Copy-&-paste rüberkopieren und vergessen die Domain zu ändern. Dann kommt man nämlich nicht mehr in den WordPress-Adminbereich und schon gar nicht mehr kommen die Besucher auf die Seite.
Nun ja, Fehler behoben. Hoffe, dass ich nicht all zu viele Leute abgeschreckt hab. :-)

Datentypen: So klein wie möglich, so groß wie nötig

Jede Spalte in einer Tabelle hat einen Datentyp. Einige sind untereinander kompatibel, andere weniger. Um sämtliche Prozesse der Datenbank zu beschleunigen, ist es ratsam die Datentypen clever zu wählen und nicht "frei Schnauze" einfach bei allen Ganzzahlen BIGINT zu nehmen, denn "das wird schon funktionieren". Sicherlich funktionierts – nur zu welchem Preis? Weiterlesen >

Schlagwörter: , , , ,