Robert Eisele: Hacks sollen PHP beschleunigen
(Bild: PHP-Projekt)

Robert Eisele

Hacks sollen PHP beschleunigen

PHP ist zu langsam, also müssen Hacks her, um die Scriptsprache zu beschleunigen. Entwickler Robert Eisele hat seine Version von PHP 5.3.6 bereitgestellt, die nicht nur einen Geschwindigkeitsschub, sondern auch eine verbesserte Usability verspricht.

Anzeige

Seine Version von PHP 5.3.6 solle nicht nur schneller laufen, sondern auch eine verbesserte Usabilty bieten, sagt PHP-Entwickler Robert Eisele. Er wolle seine Version aber nicht pflegen, sondern nur als Proof-of-Concept präsentieren. PHP so zu verändern, dass sich schneller entwickeln lasse, und zu beschleunigen mache ihm Spaß, schreibt Eisele in seinem Blog.

PHP beschleunigen

Um PHP zu beschleunigen, hat Eisele zunächst die beiden Funktionen strlen() und count() abgeändert, so dass sie ohne die Funktion isset() auskommen. Während des Kompilierens werden Zeichenketten in strlen() automatisch in numerische Konstanten umgewandelt. Zusätzlich sind die Konstanten true, false und null direkt im Parser implementiert, um Lookups zu vermeiden. Die Funktion strtr() verwendet eine interne Tabelle, um Zeichenketten zu ersetzen. In Eiseles PHP-Fork wird die Tabelle hartcodiert, damit sie nicht bei jedem Aufruf erneut generiert werden muss.

Die intelligente Zeichenkettenfunktion smart_str_append_long() will Eisele so optimiert haben, dass Ganzzahlen schneller eingefügt werden können. Zudem hat er die Funktion smart_str_append_const() erschaffen, über die intelligente Zeichenketten mit Konstanten verknüpft werden können.

Zeitabfragen über die Funktion time() zögen immer auch den Aufruf time(NULL) nach sich, so Eisele. Zwar sollte die Abfrage über das Server Application Programming Interface (SAPI) laufen, die time(0) im Zwischenspeicher bereithält, allerdings werde die Abfrage nur selten verwendet. Also habe er sämtliche time()-Funktionen dort entfernt. Zeitabfragen werden über eine neue Schnittstelle in CGI/FCGI abgefragt, die wiederum über RAW_TIME in eigens gepatchten Versionen der Webserver Lighttpd und Nginx ausgegeben werden. Die Optimierung soll aber optional bleiben, sie kann über die neue Variable use_sapi_time aktiviert werden.

Außerdem habe er die globale Variable $_REQUEST als optional deklariert. Er selbst brauche sie nicht, denn er setze die Variablen direkt ein, die er benötige.

Neue Funktionen und mehr Usability

Eisele hat auch etliche neue Funktionen für PHP erdacht. Die meisten betreffen die Verarbeitung von Zeichenketten, darunter die Funktion string strcal(string $format, string $str[, int $len=-1]), die prüfen soll, ob einen Zeichenkette im richtigen Format vorliegt, oder mixed timechop(int $time[, mixed $format=2, bool $is_array=false]), die Zeitangaben in ihre Einheiten zerlegt. Weitere Funktionen betreffen die Verarbeitung von Zahlen, etwa um deren geltende Stellen anzuzeigen oder Zahlen einen minimalen oder maximalen Wert zuzuweisen.

Eisele will auch die Usability von PHP verbessern und hat dafür zusätzliche Ideen eingepflegt. So können mit der Funktion strtr() mehrere Zeichenketten auf einmal gelöscht werden, statt einzelne str_replace()-Aufrufe zu benötigen. Binäre Zahlen lassen sich mit dem Präfix 0b definieren.

Eine komplette Liste aller Änderungen hat Eisele auf seiner Webseite zusammengestellt. Dort ist auch der Code über Github erhältlich. Ob die Änderungen in den Hauptentwicklungszweig von PHP einfließen, steht noch nicht fest. Einige Funktionen wie die Zeitabfragen ziehen auch Änderungen in den Webservern nach sich. Zumindest die Resonanz unter Eiseles Posting ist überwiegend positiv.


GodsBoss 13. Jun 2011

