Ver código fonte

Add the usual two micro-bencharks (nfibs and prime sieve)

pull/18/head
Ian Piumarta 4 anos atrás
pai
commit
fb35013179
2 arquivos alterados com 54 adições e 0 exclusões
  1. +17
    -0
      bench-fib.txt
  2. +37
    -0
      bench-sieve.txt

+ 17
- 0
bench-fib.txt Ver arquivo

@ -0,0 +1,17 @@
fun f(n) { if (n < 2) 1 else 1 + f(n-1) + f(n-2) }
start = microseconds();
n = f(30);
print(n, "\n");
time = microseconds() - start;
secs = time / 1000000;
usec = String(time % 1000000);
while (length(usec) < 6) usec = "0"+usec;
print(secs, ".", usec, " seconds\n");
print(n * 1000 / (time / 1000), " function calls per second\n");

+ 37
- 0
bench-sieve.txt Ver arquivo

@ -0,0 +1,37 @@
fun sieve(n) {
var nPrimes= 0;
var isPrime= {};
var i= 0;
while (i < n) {
isPrime[i]= 1;
i= i+1;
}
i= 2;
while (i < n) {
if (isPrime[i]) {
nPrimes = nPrimes + 1;
var j= i+i;
while (j < n) {
isPrime[j]= 0;
j= j + i;
}
}
i = i + 1;
}
return nPrimes;
}
start = microseconds();
for (var i= 0; i < 20; i = i + 1) {
print(sieve(8192), "\n");
}
time = microseconds() - start;
secs = time / 1000000;
usec = String(time % 1000000);
while (length(usec) < 6) usec = "0"+usec;
print(secs, ".", usec, " seconds\n");

Carregando…
Cancelar
Salvar