Prima di proseguire...
Potrebbe interessarti la nostra collezione di esercizi C risolti?
Abbiamo testato un semplice ciclo in diversi linguaggi(interpretati e compilati), senza considerare le velocità di compilazione i tempi(sotto linux) sono stati i seguenti:
php : 0.344
php usando gli oggetti : 0.372
c : 0.120
c++ : 0.340
java : 1.968
python : 0.744
perl : 0.288
mentre le velocità di compilazione sono state le seguenti:
c = 0.236
c++ = 0.743
java = 1.444
a scopo informativo vengono allegati i vari programmi utilizzati :
php :
1 2 3 4 5 | #!/usr/bin/php <?php for ( $i =0; $i <100000; $i ++) print ( "ciao\n" ); ?> |
php ad oggetti :
1 2 3 4 5 6 7 8 9 10 | #!/usr/bin/php <?php class prova{ public function __construct(){ for ( $i =0; $i <100000; $i ++) print ( "ciao\n" ); } } $pp = new prova(); ?> |
c :
1 2 3 4 5 6 | #include<stdio.h> int main(){ int i; for (i=0;i<100000;i++) printf ( "ciao\n" ); } |
c++ :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <iostream> class prova { public : prova(); }; prova::prova() { for ( int i=0;i<100000;i++) std::cout << "ciao" << std::endl; } int main(){ prova pp; } |
java :
1 2 3 4 5 6 7 8 9 10 | public class test { public static void main(String[] args) { int i; for (i = 0 ; i < 100000 ;i++) System.out.println( "ciao" ); } } |
python :
1 2 3 4 | #! /usr/bin/env python for i in range ( 100000 ): print "ciao" |
perl:
1 2 3 4 | #!/usr/bin/perl for ( $i =0; $i <100000; $i ++) { print "ciao\n" ; } |
Ciò che risulta da questi test è che, come c’era da aspettarsi, il miglior linguaggio è il c, dato che il programma compilato è simile ad un programma scritto direttamente in assembler, in modo ottimizzato.
Ma ciò che è interessante notare è che compilato non vuol dire per forza più veloce, infatti il perl è più veloce del c++. Il php normale eguaglia il c++, anche se usato ad oggeti(per un confronto reale) è un po’ più lento; c’è anche da considerare che il php non ha usato ottimizzatori. solo il python, tra i linguaggi interpretati, è molto più lento del c++.
Infine come peggior linguaggio c’è il java che nonostante la sua pseudo-compilazione ha ottenuto cattivi tempi, funziona bene solo nelle macchine sun dove è presente l’interperetatore hardware.
P.S. naturalmente il php è stato eseguito come applicazione di shell
velocità linguaggi by cardinale claudio is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
bhé se volevamo trovare un motivo x il quale php fa schifo l’abbiamo trovato: è + lento del c++ xD
ma dove scusa??? ti ricordo che il php è non ottimizzato ed è a parimeto
Guarda che si può ottimizzare anche c++…
come ottimizzazione intendo la pseudo compilazione in bytecode