mirror of
https://github.com/Noratrieb/benchmarks.git
synced 2026-01-14 10:45:04 +01:00
43 lines
No EOL
995 B
JavaScript
43 lines
No EOL
995 B
JavaScript
|
|
const times = [];
|
|
|
|
for (let i = 0; i < 10; i++) {
|
|
console.log(`staring ${i} run`)
|
|
const startTime = Date.now();
|
|
primes(10_000_000)
|
|
const totalTime = Date.now() - startTime;
|
|
times.push(totalTime);
|
|
}
|
|
|
|
console.assert(primes(10_000_000).length === 664_579);
|
|
|
|
const average = times.reduce((a, b) => a + b, 0) / times.length;
|
|
console.log(`Average time was ${average}ms`)
|
|
|
|
|
|
|
|
function primes(max) {
|
|
const primesList = [];
|
|
|
|
primesList.push(2);
|
|
|
|
for (let i = 3; i < max; i++) { //go through all numbers
|
|
let isPrime = true;
|
|
for (let j = 0; j < primesList.length; j++) { //test each number
|
|
let prime = primesList[j];
|
|
if (prime > Math.sqrt(i)) {
|
|
break;
|
|
}
|
|
if (i % prime === 0) { //i = test number, j = some known prime
|
|
isPrime = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (isPrime) {
|
|
primesList.push(i);
|
|
}
|
|
}
|
|
|
|
return primesList;
|
|
} |