Making Web-Workers Async Iterables
github.com
github.com
I had an embarrassingly parallel problem with validating user drawn geometries against hundreds of thousands of others in real time and web workers is a godsend.
From my own experience:
Edit: looks like someone wrote an NPM package already:
https://github.com/icodeforlove/task.js
Which works on Node.js, and the browser. (Supports fork, worker_threads, and WebWorkers)
The advantage of this is that the workers become generic enough to run anything. Instead of having to have many "specialized" workers.
Performance-wise eval is not slow, and it is encapsulated inside of the actual worker. Obviously you don't want a user to be able to control any input. But for most cases we are talking about code related to processing, which involves hard coded functions, and the "external-data" being ArrayBuffers.