Closed ghost closed 8 years ago
I've applied some optimizations to uvloop since that blog post which made streams 20-30% faster.
They are slower than callback/protocol implementation because of an extra layer of abstraction. async/await, Tasks and Futures introduce some overhead. That said, I think it's possible to remove a lot of that overhead by implementing Futures/Tasks/Streams in C, which we're slowly doing now.
I think if it's possible to remove a lot of that overhead by implementing Futures/Tasks/Streams when parsing protocol and then apply the protocol result async.
something like https://github.com/mayflaver/sora
@mayflaver would you explain in details what's the difference between current implementation and your idea?
@asvetlov more yield trigger more overhead
Thanks a lot for your explanation! I guess this can be closed now
Streams seem to be slower. Why is that so?