3 ms·
So basically like gevent. I agree that is a very good concurrency model. Much better than the current asyncio mess we have. But if you already have a runtime I
by nromiun 1y ago
So basically like gevent. I agree that is a very good concurrency model. Much better than the current asyncio mess we have.
But if you already have a runtime I don't know why it would be big deal to make them N:M threads as well. Makes managing CPU bound tasks easy as well as IO bound tasks.
- Phil_Latio 1y agoWell I see 2 cases for automatic preemption: - You are lazy and just don't care, let the runtime do it - Or you failed to realize that what you do could block The first case is what annoys me. I think the developer should handle obvious cases manually. While the second case would be considered a bug in my model and the language should help you with that as explained earlier. If that works out, I mean to rule out mistakes for the second case, then this model is superior and more performant I think.
- gpderetta 1y agoYou could make the same argument for GC, yet, outside of system languages, it is generally considered a net positive. The reality is that in a large application it not easy to find all the right preemption points.
- Phil_Latio 1y agoI guess you are right. Maybe I see it too much from a system programming language perspective. After all, Go is of a different kind.