5 releases (3 breaking)

0.5.0 Apr 6, 2021
0.4.0 Dec 19, 2020
0.3.0 Nov 3, 2020
0.2.1 Sep 20, 2020
0.2.0 Sep 19, 2020

#23 in #bevy

Download history 2825/week @ 2021-04-07 1642/week @ 2021-04-14 1562/week @ 2021-04-21 1510/week @ 2021-04-28 1285/week @ 2021-05-05 1606/week @ 2021-05-12 1659/week @ 2021-05-19 1488/week @ 2021-05-26 1799/week @ 2021-06-02 1219/week @ 2021-06-09 1651/week @ 2021-06-16 1453/week @ 2021-06-23 1337/week @ 2021-06-30 1482/week @ 2021-07-07 1205/week @ 2021-07-14 1226/week @ 2021-07-21

5,431 downloads per month
Used in 137 crates (10 directly)

MIT license

55KB
1K SLoC

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 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.

Dependencies

A very small dependency list is a key feature of this module

├── async-executor
│   ├── async-task
│   ├── concurrent-queue
│   │   └── cache-padded
│   └── fastrand
├── num_cpus
│   └── libc
├── parking
└── futures-lite

Dependencies

~0.6–1.8MB
~34K SLoC