Java, Python, PHP: chi è più veloce?
Martedì 18 Gennaio 2011 - 15:23
di Maico Orazio


In questi giorni su DZone.com sezione Java è stato pubblicato un articolo di confronto tra PHP, Python e Java.
Per Steven Lott, l’autore dell’articolo, è impossibile rispondere a questa domanda, ma ci indica tre regole che potrebbero descrivere chi dei tre linguaggi è più veloce:
- I linguaggi non hanno velocità. Le implementazioni hanno velocità;
- le statistiche non sono una panacea;
- i benchmark sono difficilissimi.
L’autore indica la maggior parte dei problemi che possiamo verificare facendo questa sorta di confronto “più veloce in generale” e rivela che, mentre i benchmark possono essere eseguiti su tanti aspetti differenti dei linguaggi presi in esame, i risultati dipendono da molte variabili.
Non c’è un paragone “in generale” dei linguaggi di programmazione, dunque il suo suggerimento è cercare di non confrontare i linguaggi, ma prendere ciascuno e confrontarlo su compiti specifici.
Secondo voi questo è tutto quello che si può fare per sapere qualcosa su come risolvere un problema nel linguaggio di programmazione “più veloce”?
Categoria: PHP e Open Source, Java | Permalink
Commenti
1
beh come principi mi sembrano buoni, rimane il fatto che java è lento per sua natura.
ho partecipato alla riscrittura di un software da java a php e devo dire che sullo stesso server le performance erano migliorate di parecchio.# - postato da marco - 18 Gennaio 2011 - 17:00
2
Confermo che non esistono linguaggi più veloci o più lenti.
Infatti potremmo pensare di sviluppare la stessa soluzione in due linguaggi, magari uno però potrebbe essere più adatto allo scopo ovvero, se un certo linguaggio dispone nativamente di funzioni ottimizzate per raggiungere il mio scopo potrà solo essere più veloce di un’altro linguaggio per il quale dovrò occuparmi io di implementare tali funzioni (o parte di esse).Quindi, (IMHO) non esistono linguaggi più veloci o più lenti ma solo linguaggi adatti allo specifico scopo.
# - postato da Diego La Monica - 18 Gennaio 2011 - 19:13
3
confermo che è certo difficile fare paragoni di questo genere
# - postato da marco case - 19 Gennaio 2011 - 00:38
4
confermo che java è lento per natura ;)
Per la comparazione secondo me è fattibile “in generale” ma su domini specifici (es: app web, I/O, desktop …) senza utilizzare delle funzionalità tipiche del linguaggio, cioè scrivendo il codice uguale per tutti. Altrimenti il paragone è inutile
5
Non saprei,
so solo che se il sito che sto aprendo ci mette più di 10 secondi a visualizzare la home, è in java o in asp! xD# - postato da Stez - 19 Gennaio 2011 - 09:39
6
Innanzitutto bisognerebbe stabilire precisamente cosa intendiamo per “velocità”…a seconda della tecnologia che utilizziamo abbiamo a disposizione strumenti specifici con caratteristiche specifiche, che possono influenzare il nostro giudizio sulle performance di un linguaggio di programmazione….probabilmente avrebbe molto più senso confrontare ambiente di sviluppo, e non linguaggi di programmazione!
# - postato da Marco Lecce - 19 Gennaio 2011 - 10:06
7
Mah, mi viene da dire che Python e PHP rispondono meglio. E fra i due, per piccola esperienza, mi verrebbe da dire PHP.
Il problema è imbastire un buon ambiente di test. Fra i framework a disposizione credo che quelli in PHP siano più veloci: CakePHP/Symfony/Zend contro Django! Ma è una risposta moooolto aleatoria!
8
Non ho esperienza diretta in python anche se ne sento parlare molto bene.
Tra java e php con cui lavoro ed ho lavorato continuo a ritenere più “performante” PHP. Mediamente più veloce e secondo me più flessibile rispetto java.# - postato da zener - 19 Gennaio 2011 - 10:35
9
La velocità è l’ultimo dei miei problemi, la qualità prima di tutto.
# - postato da luglio7 - 19 Gennaio 2011 - 12:04
10
#luglio7
ecco questo è il principale motivo per cui i software java sono lenti.
Inoltre la velocità E’ uno dei fattori che compongono la qualità
11
A mio avviso la velocità di compilazione è cmq la cosa che influisce economicamente meno su un progetto rispetto alla velocità di sviluppo o di manutenzione…
in ogni caso sono d’accordo che va valutato sempre il caso specifico!!
12
Be’, anche sulla velocità di sviluppo o di manutenzione, per quello che mi è capitato di vedere indirettamente, non è che java se la cavi molto bene.
# - postato da Francesco - 19 Gennaio 2011 - 14:34
13
@Kiko:
assolutamente il contratio. I tre framework da te citati sono molto più lenti di django. Ma stiamo sempre parlando di benchmark: http://www.alrond.com/en/2007/.....rameworks/
# - postato da simone - 19 Gennaio 2011 - 15:38
14
questo sito http://shootout.alioth.debian......org/ è un tentativo di approcciare il problema in modo rigoroso, vengono scritti prgrammi(solo CLI,cosa che penalizza php che tipicamente è modulo apache) funzionalmente identici in molti linguaggi e determinate le caratteristiche di velocità di esecuzione ma anche memoria impiagata.
python, PHP, perl e ruby hanno caratteristiche simili, mentre ovviamnete C, C++ pascal hanno implementazioni compilano nativamente, sono le più performanti in assoluto. c# e java sono anch’essi allineati.
molto interessante il confronto tra linee di codice impiegate per risolvere il problema, con risultati tendenzialmente inversamente proporzionali.
ruby è uno dei linguaggi più espressivi ma anche il più lento e oneroso, C e pascal sono rispettivamente il mediamente più veloce e il mediamnete più economo nel uso della RAM, ma sono anche i più complessi.
non sottovalutiamo l’uso della ram nelle moderne applicazioni web dove tutto è cachato!
da questi confronti emerge, tra linguaggi che abbiano una rilevanza industriale, molto buona l’implementazione di javascript V8, con performance in linea con i compilati ma anche espressività da linguaggio moderno.
insomma trai molti litiganti, nodejs potrebbe godere# - postato da devsmt - 19 Gennaio 2011 - 17:31
15
Ciao,
quando si valuta le performance di un linguaggio bisogna distinguere tra sintassi e implementazione del linguaggio.Un linguaggio come javascript ha una sintassi standard definita da ecmascript, è implementazioni differenti con performance differenti.
Stessa cosa vale per ruby e python che hanno implementazioni in java, native in c e in dotnet ad esempio
16
A me francamente sembra una domanda senza senso. La risposta deriva da troppi fattori in gioco.
17
Io ho la fortuna di lavorare in PYTHON PHP e JAVA, devo dire che la velocita dipende da molti fattri ed ambienti, da scelta delle architetture e molto altro (WEB, StandAllone,Client-Server/COM, ect). Facendo un confronto (che ho fatto piu’ volte durante questi anni) mi sembra il migliore in assoluto PYTHON. Inoltre non dimenticare che PYTHON ha una caratteristica unica: genera un file .PYC che in realta un file precompilato che permette all’interprete di essere molto , ma molto veloce…..
# - postato da Peter Jambor - 24 Marzo 2011 - 17:12







