velocità linguaggi 4


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

CC BY-SA 4.0 velocità linguaggi by cardinale claudio is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.


Lascia un commento

4 commenti su “velocità linguaggi