From a4d6defa1722d52bf0f5bb2f3abf1443c4b6509c Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sat, 22 Nov 2025 15:34:30 +0100 Subject: Added talk --- src/talks/wasm/examples/4-primes-sieve/script.js | 38 ++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/talks/wasm/examples/4-primes-sieve/script.js (limited to 'src/talks/wasm/examples/4-primes-sieve/script.js') diff --git a/src/talks/wasm/examples/4-primes-sieve/script.js b/src/talks/wasm/examples/4-primes-sieve/script.js new file mode 100644 index 0000000..8041e5b --- /dev/null +++ b/src/talks/wasm/examples/4-primes-sieve/script.js @@ -0,0 +1,38 @@ +import Primes from "./primes.mjs"; + +var primes = await Primes(); + +var input = document.getElementById("input"); +var wasm_button = document.getElementById("wasmButton"); +var js_button = document.getElementById("jsButton"); +var resultText = document.getElementById("resultText"); + +var count_wasm = (n) => primes._count(n); + +var count_js = (n) => { + if (n < 2) + return 0; + + var notprime = new Uint8Array(n+2); + + var count = 0; + for (var i = 2; i < n; i++) { + count += 1 - notprime[i]; + for (var j = 2*i; j < n; j += i) + notprime[j] = 1; + } + + return count; +} + +var timerun = (count, tag) => { + var n = Number(input.value); + var msg = "Counting primes less than " + n + " with " + tag; + console.time(msg); + var c = count(n); + console.timeEnd(msg); + resultText.innerText = "There are " + c + " primes less than " + n; +} + +wasm_button.addEventListener("click", () => timerun(count_wasm, "WASM")); +js_button.addEventListener("click", () => timerun(count_js, "JS")); -- cgit v1.3