4 ms·
Yeah, I remember just how nice it was going from Cooperative MT to Preemptive multi tasking -- the general view was that anything that only did Cooperative MT w
by wiredfool 7y ago
Yeah, I remember just how nice it was going from Cooperative MT to Preemptive multi tasking -- the general view was that anything that only did Cooperative MT was just a Toy.
I'd bet that the orders of magnitude of speed from Moore's law did in CMT by making PMT doable without a huge speed hit.
Nothing I've seen from async is cleaner, easier to maintain, or better from a cognitive load POV. It's just more efficient for certain types of loads because you're being a consenting adult and not breaking things.
- neillyons 7y agoWhat language were you using that had preemptive multi tasking?
- lmeyerov 7y agoCMT for concurrency + DLP for parallelism is a he'll of a lot more scalable in LOC than the unsafe hammer of preemptive. We keep unsafe parallelism to only tiny tiny tiny GPU code snippets. Node's concurrency and parallelism probs don't require deep lang changes but runtime ones and some ergonomics to be closer to Go -- and not far IMO bc of last few years of work for Async, safe (fresh env) eval, and json/buffer msg's. More exciting would be something like Apache Arrow / Berkeley's 'Plasma', but that stuff is still more exploratory.
- brendanw 7y agoFor folks looking for a good primer on the terminology and history of cooperative vs preemptive multi tasking, I took a pause on reading this thread to look for an article https://dev.to/nestedsoftware/is-cooperative-concurrency-here-to-stay-5adb https://dev.to/nestedsoftware/is-cooperative-concurrency-her... This article does a good overview