mirror of
https://github.com/bevyengine/bevy
synced 2024-12-25 12:33:07 +00:00
33 lines
1.1 KiB
Markdown
33 lines
1.1 KiB
Markdown
|
# 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`][bevy] as a lighter alternative to [`rayon`][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`][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.
|
||
|
|
||
|
[bevy]: https://bevyengine.org
|
||
|
[rayon]: https://github.com/rayon-rs/rayon
|
||
|
[multitask]: https://github.com/stjepang/multitask
|
||
|
|
||
|
## 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
|
||
|
```
|