From cd992e141ea435731377e3be8a68be1c4ff53da9 Mon Sep 17 00:00:00 2001 From: Ian Piumarta Date: Tue, 21 May 2024 09:13:27 +0900 Subject: [PATCH] Include profile guided optimisation workload. --- profile-generate.txt | 45 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 profile-generate.txt diff --git a/profile-generate.txt b/profile-generate.txt new file mode 100644 index 0000000..eca5979 --- /dev/null +++ b/profile-generate.txt @@ -0,0 +1,45 @@ +nfib = (n) { if (n < 2) 1; else nfib(n-1) + nfib(n-2) + 1; }; + +then = cputime(); +calls = nfib(32); +now = cputime(); +secs = now - then; + +print(calls, " calls in ", + secs, " seconds = ", + round(calls / secs), " calls/sec\n"); + +numbers = 8192; // 1028 primes +repeats = 200; + +count = 0; + +then = cputime(); + +evals = evaluations(); + +for (n = 0; n < repeats; n = n + 1) { + print("\r", n, "/", repeats); + let sieve = []; + count = 0; + for (i in numbers) sieve.push(nil); + for (i = 2; i < numbers; i = i + 1) { + if (!sieve[i]) { + // print(i, " "); + count = count + 1; + for (k = i+i; k < numbers; k = k+i) + sieve[k] = #t; + } + } + count; +} + +evals = evaluations() - evals; + +now = cputime(); +secs = now - then; + +print("\r", count, " primes in the first ", numbers, " numbers\n"); +print(evals, " nodes evaluated in ", + secs, " seconds = ", + round(evals / secs), " nodes/sec\n");