Neueste Kommentare

Kategorien

Allgemein (7) Blogtreff (1) Domain (3) Gadget (24) Geld verdienen (17) Google (31) Nachschlag (34) Promotion (22) Recyclable Code (4) Stylemachine (13) Twitter (35) Wordpress (15)

Populär

RSS Feed SEO-Scout Mit RSS-Reader ganz entspannt lesen. Anzahl RSS-Reader SEO-Scout Zum Abonnieren klicke einfach auf den Counter oder den Zeitungsleser.

Vote für Seo-Scout.org!

Blogverzeichnis - Blog Verzeichnis bloggerei.de blogoscoop

Blogger-Treffen Lübeck: Wann das nächste? - E-Mail an frank.pfabigan@gmail.com, Ort » gmap

Vergleich aktueller PHP Compiler

Dienstag, 23. Februar 2010. 13:57 von Frank Pfabigan

Superschnelle PHP-Anwendungen für eine sehr große Menge von Besuchern? – Klar geht das. Facebook ist so eine “busy App”, geschrieben in PHP.

Facebook hat vor kurzem einen PHP Compiler namens HipHop vorgestellt, was ein allgemeines Interesse an PHP-Compilern zufolge hatte. PHP kompiliert? Ja, das gibt es schon lange.

Zunächst sollte man sich ins Gedächtnis rufen, was ein Compiler ist:

Ein Compiler ist ein Programm, das Source Code in eine andere Form von Code bringt (Repräsentation von Source Code). Die Ziel-Represäntation ist oft Maschinencode (direkt ausführbar auf dem Host-Prozessor), kann aber auch Sourcecode einer anderen Sprache oder sogar Sourcecode derselben Sprache sein.

Das Compilieren bedeutet also nicht zwangsläufig, daß Maschinencode hinten rauspurzelt, der direkt auf dem Prozessor ausgeführt werden kann.

PHP wird seit der Veröffentlichung von PHP4 im Jahre 2000 compiliert. Bis einschließlich PHP3 wurde der Sourcecode direkt vom PHP Interpreter ausgeführt.

Interpreter-Sprachen müssen nicht zwangsläufig “schlechter” im Sinne von langsamer sein. Interpreter-Sprachen wie Basic, Smalltalk und viele andere haben andere Vorzüge wie z.B. die direkte Fehleranzeige, die Compiler-Sprachen aufwändig re-implementieren müssen (durch Source-Parser etc.). Es kommt immer darauf an, was man erreichen möchte, das Ziel gibt die Programmiersprache vor.

Neben der von den PHP-Erfindern stammende ZEND Engine gibt es einige weitere PHP-Compiler:

Zum Testen wurde ein Script namens bench.php verwendet.

Ergebnisse des Tests:

Compiler Zeit Rel. Geschw.
Zend Server 5.722 0.00%
Zend Server + Zend Optimizer 5.649 1.28%
PHP static 5.518 3.57%
PHP static + Zend Optimizer 5.427 5.16%
PHC 6.438 -12.51%
PHP optimized 3.673 35.81%
HipHop 4.262 25.52%

PHC optimized bietet also die beste Performance. Bei der Wahl des Compilers sollte man sich natürlich erst mit den Eigenschaften dieser Auseinandersetzen. PHC und HipHop verfolgen unterschiedliche Ansätze, so daß nicht unbedingt die Geschwindigkeit als alleiniges Entscheidungskriterium herangezogen werden kann.

Der Test berücksichtigt keinen Objekt orientierten Code, bench.php ist ein prozedurales Script.

Das Konzept von PHC finde ich persönlich interessant: hiermit ist es möglich, eine Anwendung in unabhängige, optimierte Libs zu zerteilen, die einzeln gewartet werden können. So erhält man eine superschnelle “verteilte” Anwendung (wenn man weiß, was man tut).

Quell-Angabe: dieser Artikel wurde direkt von einem Artikel von Manuel Lemos auf PHPclasses.org inspiriert, wo sich noch viele weitere nützliche Informationen zu diesem Thema finden. Ich fand den Artikel so interessant, daß ich den Inhalt unbedingt weiter verteilen musste. Der Original Artikel ist englisch.

Juwelen, die man nebenbei entdeckt: auf der PHC-Download Seite findet man den Hinweise auf ROSE, ein Projekt, daß C, C++, Fortran und eben auch PHP ineinander überführt und Analysetools bereitstellt. Wer also bisher in C, C++ Webanwendungen geschrieben hat, kann sich mit ROSE die Ergebnisse in PHP anschauen und durch die Analysetools aufdecken, welche Programmteile optimiert werden müssen.


Erzähle Deinen Freunden davon!


blog comments powered by Disqus