Uploaded August 2021 | Updated September 2026, 3 weeks ago
Can you make JavaScript run even faster? Or is it limited as a single thread language?
Patreon: patreon.com/simondevyt
Follow me on:
Twitter: twitter.com/iced_coffee_dev
Instagram: instagram.com/beer_and_code
Github: github.com/simondevyoutube
In this video we talk a bit about JavaScript's mechanisms for concurrency and spreading the work out over multiple threads/cores. We'll cover the web worker API in a bit of detail, dedicated workers, and then we'll move on to creating a small testing setup. It's kind of interesting to explore the threading opportunities that JavaScripts offers through the Web Worker API, the various pitfalls and performance footguns that lurk there, and what you can do to mitigate these issues. We'll also explore using transferable objects with ArrayBuffer, and touch quickly on what SharedArrayBuffer unlocks in terms of concurrency and multiple threads reading/writing.
Links:
developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API
https://surma.dev/
https://surma.dev/things/is-postmessage-slow/
https://v8.dev/docs/embed
developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer
developer.mozilla.org/en-US/docs/Web/API/Worker/postMessage
developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm
developers.google.com/web/updates/2011/12/Transferable-Objects-Lightning-Fast
en.wikipedia.org/wiki/JavaScript
And yes, Node also has threads:
nodejs.org/api/worker_threads.html
Can you make JavaScript run even faster? Or is it limited as a single thread language?
Patreon: patreon.com/simondevyt
Follow me on:
Twitter: twitter.com/iced_coffee_dev
Instagram: instagram.com/beer_and_code
Github: github.com/simondevyoutube
In this video we talk a bit about JavaScript's mechanisms for concurrency and spreading the work out over multiple threads/cores. We'll cover the web worker API in a bit of detail, dedicated workers, and then we'll move on to creating a small testing setup. It's kind of interesting to explore the threading opportunities that JavaScripts offers through the Web Worker API, the various pitfalls and performance footguns that lurk there, and what you can do to mitigate these issues. We'll also explore using transferable objects with ArrayBuffer, and touch quickly on what SharedArrayBuffer unlocks in terms of concurrency and multiple threads reading/writing.
Links:
developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API
https://surma.dev/
https://surma.dev/things/is-postmessage-slow/
https://v8.dev/docs/embed
developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer
developer.mozilla.org/en-US/docs/Web/API/Worker/postMessage
developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm
developers.google.com/web/updates/2011/12/Transferable-Objects-Lightning-Fast
en.wikipedia.org/wiki/JavaScript
And yes, Node also has threads:
nodejs.org/api/worker_threads.html






