mirror of
https://github.com/bevyengine/bevy
synced 2024-12-25 04:23:08 +00:00
17e7642611
Add bevy_tasks crate to replace rayon
1.1 KiB
1.1 KiB
bevy_tasks
A refreshingly simple task executor for bevy. :)
This is a simple threadpool with minimal dependencies. The main usecase is a scoped fork-join, i.e. spawning tasks from
a single thread and having that thread await the completion of those tasks. This is intended specifically for
bevy
as a lighter alternative to rayon
for this specific usecase. There are also utilities for
generating the tasks from a slice of data. This library is intended for games and makes no attempt to ensure fairness
or ordering of spawned tasks.
It is based on multitask
, a lightweight executor that allows the end user to manage their own threads.
multitask
is based on async-task, a core piece of async-std.
Dependencies
A very small dependency list is a key feature of this module
├── multitask
│ ├── async-task
│ ├── concurrent-queue
│ │ └── cache-padded
│ └── fastrand
├── num_cpus
│ └── libc
├── parking
└── pollster