mirror of
https://github.com/bevyengine/bevy
synced 2024-11-26 06:30:19 +00:00
b1afe2dcca
# Objective - Make it possible to use `System`s outside of the scheduler/executor without having to define logic to track new archetypes and call `System::add_archetype()` for each. ## Solution - Replace `System::add_archetype(&Archetype)` with `System::update_archetypes(&World)`, making systems responsible for tracking their own most recent archetype generation the way that `SystemState` already does. This has minimal (or simplifying) effect on most of the code with the exception of `FunctionSystem`, which must now track the latest `ArchetypeGeneration` it saw instead of relying on the executor to do it. Co-authored-by: Carter Anderson <mcanders1@gmail.com>
43 lines
868 B
TOML
43 lines
868 B
TOML
[package]
|
|
name = "benches"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Benchmarks for Bevy engine"
|
|
publish = false
|
|
license = "MIT OR Apache-2.0"
|
|
|
|
[dev-dependencies]
|
|
glam = "0.20"
|
|
criterion = { version = "0.3", features = ["html_reports"] }
|
|
bevy_ecs = { path = "../crates/bevy_ecs" }
|
|
bevy_tasks = { path = "../crates/bevy_tasks" }
|
|
|
|
[[bench]]
|
|
name = "archetype_updates"
|
|
path = "benches/bevy_ecs/archetype_updates.rs"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "ecs_bench_suite"
|
|
path = "benches/bevy_ecs/ecs_bench_suite/mod.rs"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "system_stage"
|
|
path = "benches/bevy_ecs/stages.rs"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "commands"
|
|
path = "benches/bevy_ecs/commands.rs"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "world_get"
|
|
path = "benches/bevy_ecs/world_get.rs"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "iter"
|
|
path = "benches/bevy_tasks/iter.rs"
|
|
harness = false
|