|
|
|
|
|
by oersted
16 days ago
|
|
That does clarify some things, but still. Say you have an Isolate pinned to a core and it's doing some long compute. In the meantime some background IO finished and an Isolate in the same core needs to handle the result. That will not happen until the long compute is done. Isn't it just like in async and any other cooperative concurrency model? At least in multi-core async, that message can be handled in a different core so it's not completely stuck. But sure the author doesn't like that work-stealing cost happening automatically outside of their control, fair enough. |
|
I think they might say you need to rewrite your long-compute to have explicit yield points. Say you are parsing many rows, you'd explicitly yield after every 100 rows for example.