bevyengine / bevyengine/bevy

Add benchmarks for event reading and writing

Open
#4,915 0 comments 0 reactions 0 assignees View on GitHub
A-ECS C-Performance S-Needs-Benchmarking
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

## 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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.