Läuft PHP auf .NET schneller?
Kommentare

Manuel Lemos hat auf PHPclasses einen interessanten Artikel über den Phalanger Compiler verfasst. Der Vorschlag, die Zend Engine gegen Phalanger auszutauschen, der usprünglich von Rasmus Schulz auf der

Manuel Lemos hat auf PHPclasses einen interessanten Artikel über den Phalanger Compiler verfasst. Der Vorschlag, die Zend Engine gegen Phalanger auszutauschen, der usprünglich von Rasmus Schulz auf der php.internals Mailingliste einging, hatte eine relativ angeheizte und kontrovers geführte Diskussion ausgelöst.

Laut Lemos sind alle Diskussionen darüber irrelevant. Worum es geht ist die signifikante Performance-Verbesserung, die Phalanger gegenüber der Zend Engine mit sich bringt. Das Phalanger Team hat dies in einem Performance-Benchmark mit WordPress getestet. Das Resultat: Mit Phalanger werden HTTP-Request zwei Sekunden schneller beantwortet als mit der Zend Engine mit FastCGI.

Wordpress Phalanger Performance

Lemos´Ansicht nach sind zwei Sekunden Verbesserung in der Ausführungsgeschwindigkeit allerhand, weswegen er Jakub Misek vom Phalanger Team kontaktierte, um herauszufinden, wie es zu dieser enormen Performance-Verbesserung kommen konnte. Der wesentliche Faktor ist laut Misek, dass die .NET Engine die von Phalanger generierten .NET Assemblies aus PHP-Code in Maschienencode kompiliert, der für die aktuelle Machine CPU optimiert ist. Das entspricht einer JIT (Just in Time) Kompilierung.

Die Zend Engine erstellt aus PHP ebenfalls Opcodes, allerdings mit dem Unterschied, dass der kompilierte Opcode in einer Art Virtual Machine das Verhalten einer CPU emuliert. Misek betont außerdem, das Web Apps, die mit Phalanger kompiliert und mit der .NET-Engine ausgeführt werden lediglich einen Prozess nutzen um die Speicherzuweisung für alle Anfragen zu verwalten. Dies führt eben zu einer effizienteren Nutzung des verfügbaren RAM-Speichers und reduziert Speicherverschwendung. Daher wird stets empfohlen, PHP als FastCGI-Instanzen laufen zu lassen, anstatt als IIS Modul oder ähnliches.

Lemos schlägt bei der Weiterentwicklung von Zend Engine based PHP vor, sich auf diese zwei Kernthemen zu fokussieren: Thread-Sicherheit und JIT Compilierung. Nur so kann PHP mit der Leistung von .NET, Java- und anderen Umgebungen in Zukunft mithalten können. PHP muss sich weiterentwickeln, und die Entwicklung sollte, statt in langen Diskussionen auszuufern, neue Ideen besser und schneller berücksichtigen, um nachhaltig PHP auf seinem Thron der besten Programmiersprache ever 😉 halten zu können. Hier findet ihr Lemos gesamten Artikel.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -