Work stealing job system vs Unity Job System vs Fiber Job System
clibequilibrium opened this issue · 2 comments
Hello @genaray !
Thank you for making your job system open sourced.
I am very curious if you could elaborate on strength and weaknesses of your implementation versus traditional work stealing job system, unit's job system or Naughty Dog's fiber job system?
Thanks
Hey there! :)
Well good question. I actually have no answer to that. I just created this since i needed an allocation free job scheduler (without any game engine dependency) and there werent any for c#... Since existing c# solutions never pooled the handles internally.
Unitys jobsystem or the fiber one will perform better, no question :D
However i thought about adding a job steal mechanism to avoid thread blocking, that would be a nice feature. Didnt have any time for this currently, but if you wanna contribute... Fell free to do so ^^
Glad for any help :)
Unitys jobsystem
I doubt that, it's quite slow as the actual job system code written in C++ and then PInvoked in C# land. I saw it largely underperforming in Mono without Burst Compiler. They have work stealing however that allows for fewer thread stalls .
Glad to hear that you are welcoming contribution ! I might assemble something in a work-stealing branch, thanks !