mirror of
https://github.com/bevyengine/bevy
synced 2024-11-26 14:40:19 +00:00
c4caebb528
# Objective The multi-threaded executor currently runs in a dedicated task on a single thread. When a system finishes running, it needs to notify that task and wait for the thread to be available and running before the executor can process the completion. See #8304 ## Solution Run the multi-threaded executor at the end of each system task. This allows it to run immediately instead of needing to wait for the main thread to wake up. Move the mutable executor state into a separate struct and wrap it in a mutex so it can be shared among the worker threads. While this should be faster in theory, I don't actually know how to measure the performance impact myself. --------- Co-authored-by: James Liu <contact@jamessliu.com> Co-authored-by: Mike <mike.hsu@gmail.com>
49 lines
1.2 KiB
TOML
49 lines
1.2 KiB
TOML
[package]
|
|
name = "bevy_ecs"
|
|
version = "0.14.0-dev"
|
|
edition = "2021"
|
|
description = "Bevy Engine's entity component system"
|
|
homepage = "https://bevyengine.org"
|
|
repository = "https://github.com/bevyengine/bevy"
|
|
license = "MIT OR Apache-2.0"
|
|
keywords = ["ecs", "game", "bevy"]
|
|
categories = ["game-engines", "data-structures"]
|
|
|
|
[features]
|
|
trace = []
|
|
multi-threaded = ["bevy_tasks/multi-threaded"]
|
|
bevy_debug_stepping = []
|
|
default = ["bevy_reflect", "bevy_debug_stepping"]
|
|
|
|
[dependencies]
|
|
bevy_ptr = { path = "../bevy_ptr", version = "0.14.0-dev" }
|
|
bevy_reflect = { path = "../bevy_reflect", version = "0.14.0-dev", optional = true }
|
|
bevy_tasks = { path = "../bevy_tasks", version = "0.14.0-dev" }
|
|
bevy_utils = { path = "../bevy_utils", version = "0.14.0-dev" }
|
|
bevy_ecs_macros = { path = "macros", version = "0.14.0-dev" }
|
|
|
|
concurrent-queue = "2.4.0"
|
|
fixedbitset = "0.4.2"
|
|
rustc-hash = "1.1"
|
|
downcast-rs = "1.2"
|
|
serde = "1"
|
|
thiserror = "1.0"
|
|
|
|
[dev-dependencies]
|
|
rand = "0.8"
|
|
static_assertions = "1.1.0"
|
|
|
|
[[example]]
|
|
name = "events"
|
|
path = "examples/events.rs"
|
|
|
|
[[example]]
|
|
name = "resources"
|
|
path = "examples/resources.rs"
|
|
|
|
[[example]]
|
|
name = "change_detection"
|
|
path = "examples/change_detection.rs"
|
|
|
|
[lints]
|
|
workspace = true
|