Abo
  • Services:
Anzeige

Patch soll Geschwindigkeit von PHP verdoppeln

Zend Engine 1 bietet offenbar hohes Potenzial für Effizienzsteigerungen

Thies Arntzen und Sterling Hughes haben sich am Rande des LinuxTags zusammengesetzt und einige Änderungen für die Zend Engine 1, den Kern von PHP 4.x, entwickelt, die die Geschwindigkeit von PHP deutlich erhöhen. Die in einem Patch zusammengefassten Änderungen können die Geschwindigkeit von PHP mitunter mehr als verdoppeln.

Anzeige

Dabei griffen Arntzen und Hughes unter anderem auf eine Idee aus Parrot auf, einer Virtual Machine zur effizienten Ausführung von Bytecode, die unter anderem in Perl 6 zum Einsatz kommen soll. Sie nutzen ein errechnetes Goto-Statement und betten die Adresse des folgenden Opcode in die Instruktion ein, was Schritte, um zum nächsten Opcode zu gelangen, verkürzt. Dies funktioniert nur mit dem GCC und setzt eine Architektur voraus, die entsprechende Gotos unterstützt.

Als besonders ineffizient identifizierten Arntzen und Hughes die Register-Lookups der Zend Engine 1, die immer wieder ausgeführt wurden, auch wenn eine Variable schon gefunden wurde. Sie überprüfen immer wieder die Adresse einer Variablen, nicht deren Inhalt, so dass sich die Ergebnisse problemlos cachen lassen. Mit einem speziellen Instruktionen-Speicher konnten die beiden die Geschwindigkeit der Register-Abrufe fast verfünffachen. Die allein bringe für PHP insgesamt eine Geschwindigkeitssteigerung von 40 Prozent.

Darüber hinaus wurden die Funktionsaufrufe optimiert, um variablenlose Funktionsaufrufe zu cachen, der Code für Vergleichsoperatoren sowie einige Funktionen zum Speichermanagement überarbeitet und einige Änderungen aus der Zend-Engine 2 in die Zend Engine 1 integriert. Zudem wurden einige Instruktionen so modifiziert, dass sie von bestimmten Compiler-Switches des GCC besser profitieren können.

Insgesamt deuten die Modifikationen an der Zend Engine 1 auf eine Beschleunigung von PHP insgesamt um etwa den Faktor 2 hin, was aus den Ergebnissen der von Arntzen und Hughes durchgeführten Benchmarks hervorgeht. Allerdings stehen die entsprechenden Änderungen derzeit nur in Form eines Patches bereit, der auf eine aktuelle Version von PHP 4.3.3 angewendet werden kann. Wann und ob die oben beschriebenen Änderungen in die Standard-Distribution von PHP einfließen ist noch unklar. Es scheint aber durchaus möglich, dass zumindest Teile ihren Weg in kommende PHP-4.3.x- oder 4.x-Versionen finden könnten.


eye home zur Startseite
Mario 29. Aug 2003

Die Strings wurden schon vor einigen Versionen sehr beschleunigt und als lahm würde ich...

Mario 29. Aug 2003

Ja. Schön für die anderen. Mario

Hartmut Holzgraefe 29. Aug 2003

Drei Dinge die mir dazu auf Anhieb einfallen: - Java 'String' ist lahm und...

Hartmut Holzgraefe 29. Aug 2003

Du willst sagen: es war keine php_mysql.dll dabei und du besitzt kein VisualStudio? Für...

Hartmut Holzgraefe 29. Aug 2003

lasst uns mal bitte ehrlich bleiben: Yahoo! stellt alles überhalb der in C...



Anzeige

Stellenmarkt
  1. Robert Bosch GmbH, Stuttgart-Feuerbach
  2. Basler AG, Ahrensburg
  3. über Hanseatisches Personalkontor Freiburg, Neuried-Altenheim
  4. Worldline GmbH, Aachen


Anzeige
Hardware-Angebote
  1. ab 14,99€
  2. ab 1.079,79€ im PCGH-Preisvergleich
  3. 1.039,00€ + 5,99€ Versand

Folgen Sie uns
       

  1. Search Light

    Google testet schlanke Such-App

  2. 3D-Drucker

    Neues Verfahren erkennt Manipulationen beim 3D-Druck

  3. AVS Device SDK

    Amazon bringt Alexa auf Raspberry Pi und andere Boards

  4. Adblock Plus

    OLG München erklärt Werbeblocker für zulässig

  5. Streaming

    Netflix plant 7 Milliarden US-Dollar für eigenen Content ein

  6. Coffee Lake

    Core i3 als Quadcores und Core i5 als Hexacores

  7. Starcraft Remastered im Test

    Klick, klick, klick, klick, klick als wär es 1998

  8. KB4034658

    Anniversary-Update-Update macht Probleme mit WSUS

  9. Container

    Githubs Kubernetes-Cluster überlebt regelmäßige Kernel-Panic

  10. Radeon RX Vega

    Mining-Treiber steigert MH/s deutlich



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Mitmachprojekt: HTTPS vermiest uns den Wetterbericht
Mitmachprojekt
HTTPS vermiest uns den Wetterbericht

Breitbandausbau auf Helgoland: Deutschlands Hochseefelsen bekommt nur Vectoring
Breitbandausbau auf Helgoland
Deutschlands Hochseefelsen bekommt nur Vectoring
  1. Provider Dreamhost will keine Daten von Trump-Gegnern herausgeben
  2. Home Sharing Airbnb wehrt sich gegen Vorwürfe zu Großanbietern
  3. Illegale Waffen Migrantenschreck gibt es wieder - jetzt als Betrug

Google Home auf Deutsch im Test: "Tut mir leid, ich verstehe das nicht"
Google Home auf Deutsch im Test
"Tut mir leid, ich verstehe das nicht"
  1. Kompatibilität mit Sprachassistenten Trådfri-Update kommt erst im Herbst
  2. Smarte Lampen Ikeas Trådfri wird kompatibel mit Echo, Home und Homekit
  3. Lautsprecher-Assistent Google Home ab 8. August 2017 in Deutschland erhältlich

  1. Re: WerbeBlocker sind aber nur die halbe Wahrheit

    exxo | 23:47

  2. Filmtastic

    mnementh | 23:47

  3. Re: Ich verwende den Privacy Badger der EFF

    MysticaX | 23:46

  4. Re: Gardena nutzt man am Anfang. Später steigt...

    Nethlem | 23:39

  5. Re: Ich blocke nicht die Werbung auf Golem.

    Rulf | 23:39


  1. 17:02

  2. 15:55

  3. 15:41

  4. 15:16

  5. 14:57

  6. 14:40

  7. 14:26

  8. 13:31


  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