mirror of
https://github.com/bevyengine/bevy
synced 2024-12-04 18:39:13 +00:00
c9f19d8663
I have run the VSCode Extension [markdownlint](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint) on all Markdown Files in the Repo. The provided Rules are documented here: https://github.com/DavidAnson/markdownlint/blob/v0.23.1/doc/Rules.md Rules I didn't follow/fix: * MD024/no-duplicate-heading * Changelog: Here Heading will always repeat. * Examples Readme: Platform-specific documentation should be symmetrical. * MD025/single-title * MD026/no-trailing-punctuation * Caused by the ! in "Hello, World!". * MD033/no-inline-html * The plugins_guidlines file does need HTML, so the shown badges aren't downscaled too much. * ~~MD036/no-emphasis-as-heading:~~ * ~~This Warning only Appears in the Github Issue Templates and can be ignored.~~ * ~~MD041/first-line-heading~~ * ~~Only appears in the Readme for the AlienCake example Assets, which is unimportant.~~ --- I also sorted the Examples in the Readme and Cargo.toml in this order/Priority: * Topic/Folder * Introductionary Examples * Alphabetical Order The explanation for each case, where it isn't Alphabetical : * Diagnostics * log_diagnostics: The usage of inbuild Diagnostics is more important than creating your own. * ECS (Entity Component System) * ecs_guide: The guide should be read, before diving into other Features. * Reflection * reflection: Basic Explanation should be read, before more advanced Topics. * WASM Examples * hello_wasm: It's "Hello, World!".
32 lines
1.2 KiB
Markdown
32 lines
1.2 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 [`async-executor`][async-executor], a lightweight executor that allows the end user to manage their own threads.
|
|
`async-executor` is based on async-task, a core piece of async-std.
|
|
|
|
[bevy]: https://bevyengine.org
|
|
[rayon]: https://github.com/rayon-rs/rayon
|
|
[async-executor]: https://github.com/stjepang/async-executor
|
|
|
|
## Dependencies
|
|
|
|
A very small dependency list is a key feature of this module
|
|
|
|
```text
|
|
├── async-executor
|
|
│ ├── async-task
|
|
│ ├── concurrent-queue
|
|
│ │ └── cache-padded
|
|
│ └── fastrand
|
|
├── num_cpus
|
|
│ └── libc
|
|
├── parking
|
|
└── futures-lite
|
|
```
|