phpbar.de logo

Mailinglisten-Archive

Re: [php] Performance/Reviews
Archiv Mailingliste php_(at)_infosoc.uni-koeln.de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [php] Performance/Reviews



Tobias Ratschiller wrote:
> in zwei Wochen soll ich ein Seminar über Dynamisches Publizieren im Internet
> veranstalten, und Ihr könnt darauf wetten, daß ich Werbung für PHP mache :-)
> Kennt Ihr Gegenüberstellungen, Analysen oder Performancereports der
> verschiedenen Lösungen (z.B: ASP, ColdFusion, PHP...)? Falls ja, wäre ich
> für URLs dankbar.

Meine Erfahrungen sind beschränkt: Persönlich kenne ich leider nur PHP
(intensiv), CF (kursorisch), Perl/mod_perl/embedPerl (medium), ASP
(kursorisch) und die Webobjects von Next (medium).

PHP ist eine Interpretersprache. Es handelt sich um eine reine
Interpretersprache: Pretokentization und ähnliche Features beschleunigen
die Sprache nicht. PHP kann als CGI-Program oder als Bestandteil des
Webservers ("mod_php") ausgeführt werden. Als CGI-Programm ist es
beliebig portabel, als Modul ist es für eine Reihe von populären APIs
verfügbar (Apache, Netscape, Microsoft und fhttpd). PHP unterstützt
Datenbankzugriffe nicht nur über ODBC (oftmals Treiber von schlechter
Performance und mit unvollständigen API-Implementierungen), sondern auch
über die Native API einer ganzen Reihe von Datenbanken. Dazu LDAP, IMAP
und eine Reihe anderer Datenbanken, außerdem HTTP, FTP-Protokolle
(Intelligen Agent-Programmierung) und Direktzugriff auf Dbase und
DB/DBM-Dateiformate. Dynamische Generierung von GIF-Bildern mit der
libgd und der freetype library. Volltextindices und Suchmaschinen über
externe Open Source Programme (htdig und andere). Zahlreiche
Spracherweiterungen vorhanden. Open Source. Syntax folgt der C, Java,
Javascript, Perl-Familie von Sprachen. Ausgezeichnete Dokumentation
(www.php.net, annotated manual!) und glänzender Support, wie bei Open
Source üblich (Mailinglisten in Deutscher und Englischer Sprache).
PHPLIB!

Cold Fusion ist eine Interpreter-Markup-Language. Es handelt sich um
eine reine Interpretersprache mit der Option, Seitenquelltext auf der
Serverseite durch "Codierung" zu verschleiern (das ausgegebene HTML muß
selbstverständlich lesbar sein). Cold Fusion kann als Modul in Apache
ausgeführt werden oder als CGI-Program. Da es nicht Open Source ist, ist
seine Verfügbarkeit über Plattformgrenzen beschränkt, Linux-Support ist
als Gerücht angekündigt, aber noch nicht offiziell versprochen; Solaris
wird bereits unterstützt. Datenbankzugriff erfolgt über ODBC. LDAP, IMAP
und einige andere Dinge werden unterstützt, andere Protokolle müssen
ggf. über Dritthersteller oder Erweiterungen von Herstellerseite
zugekauft werden. Intelligen Agents können erstellt werden. Keine
Generierung von GIF-Bildern on-the-fly. CF kann Texte mit einer eigenen
Engine (Verity) volltextindizieren und dann darauf zugreifen. Zahlreiche
Spracherweiterungen vorhanden (Custom Tag Library beim Hersteller).
Syntax: Tagschreibweise, will den Eindruck einer Programmiersprache
vermeiden, um Anfänger nicht abzuschrecken. Unterstützung dieses
Eindrucks mit dem CF-Studio, einer Spielversion von Homesite, die um
teilweise lächerlich wirkenden Insert-tag Support für die
CF-Standardtags erweitert wurde.

