Welcome
This is the documentation page for a fibre based job system inspired by the talk Parallelizing the Naughty Dog Engine Using Fibres.
It differs from that particular design in several ways, including adding "work stealing". For a detailed explaination see Architecture page.
Known limitiations
It is inherently x64 linux only as context switch code is written in assembly and obeys the linux system v ABI.
When I have access to a windows machine I will make a windows version as well.
Lock free queue implementations
Thanks to these github users who's code I have used:
- https://github.com/taskflow/work-stealing-queue/tree/master
- https://github.com/bowtoyourlord/MPSCQueue/tree/main