Replace rayon with another task scheduling system
Categories
(Core :: Graphics: WebRender, task, P3)
Tracking
()
People
(Reporter: nical, Unassigned)
References
(Blocks 1 open bug)
Details
Rayon seems to be optimized for a different kind of workload than ours and isn't working out for us (we usually spend more CPU time in rayon's glue than on the actual submitted work, and get nasty priority inversion issues).
Let's replace it with a simple system probably built on top of simple channels and muteces. What I would like from a new system is:
- Some notion of priority making sure we don't have to wait for a heavy low priority workload before we process high priority ones (this would hopefully let us remove the low priority scene builder thread).
- The ability to let the caller thread contribute to the work rather than just sit around and wait.
- Be easy to replace with something else (there's the possibility that we might want to try out the upcoming browser scheduler by the performance team).
Updated•5 years ago
|
Comment 1•5 years ago
|
||
This is postponed pending the outcome of https://github.com/rayon-rs/rfcs/pull/5 and https://github.com/rayon-rs/rfcs/pull/5 and https://github.com/rayon-rs/rayon/pull/691
Reporter | ||
Comment 2•4 years ago
|
||
Rayon has gotten better. It's not fantastic but too low priority to worry about right now, so I'm closing this and perhaps we'll open a new bug if/when this becomes an issue again.
Reporter | ||
Updated•3 years ago
|
Reporter | ||
Comment 3•3 years ago
|
||
There's some renewed motivation around replacing rayon with https://github.com/nical/misc/tree/master/parasol
Updated•2 years ago
|
Description
•