Einzelnen Beitrag anzeigen
Alt 25.05.2002, 12:01   #4
Philipp
verXENt
 
Benutzerbild von Philipp
 
Registriert seit: 01.08.1999
Beiträge: 7.084

Mein Computer

Standard

Zitat:
Perl kann mehr als PHP - allein schon deswegen, weil es vor dem Web entstand.
Genau das ist der Unterschied. Perl wurde nie speziell für Webapplikationen entwickelt, PHP dagegen schon . Es bietet auch eine Reihe von Features an die bei Perl nur relativ umständlich möglich sind.

Ausserdem sind die meisten Perl Scripts wesentlich Ressourcenhungriger (CPU Auslastung von 100% ist bei Hochlast keine Seltenheit) als das PHP Gegenstück. Das liegt aber größtenteils daran das Perl auf den meisten Servern als CGI läuft bzw. auch viele Scripts nicht unter mod_perl funktionsfähig sind.

Während Perl mittels mod_perl in die Geschwindichkeitsregion von PHP kommt, kann man PHP mit PHP Accelerator weiter beschleunigen.

Bestes Beispiel: http://www.majorgeeks.com/article.php?sid=99

Dieser Mirror von 3D Mark 2001 SE hatte in den ersten beiden Tagen ca. 250000 Downloads, wobei der MajorGeeks Webserver (Cobalt RaQ3 AMD K6/2-300MHz mit 512MB Ram) knapp eine 1 Million Pageviews hatte.

Glaubst du das man mittels einer dynamisch generierten Perl Seite wirklich mehr aus dem Webserver hätte herausholen können? Ich glaube es nicht.

Ich habe mir dein PHP Script kurz angesehen und da sind mir zwei Sachen sofort aufgefallen:

PHP-Code:
$handle opendir($datadir);
if(
$handle == "") {
    exit(
"Konte Verzeichnis $datadir nicht lesen!\n");

Bei $handle = opendir($datadir); wird trotzdem eine Fehlermeldung von PHP ausgegeben. Diese kann mittels @opendir($datadir); unterdrückt werden.

if($handle == "") kann auch kürzer geschrieben werden: if (!$handle) bewerkt das gleiche.

Am schnellsten ist aber nach wie vor:
PHP-Code:
$handle opendir($datadir) or die("Konnte Verzeichnis $datadir nicht lesen!"); 
In dieser Zeile:
PHP-Code:
while (false !== ($file readdir ($handle))) { 
ist das false !== ( ... ) unnötig.
Philipp ist offline   Mit Zitat antworten