const startTest = () => { const isPrime = (candidate) => { for (let i = 2; i <= Math.floor(Math.sqrt(candidate)); i++) { if (candidate % i === 0) return false; } return true; } let buffer = new ArrayBuffer(1024 * 1024 * 2) let view = new Uint8Array(buffer); let count = 0; performance.mark('startTest'); for (let i = 0; i < view.length; i++) { let candidate = i + 2; let result = isPrime(candidate); if (result) count++ view[i] = result; } performance.mark('endTest'); performance.measure('primes', 'startTest', 'endTest'); document.getElementById('performance').innerHTML = `Found ${count} in ${performance.getEntriesByName('primes')[0].duration} ms`; } document.getElementById('test').addEventListener('click', startTest);
<button id="test">Start Test</button> Results:<br /> <pre id="performance">Nothing yet...</pre>