# 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>
		
			
				
	
	
		
			44 lines
		
	
	
		
			868 B
		
	
	
	
		
			TOML
		
	
	
	
	
	
			
		
		
	
	
			44 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
 |