Confronto prestazioni tra linguaggi
Inserito da assente il 7 Aprile, 2004 - 14:33 ProgrammazioneConfronto prestazioni tra linguaggi
[code]
def fib(n)
if n>2
n
else
fib(n-2)+fib(n-1)
end
end
print(fib(30), "\n");
[/code]
Il codice sopra è stato "tradotto" in vari linguaggi di programmazione moderni; [b]Java[/b] e [b]C#[/b] sono linguaggi ibridi semicompilati, mentre i restanti [b]Ruby[/b], [b]Python[/b] e [b]Perl[/b] sono interpretati.
Il comando [u]time[/u] misura il tempo impiegato a generare l'output, con questo difficilmente si deduce che un linguaggio è più veloce di un'altro, comunque sia, ci si può fare una vaga idea delle loro prestazioni in piccoli programmi.
Concludendo, ogni linguaggio ha la sua peculiarit? e i propri vantaggi/svantaggi, personalmente mi affascinano molto Ruby e C#, ma se cercate delle soluzioni più mature forse Java, Python e Perl sono le più collaudate...
Come sempre a voi la scelta ;-)
[code]
pc01:~$ dmesg | grep CPU
CPU0: AMD Athlon(TM) XP1700+ stepping 02
pc01:~$
pc01:~$ uname -a
Linux pc01 2.4.22.tutto #1 SMP gio ott 16 17:35:03 CEST 2003 i686 GNU/Linux
pc01:~$
pc01:~$ time java fib
832040
real 0m1.892s
user 0m0.100s
sys 0m0.210s
pc01:~$ time mono fib.exe
832040
real 0m0.928s
user 0m0.100s
sys 0m0.060s
pc01:~$ time ruby fib.rb
832040
real 0m3.829s
user 0m3.650s
sys 0m0.040s
pc01:~$ time python fib.py
832040
real 0m2.484s
user 0m1.880s
sys 0m0.040s
pc01:~$ time perl fib.pl
832040
real 0m4.160s
user 0m3.670s
sys 0m0.010s
pc01:~$
[/code]



Commenti recenti
15 ore 45 min fa
20 ore 11 min fa
21 ore 42 min fa
21 ore 53 min fa
1 giorno 12 ore fa
1 giorno 15 ore fa
1 giorno 18 ore fa
2 giorni 2 ore fa
2 giorni 17 ore fa
2 giorni 22 ore fa