Newsgroup: it.comp.www.php
Titolo: domanda per esperti conoscitori di SO Unix + Apache

Ciao,
    sapete dirmi in termini percentuali quanto è più veloce richiamare uno
script PHP da browser invece che uno script CGI in Perl?
Consideriamo un banale script che manda al browser la scritta "Hello
World!!"
Se qualcuno può mi dica stime non troppo a occhio.
Il webserver tratta in maniera completamente diversa script Perl e CGI: nel
secondo caso ci sono operazioni in più come fork, sincronizzazioni...
Grazie!

script PHP da browser invece che uno script CGI in Perl?
Sul mio sistema, il PHP CGI risulta piu' lento di circa il 30%. Nel caso
che usi il modulo PHP di Apache allora e' piu' veloce di circa 10 volte,
ma in questo caso andrebbe confrontato con il modulo Perl di Apache, non
con il CGI in Perl "plain vanilla".
Questo per "Hello world"; poi bisogna vedere cosa devi fare davvero.
Con vari "trucchetti", si puo' aumentare la velocita' di output anche di
un ordine di grandezza.
Leonardo
-- 
For Light is but the left hand of Darkness; and Darkness but the right
hand of Light. Blessed then be also Darkness, and Creation unfinished.
(Tenets of the Yomeshta cult)                                  +++ATH0

 un ordine di grandezza.
beh, do per scontato che venga usato il modulo PHP di Apache.
per il modulo Perl di Apache non sempre è installato e quindi non so dirti a
riguardo.
Cosa mi dici di PHP con modulo Apache contro Perl richiamato in modo
standard?
stiamo sempre ad un ordine di grandezza di distanza?
Grazie 1000,
sapevo che rispondevi tu :)

standard?
Gli fa un mazzo tanto. Una decina di volte piu' veloce PHP, ma ho il
dubbio che sia I/O-bound (ls -la $( which perl) && inorridisci), per
cui penso che le distanze si accorcino se hai dischi tosti - SCSI UW
160 LVD magari in striping - o se fai qualche orrore tipo "perl &" e
tieni un'immagine fissa in memoria (se non te la swappa, cioe').
Bisognerebbe fare delle prove con degli script piu' complessi... con
un po' di Sporchi trucchi (S maiuscola ;-) ) il mio "record" per una
accelerazione di script e' di circa tre ordini di grandezza 8-D


 stiamo sempre ad un ordine di grandezza di distanza?
No, 10! :-)
Cmq, visto che la discussione è interessante (e non credo sia OT) ...
Ho fatto delle prove anch'io, spinto da curiosità ...
PHP come modulo e CGI con mod_perl.
Ho scritto uno script luuuuungo (e che fa cose inutili tanto per
caricare un po' il sistema!) sia in PHP che in Perl, cercando di
ottimizzarli entrambi. Risultato:
La prima volta che li lancio il php risulta più veloce (non so di quanto
ma spannometricamente direi anch'io un buon 70-80%). La seconda volta,
quando mod_perl è al lavoro e lo script perl è già in cache, il perl si
comporta meglio del php (direi che è un paio di volte più veloce).
Ovvio, tutto "spannometrico" e con mia cura (riuscita o meno!) di
ottimizzare al meglio entrambi gli script!
Adesso devo vedere come se la cavano i due linguaggi nel momento di
inserire un fracco di dati in un DB, anche se penso che qui il mod_perl
serva a poco!
Leo, una curiosità: tu per i test hai utilizzato strumenti di misura
"homan-based" o hai utilizzato strumenti che noi mortali vediamo solo
nei film? :-)
Ciao
--ev

 No, 10! :-)
una cosa che è più veloce di un'altra di dieci volte si dice che è più
veloce di un'ordine di grandezza.
Ti ricordo che il nostro sistema è decimale, quindi l'ordine è 10 ;-)
Quindi, per essere ora banale, una cosa che è 100 volte più veloce di
un'altra è più veloce di 2 ordini di grandezza.
Ciao e grazie delle delucidazioni.

 Ciao e grazie delle delucidazioni.
Beh, almeno ho delucidato!
Ciao
--ev

nei film? :-)
Ho imbrogliato. Per la versione CGI ho lanciato entrambi da CLI, e
per il modulo Apache ho confrontato tempi e statistiche di sistema
con e senza il PHP che girava.
Leonardo
-- 
Nior thainig ar major i dtus an lae chugainn,
is ni rabhamar fein ann i gcoir na gceart
ach mar sheolfai aoireacht bo gan aoire,
ar thaobh na greine de Sliabh na mBan.