Let's count one billion!

To verify that parallel computing, if set up wrongly, is actually garbage, let us count to one billion using a single-threaded and multi-threaded environment in JavaScript.

Let us first try single-threaded counting:

// Main threadconst sharedMem = new SharedArrayBuffer(4);function countSingleThread(limit) {    const arr = new Uint32Array(sharedMem);    for(let i=0; i<limit; i++) {        arr[0] = arr[0] + 1;    }}const now = performance.now();countSingleThread(1000000000);console.log(`Time Taken: ${performance.now() - now}`);

On my MacBook Air, it takes ∼2606 milliseconds for this program to run. That is roughly 2.6 seconds:

Let us ...

Get Learn ECMAScript - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.