Neue PHP-Engine ist bis zu 30 Prozent schneller

phpZur Beschleunigung der Ausführung von PHP-Anwendungen haben Mitarbeiter der Firma Zend Experimente mit JIT-Techniken und LLVM gemacht.

Das brachte aber nicht viel, so dass das Team sich auf größere Umbauten an den internen Datentypen verlegte – und daraus resultierten nun Leistungssteigerungen zwischen 10 und 30 Prozent, wie Dmitry Stogov schreibt.

Die Entwickler hatten zwar gedacht, die Virtuelle Maschine (VM) sei optimiert, aber sie arbeitete offensichtlich mit zu vielen Speicherzuweisungen und Referenzzählern. Deshalb sollten jetzt die Datentypen so geändert werden, dass solche “Heap-Zuweisungen minimiert werden“.

Bis jetzt werden alle Werte von der Zend Engine auf dem Heap-Speicher verwaltet. Damit beanspruchen sie die Referenzzählung und den Garbage Collector. Außerdem arbeitet die Zend Engine hauptsächlich mit Zeigern auf die interne Datenstruktur für alle Variablen Zvals.

Die neue Implementierung nutzt keine Zeiger und speichert die Zvals auf dem Stack, in Hashtable-Buckets und Property Slots. Das soll die Operationen auf dem Heap “dramatisch” verringern und vermeidet Referenzzählung und Garbage Collector für die einfacheren Datentypen.

Eine Kompilieranleitung für die neue PHP-Engine findet sich im Wiki.

Über Klaus

Ich beschäftige mich schon seit 40 Jahren mit dem Internet. Meine Schwerpunkte sind Seitenerstellung, Programmierung, Analysen, Recherchen und Texte (auch Übersetzungen aus dem Englischen oder Niederländischen), Fotografie und ganz besonders die sozialen Aspekte der "Brave New World" oder in Merkel-Neusprech des "Neulands".
Dieser Beitrag wurde unter Internet, News, Programmierung, Seitenerstellung, Tipps und Tricks abgelegt und mit , , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.