Message from JavaScript discussions

December 2018

— It is all pure JS

— 

It matters only for spawned processes which want to take advantage of some form of deterministic execution order

— Right

— Which they should not, imo

— It's the same as any other thread sync issue

— You use constructs which mitigate things like missed cycles

— Pure JS in browser runs ordered, and you may change the order without Herz

— It is coarse concurrency

— Meaning concurrency occurs on a whole-function basis rather than chunks of functions

— RAF, rIC, setTimeout, async, promise... yields... etc

— HZ is fine-grained concurrency, meaning concurrency occurs for smaller chunks of single functions, so each single function context switches to another one multiple times before it is finished running

Message permanent page

— It's not terribly fine-grained, but it's moreso than the JS event loop