Oggi per fare delle prove ho realizzato un programma semplicissimo in C e Java
Ecco il codice:
codice:
C
#include <stdio.h>
#include <time.h>
int main ( ) {
int i;
time_t now = time ( NULL );
printf ( ctime ( &now ) );
for ( i = 0; i < 1000000000; i ++ ) {
// if ( ! ( i % 100000000 ) )
// printf ( "%d\n", i )
}
printf ( "Finito!\n\n" );
now = time ( NULL );
printf ( ctime ( &now ) );
return 0;
}
codice:
Java
import java.io.*;
import java.util.*;
class javacnt {
public static void main (String[] args) {
Date d = new Date ( );
System.out.println ( d );
for (int i=0; i<1000000000; i++) {
//if ( ( i % 100000000 ) == 0 )
// System.out.println ( i );
}
System.out.println ("Fine");
d = new Date ( );
System.out.println ( d );
}
}
Eseguendoli entrambi mi sono accorto che quello in Java e' leggermente piu' veloce...
Se invece decommento le due linee commentate vince di netto il C...
Perche' nel primo caso vince (anche se di pochissimo) il Java?
PS: I programmi ci hanno messo 11 secondi quello in C e 9 quelli in Java, Ci mettono cosi' tanto perche' nel frattempo (da oggi pomeriggio) sto ricompilando tutto il mio sistema operativo, il processore e' quindi usato al 100% dal compilatore e i due programmi che ho testato ora sono quindi molto rallentati... Faro' delle prove anche quando la ricompilazione sara' terminata...