AMD Phenom(tm) II X4 955
C++:
time ./prime 28.246s
Scala:
time scala prime.scala 37.946s
Források:
C++:
#include <stdio.h>
#include <math.h>
int main() {
int* primeArr = new int[1000000];
int count = 0;
for (int i = 2; i<=10000000; i++) {
int k = int( sqrt(i) );
bool isPrime = true;
for (int j = 2; j <= k; j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
primeArr[count] = i;
count += 1;
}
}
printf("%d\n", count);
return 0;
}
Scala 2.9.2:
import scala.util.control.Breaks._
var primeArr = new Array[Int](1000000)
var count = 0;
for (i <- 2 to 10000000) {
var k = scala.math.sqrt(i).toInt
var isPrime = true
breakable { for (j <- 2 to k) {
if (i % j == 0) {
isPrime = false
break
}
} }
if (isPrime) {
primeArr(count) = i
count += 1
}
}
println(count)