This repository was archived by the owner on Nov 27, 2022. It is now read-only.
This repository was archived by the owner on Nov 27, 2022. It is now read-only.
Heavy compute does not give a good comparison of parallel iter #28
Open
Description
Hi,
I think there should be a benchmark that compares how the libraries handle parallel iteration. Currently, the closest test for this would be heavy_compute
, but the task (inverting a matrix 100 times) is not fine-grained enough to make a comparison of the parallel overhead (there is too much work per item).
I propose either:
- reducing the task in the parallel loop of
heavy_compute
(e.g., to inverting the matrix once, or multiplying a float value, something very small) - Or introducing a new
parallel_light_compute
benchmark.
An example of option two is here: https://github.com/ElliotB256/ecs_bench_suite/tree/parallel_light_compute
Further discussion can be found here: bevyengine/bevy#2173
The current heavy_compute
shows bevy as about ~2x slower than specs. However, parallel_light_compute
(see discussion) shows bevy is very sensitive to batch size and can be anywhere up to 10x slower than e.g. specs.
Metadata
Metadata
Assignees
Labels
No labels