ecs_bench_suite icon indicating copy to clipboard operation
ecs_bench_suite copied to clipboard

Consider revising "Simple Insert"

Open kettle11 opened this issue 5 years ago • 1 comments

"Simple Insert" seems to test a scenario that is very rare outside of benchmarks, and yet can uniquely optimized for in a benchmark.

How often will anyone initialize 10,000 entities with exactly the same data? It seems far more common to initialize entities with slight variations. This benchmark favors ECS libraries that implement a specific function: "initialize the exact same thing a ton of times", and the benchmark will encourage other ECS libraries to do the same.

A more useful benchmark might be to add 10,000 entities with the position incremented by 1 for each entity. This would test something closer to real world scenarios, and not encourage a unique (but mostly useful for benchmarks) fast path.

kettle11 avatar Aug 25 '20 08:08 kettle11

In addition to the above, we should also standardize on the source data layout. Currently, legion has data already in column-major layout, while every other ECS starts with row-major data, which is more work to transpose.

Ralith avatar Apr 11 '21 20:04 Ralith