ASP ist ein Mechanismus, mit dem Programmiersprachen sich in die API des
IIS einhängen können. Defaultmäßig sind VBScript (Basic) und JavaScript
(C-lookalike) verfügbar, optional auch Perl und andere. ASP ist fester
Bestandteil des IIS auf NT, man ist also nicht nur in der Plattform,
sondern auch in der Wahl des Webservers vollkommen festgelegt. Da es
sich um ein Microsoft-Produkt handelt, sind Supportoptionen, -preise und
Qualität sofort klar. Unterstützung anderer Plattformen ist nicht
möglich, da ASP starken Gebrauch von den OLE/COM/DCOM-Fertigkeiten der
MS-Plattform macht: Selbst wenn man es portieren würde, wäre es auf der
Zielplattform nicht nützlich. Datenbankzugriff erfolgt über ODBC. LDAP,
IMAP und andere Dingen möglich??? Ich weiß es nicht.

mod_perl und embedPerl sind ein Mechanismus, mit denen man den
Perl-interpreter als Bestandteil des Apache-Webservers ausführen kann
und mit dem man dann Perl-Programme mit HTML mischen kann. ("Schnitt,
Schnitt, Misch..."  -- Mittermeier). Programme werden proaktiv geladen
und compiliert, sodaß die typische Startup-Latenz von Perl-Programmen
als CGI wegfällt. Der Speicherverbrauch ist beträchtlich, die
Geschwindigkeit ist größer als bei PHP. Unterstützt wird der Apache
Webserver auf allen Plattformen. mod_perl ist prinzipiell in der Lage,
alle Perl-Module auf dem CPAN auszuführen, daher werden alle von Perl
unterstützten Datenbanken (including ODBC und eine Tonne Native
Interfaces) unterstützt, ebenso LDAP, IMAP, LibGD und was man sich sonst
noch so vorstellen kann. Syntax folgt der von Perl... Abschreckend ist
hier vor allen Dingen der Cthulhu-mäßige Speicherverbrauch bei größeren
Projekten und die auf Anfänger abschreckend wirkende Vielfalt von
Sprachkonstrukten und Bibliotheken. Besondere Pluspunkte für erfahrene
Programmierer sind die Ausdrucksstärke und Vielfalt der Sprache und
ihrer Konstrukte und die wirklich umfassende Sammlung von Bibliotheken.

Next/Apple Webobjects sind ein System, mit dem ein kleines, im Source
vorliegendes Rumpf-C-CGI-Programm über einen remote procedure call mit
einem als Coprozess laufenden Anwendungsprogramm kommuniziert. Das
Anwendungsprogramm ist mit dem Webobjects Toolkit in Objective-C
geschrieben und wird dann compiliert, es ist ein Maschinenprogramm.
Kommunikation erfolgt durch das Datenbank-Kit von Next über die Native
API der unterstützten Datenbanken mit beliebigen Datenbanken. Next
provided außerdem eine exzellente Entwicklungsumgebung mit GUI-Designer
(ja, erzeugt auch HTML :-) und einem sehr schönen ER-Modeller und
Debugger (gdb mit einem Sexy Outfit). Webobjects skaliert sich
ausgezeichnet durch das verwendete RPC-Schema (Next Portable Distributed
Objects auf einem beliebigen etablierten RPC-Mechanismus aufsetzend) und
die Möglichkeit, den Application Server zu replizeren. Interessant ist
die ungeschlagene Geschwindigkeit und die extrem gute
Entwicklungsumgebung, abschreckend ist der mörderische Preis.

Netscape Kiva (Netscape Application Server) habe ich noch nicht
persönlich ausprobieren können. Den Reviews nach, die ich gelesen habe
und die durchweg Verrisse sind, handelt es sich um Server Side Java, das
von einem speicherhungrigen und instabilen Java-Interpreter ausgeführt
wird und das gegen die Starrheiten der Sprache und der Datenbank-API
kämpfend versucht, Datenbankanfragen in endlicher Zeit durchzuführen,
ohne abzustürzen. Nächste Woche habe ich eine Einführungsschulung zu
diesem Thema (eigentlich ist der erste Tag nur "Netscape Server
Produktpalette und Strategie", der Rest folgt häppchenweise später) und
ich bin schon ganz gespannt, wie der Hersteller sein Produkt sexy machen
wird. Über Vor- und Nachteile kann ich noch nicht aus erster Hand
berichten.

Hoffe, es hilft Dir trotzdem ein wenig,
	Kristian

-- 
Kristian Koehntopp, Wassilystrasse 30, 24113 Kiel, +49 431 688897
"Ich weiss wirklich nicht, ob ich noch an echte Philosophen glaube.
 Heutzutage ist doch fast alles sythetisch." -- Helene Amundsen


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive