Здравствуйте, Ikemefula, Вы писали:
I>>>Любое ожидание, не только IO, это больное место вообще всей целиком взятой кооперативной многозадачности, а сюда входят не только statefull, но и stateless-корутины и многие другие вещи.
V>>Вовсе не любое, т.к. ожидание, не связанное с недоступным нам "черным ящиком", например, с ядерным IO, очень сложно подчинить некоей своей архитектуре.
I>Ты сам то понял что сказал ?
Я понял, что ты пока не понял, о чем речь.
I>"не связанное с недоступным нам "черным ящиком", например, с ядерным IO" -> "не связанное с недоступным нам с ядерным IO" -> "не связаное с ядерным IO"
I>Ты бы пробовал короче писать что ли
Я написал ровно то, что написал.
Ядерное IO — это лишь
один из примеров. Дело-то не в IO, вовсе, а в том, что шедуллинг выч. ресурсов в случае ядерного IO нам недоступен и нам стоит лишь полагаться на ядерный же шедулер. Когда речь об ожидании (а именно об ожидании шла речь, а не об IO), то скорость реакции на готовность ожидаемого события зависит от шедуллера. Ядерный шедуллер априори плохо в курсе насчет того, что надо прикладной программе здесь и сейчас.
См. например
TBB flow graph.
По ссылке краткая вводная относительно того, как можно строить "умные" шедуллеры.