~/talk

Shared Memory & Parallel Programming with JavaScript

Talkat JSConf EU 2017 · on Sunday, 2017-05-07· [javascript, web-performance]
slides:none on file

Demonstrates real numbers and trade-offs: naive parallel counts over 200 million iterations slow down due to cache and data races, naive Atomics.add serialises and spikes to ~13 seconds, while per-thread local counters plus one Atomic.add restores speed near the single-thread ~400 ms. Shows SharedArrayBuffer and Atomics for coordinated shared memory and a custom compiler TurboScript that emits asm.js-like code, builds a KD-tree for the Stanford dragon and runs an eight-tile global illumination ray tracer in real time in Three.js.

AI-written summary · about

  1. 0:00Shared memory in JavaScript
  2. 1:13Web Workers memory limits
  3. 2:24SharedArrayBuffer and Atomics
  4. 3:59Parallel slower than single-threaded
  5. 5:31Solving data races with Atomics
  6. 7:53Naive Atomics performance impact
  7. 9:05Optimizing parallel counting
  8. 10:33Ray tracing with shared memory
  9. 13:35Manual memory serialization challenges
  10. 15:17TurboScript introduction
  11. 17:38TurboScript and WebAssembly
  12. 20:28TurboScript demo
  13. 22:44TurboScript debugging and future
  14. 23:30Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.