Doraku / Ecs.CSharp.Benchmark

Benchmarks of some C# ECS frameworks.
MIT No Attribution
116 stars 20 forks source link

Some other ECS #18

Open angelofb opened 5 months ago

angelofb commented 5 months ago

other libs not available as nuget package that can't be included yet:

edited by Doraku

friflo commented 5 months ago

Doraku removed Entitas with last update.

As I remember Benchmarking Entitas took way to long an consumed too much memory on CI and on a PC. Here the last README with Entitas. https://github.com/Doraku/Ecs.CSharp.Benchmark/blob/0bc8c496a077a43740381f9b408f360e99909964/README.md

friflo commented 5 months ago

Morpeh is part of the benchmark. Doraku accepted the PR.

friflo commented 5 months ago

@Doraku I think there should be a note in the README.md why Entitas was removed. And also a link to the old README.md - see above.

btw: I always ask myself why Entitas is/was so popular. Has anybody an answer? Performance cannot be the reason.

Doraku commented 5 months ago

@Doraku I think there should be a note in the README.md why Entitas was removed. And also a link to the old README.md - see above.

good idea I'll do that

As for the popularity of Entitas maybe because it was one of the first? Or its simple api usage? Some people are only looking into ECS for the composition and code architecture advantage and not really the performance, who knows.

Doraku commented 5 months ago

As for the others frameworks, I would be more than happy to accept MR doing this work for me :D, still it's a good list, maybe when I want a change of pace from my other projects I could look into it myself but no promise.

I hope that's ok with you I'm going to edit your message to keep track of those.

xentripetal commented 4 months ago

One other to throw into the mix https://github.com/thygrrr/fennecs

Also I tested Flecs, Bang, and Entt for a few tests and got meh results https://github.com/xentripetal/Ecs.CSharp.Benchmark/tree/master

thygrrr commented 2 months ago

Thanks a lot @xentripetal for adding fennecs. 💙💙💙

I'll submit a PR soon for a newer version of the package, and some different approaches (some are still in development).

@Doraku / @angelofb Is there a suggested limit how many "variants" of each Benchmark an ECS should showcase? (not thinking above 5, but could be up to 5 in some cases)

I would also like to port some of my basic examples as benchmarks, because just adding 3 ints is a really poor use case. Do you have anything planned for structural change benchmarks? Otherwise I can make a few suggestions in a future, separate PR as well.

Filed the first part of this promise as https://github.com/Doraku/Ecs.CSharp.Benchmark/pull/36