eAccelerator bringt jeder PHP-Anwendung was. Im Normalfall werden nämlich PHP-Dateien...

Pantoffel 10. Jun 2011

Endlich mal ein vernünftiger Beitrag in den Kommentaren! :)

froschke 10. Jun 2011

http://www.marcusley.de/wp-content/images/facepalm_final.png

Kommentieren



Anzeige

  1. IT-Systemspezialist (m/w) Team IT-Laborinformationssystems (LIS) / Parametrierung
    synlab Services GmbH, Augsburg
  2. Mitarbeiter (m/w) im zentralen Qualitätsmanagement
    PSI AG, Berlin
  3. IT-Architekt (m/w)
    cimt AG, Frankfurt
  4. Assistent (m/w)
    Friedrich-Alexander-Universität Erlangen-Nürnberg, Erlangen

 

Detailsuche


Hardware-Angebote
  1. PCGH-Extreme-PC GTX980Ti-Edition
    (Core i7-5820K + Geforce GTX 980 Ti)
  2. Samsung-UHDTV kaufen und Sommer-Bonus erhalten
    100,00€ bis 1.000,00€ Cashback
  3. JETZT ÜBERARBEITET: Alternate Schnäppchen Outlet
    (täglich neue Deals)

 

Weitere Angebote


Folgen Sie uns
       


  1. Magnetische Induktion

    US-Wissenschaftler verbessern drahtlose Stromübertragung

  2. DDR4-4000

    Gskills neuer Arbeitsspeicher taktet mit 2 GHz

  3. Yager

    Dead-Island-2-Projektgesellschaft ist insolvent

  4. Nokia

    Ozo nimmt 360-Grad-Videos in Echtzeit auf

  5. Nintendo

    Wii U schafft die 10-Millionen-Marke

  6. Allison Road

    Das geistige Erbe von Silent Hill entwickelt ein Deutscher

  7. Windows 10

    Verteilung des Gratis-Upgrades erzwingen

  8. Actionspiel

    EA kündigt Titanfall Online an

  9. Windows 10 im Test

    Unfertiger, aber guter Windows-8.1-Bugfix

  10. 2 Petawatt

    Japaner nehmen Superlaser in Betrieb



Haben wir etwas übersehen?

E-Mail an news@golem.de



Neue WLAN-Router-Generation: Hohe Bandbreiten mit zweifelhaftem Nutzen
Neue WLAN-Router-Generation
Hohe Bandbreiten mit zweifelhaftem Nutzen
  1. EA8500 Linksys' MU-MIMO-Router kostet 300 Euro
  2. Aruba Networks 802.11ac-Access-Points mit integrierten Bluetooth Beacons
  3. 802.11ac Wave 2 Neue Chipsätze für die zweite Welle von ac-WLAN

Simulus QR-X350.PRO im Test: Der Quadcopter, der vom Himmel fiel
Simulus QR-X350.PRO im Test
Der Quadcopter, der vom Himmel fiel
  1. Paketzustellung Google will Flugverkehrskontrolle für Drohnen entwickeln
  2. Luftzwischenfall Beinahekollision zwischen Lufthansa-Flugzeug und Drohne
  3. Paketdienst Drohne liefert in den USA erstmals Medikamente aus

OCZ Trion 100 im Test: Macht sie günstiger!
OCZ Trion 100 im Test
Macht sie günstiger!
  1. PM863 Samsung packt knapp 4 TByte in ein flaches Gehäuse
  2. 850 Evo und Pro Samsung veröffentlicht erste Consumer-SSDs mit 2 TByte
  3. TLC-Flash Samsung plant SSDs mit 2 und 4 TByte

  1. Re: Cloud Akzeptanz

    plutoniumsulfat | 19:49

  2. Re: Auch wieder mit dual sim?

    berritorre | 19:47

  3. Re: Umstellung 32 auf 64 Bit beim Upgrade?

    redmord | 19:47

  4. Re: Microsoft Konto Bindung

    nolonar | 19:46

  5. Re: Grundregel Nr. 1

    Moe479 | 19:44


  1. 18:20

  2. 17:18

  3. 16:58

  4. 16:04

  5. 15:47

  6. 15:15

  7. 13:05

  8. 12:47


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel