O'Reilly logo

Learn ECMAScript - Second Edition by Narayan Prusty, Mehul Mohan

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required