Amortize cost of system parallelism
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
## Goal Description
In many cases, especially in simple apps, the multi-threaded system executor can have a worse frame-time than the single-threaded executor; this happens when either (a) the costs of parallelization are high relative to the runtime of the systems being executed, or (b) the schedule being executed has few opportunities to exploit parallelism in the first place. We should detect these cases and fall back gracefully to single-threaded execution for the portion of the schedule to which they apply. One of the primary costs associated with system parallelism is the check for system-level parallelizability, and we may also want to investigate ways to do these checks less often.
## Goal Status
This is a potential [Bevy Project Goal](https://bevy.org/learn/contribute/project-information/project-goals/). Its state on the [Project Goals Board](https://github.com/orgs/bevyengine/projects/23/views/1) determines if it is Proposed, Postponed, Blocked (Approved), Inactive (Approved), Active (Approved), Completed, or Declined.
- **Staffing SMEs**: Not yet staffed
- **Working Group Link**: Working Group not yet formed
- **Design Documents**: Design documents not yet written
Contributor guide
Assessment
This issue has not been assessed yet.