10-02-2011, 10:55 PM
LOL ma dove l'hai letta sta cosa che il java è il più lento ? XD
Il java anche più veloce del Python:
Guarda questo esempio del 2008, quindi dal 2008 ad oggi il java è migliorato e non di poco:
java:
class prime {
public static void main(String[] args) {
int c = 0;
for(int i=2;i<=100000;i++) if (isprime(i)) c++;
System.out.println©;
}
static boolean isprime(int n) {
if (n == 2) return true;
else if (n % 2 == 0) return false;
else {
for(int i=3;i<=(int)n/2;i+=2)
if (n % i == 0) return false;
return true ;
}
}
}
Python:
def isprime(n):
if n == 2: return True
elif n % 2 == 0: return False
else:
for i in range(3,int(n/2)+1,2):
if n % i == 0:
return False
return True
c = 0
for i in range(2,100000):
if isprime(i): c += 1
print c
Ed ecco i tempi di esecuzione:
dario@ubuntu:~$ time java prime
9592
real 0m1.662s
user 0m1.368s
sys 0m0.052s
dario@ubuntu:~$ time python prime.py
9592
real 0m51.562s
user 0m48.611s
sys 0m0.200s
Come previsto Java stravince
Il java anche più veloce del Python:
Guarda questo esempio del 2008, quindi dal 2008 ad oggi il java è migliorato e non di poco:
java:
class prime {
public static void main(String[] args) {
int c = 0;
for(int i=2;i<=100000;i++) if (isprime(i)) c++;
System.out.println©;
}
static boolean isprime(int n) {
if (n == 2) return true;
else if (n % 2 == 0) return false;
else {
for(int i=3;i<=(int)n/2;i+=2)
if (n % i == 0) return false;
return true ;
}
}
}
Python:
def isprime(n):
if n == 2: return True
elif n % 2 == 0: return False
else:
for i in range(3,int(n/2)+1,2):
if n % i == 0:
return False
return True
c = 0
for i in range(2,100000):
if isprime(i): c += 1
print c
Ed ecco i tempi di esecuzione:
dario@ubuntu:~$ time java prime
9592
real 0m1.662s
user 0m1.368s
sys 0m0.052s
dario@ubuntu:~$ time python prime.py
9592
real 0m51.562s
user 0m48.611s
sys 0m0.200s
Come previsto Java stravince