Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add benchmarks for event reading and writing #4915

Open
alice-i-cecile opened this issue Jun 3, 2022 · 0 comments
Open

Add benchmarks for event reading and writing #4915

alice-i-cecile opened this issue Jun 3, 2022 · 0 comments
Labels
A-ECS Entities, components, systems, and events C-Performance A change motivated by improving speed, memory usage or compile times S-Needs-Benchmarking This set of changes needs performance benchmarking to double-check that they help

Comments

@alice-i-cecile
Copy link
Member

What problem does this solve or what need does it fill?

Depending on the game architecture, events can become part of the hot loop, with thousands of events being sent each frame.

We don't have any benchmarks for this, leaving us flying blind for changes like #4832 or #2072.

What solution would you like?

Add benchmarks for events.

These should focus on a few different patterns:

  • hundreds of different event types, each with a handful (1-5) of events sent per frame
    • each event type should be written to by a handful of different event writers
    • emulates logic that might be seen in scripting-heavy games like RPGs or platformers
  • one event type, with 10k+ events sent per frame
    • emulates high throughput events like collision detection
  • one event type, with spikes in the number of events sent
    • emulates spiky events like asset loading

Each of these cases should have a handful (5 or so) of event readers for each event type.

@alice-i-cecile alice-i-cecile added A-ECS Entities, components, systems, and events C-Performance A change motivated by improving speed, memory usage or compile times S-Needs-Benchmarking This set of changes needs performance benchmarking to double-check that they help labels Jun 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-ECS Entities, components, systems, and events C-Performance A change motivated by improving speed, memory usage or compile times S-Needs-Benchmarking This set of changes needs performance benchmarking to double-check that they help
Projects
None yet
Development

No branches or pull requests

1 participant