Dominik Charousset
Dominik Charousset
> don't you think latency spikes are produced by OS scheduler? The OS scheduler is going to add some amount of latency, but that shouldn't be in milliseconds range. >...
> CAF also uses user-space spinlock (correct me if I'm wrong) that can be interrupted by OS scheduler. Yes. Might be worth checking whether using spinlocks is still a good...
@farafonov-alexey can you run the branch `topic/neverlord/work-stealing-performance` and see if work-stealing performs better under Windows? That branch is on current `master`. Let me know if you have trouble with that...
@uentity any testing would be much appreciated! 🙂 I've ran our benchmarks against the new code and the results looked good, with slight improvements for some cases and otherwise similar...
@farafonov-alexey @uentity could you do any testing with the branch yet?
Thanks for sharing! That looks like a clear win across the board.
@uentity thanks for the testing! Looks like there's no reason to hold back on that change then. 🙂 > BTW have you considered using simple `std::mutex` instead of shared one?...
The order depends on whether you are using `.then` or `.await`. The former simply appends results in the order they arrive. The latter is going to always put the results...
> is it worth PR'ing it back if I succeed ? As long as the code is general enough (and supports all receive primitives), I think it is. 🙂
@ckreibich did you pass any additional flags to the build? I've compiled CAF (debug build) on Fedora 34 (says `The CXX compiler identification is GNU 11.1.1`) and GCC did complain...