Skip to content

Commit cae72b5

Browse files
committed
Streamline index queries by caching matching tables and archetypes by index.
1 parent 5d6606e commit cae72b5

File tree

7 files changed

+163
-208
lines changed

7 files changed

+163
-208
lines changed

benches/benches/bevy_ecs/index/index_iter_indexed.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ const SPAWNS: usize = 1_000_000;
1010
struct Planet(u16);
1111

1212
fn find_planet_zeroes_indexed(query: QueryByIndex<Planet, &Planet>) {
13-
let mut query = query.at(&Planet(0));
14-
for planet in query.query().iter() {
13+
let query = query.at(&Planet(0));
14+
for planet in query.iter() {
1515
let _ = black_box(planet);
1616
}
1717
}

benches/benches/bevy_ecs/index/index_update_indexed.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ fn increment_planet_zeroes_indexed(
1616
let target = Planet(*local);
1717
let next_planet = Planet(target.0 + 1);
1818

19-
let mut query = query.at(&target);
20-
for (entity, _planet) in query.query().iter() {
19+
let query = query.at(&target);
20+
for (entity, _planet) in query.iter() {
2121
commands.entity(entity).insert(next_planet);
2222
}
2323

crates/bevy_app/src/app.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -1351,8 +1351,7 @@ impl App {
13511351
/// app.add_index::<FavoriteColor>();
13521352
///
13531353
/// fn find_red_fans(mut query: QueryByIndex<FavoriteColor, Entity>) {
1354-
/// let mut lens = query.at(&FavoriteColor::Red);
1355-
/// for entity in lens.query().iter() {
1354+
/// for entity in &query.at(&FavoriteColor::Red) {
13561355
/// println!("{entity:?} likes the color Red!");
13571356
/// }
13581357
/// }
@@ -1398,8 +1397,7 @@ impl App {
13981397
/// });
13991398
///
14001399
/// fn find_red_fans(mut query: QueryByIndex<FavoriteColor, Entity>) {
1401-
/// let mut lens = query.at(&FavoriteColor::Red);
1402-
/// for entity in lens.query().iter() {
1400+
/// for entity in &query.at(&FavoriteColor::Red) {
14031401
/// println!("{entity:?} likes the color Red!");
14041402
/// }
14051403
/// }

crates/bevy_ecs/src/index/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
//! fn get_earthlings(mut query: QueryByIndex<Planet, Entity>) {
9393
//! let mut earthlings = query.at(&Planet("Earth"));
9494
//!
95-
//! for earthling in &earthlings.query() {
95+
//! for earthling in &earthlings {
9696
//! // ...
9797
//! }
9898
//! }

0 commit comments

Comments
 (0)