Better change detection benchmarking
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## What problem does this solve or what need does it fill?
The change detection benchmarks we currently have (#4883) don't accurately cover all of the realistic use cases we care about.\
## What solution would you like?
We should cover:
1. No entity has changed.
2. Only one entity has changed across many entities.
3. Only entities within a single archetype has changed, across many archetypes and entities.
4. Half of the entities have changed, completely at random.
4. Almost all entities have changed.
5. Almost all of the archetypes have changed.
6. All entities have changed.
We should independently measure both the speed of making the mutations, and the speed of detecting the changes.
## Additional context
https://github.com/bevyengine/bevy/pull/11173 improves the reliability of the existing benchmarks, and should be merged first.
This is needed by #4882 and #5097, to evaluate the impacts of changes made to address them.
Contributor guide
Research direction
Start by reviewing the existing change-detection benchmarks referenced in #4883 and the reliability work in pull request #11173. Add benchmark coverage for each listed mutation pattern, independently measuring mutation and detection speed. Done means the scenarios are represented and their results can be compared reliably for the work in #4882 and #5097.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100