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

Benchmark Results #1

Open
Alan-FGR opened this issue Aug 1, 2018 · 17 comments
Open

Benchmark Results #1

Alan-FGR opened this issue Aug 1, 2018 · 17 comments

Comments

@Alan-FGR
Copy link
Owner

Alan-FGR commented Aug 1, 2018

Convenience issue for testers to send their benchmark results.
Just drag and drop the txt or other output files in a new reply.
Inform the CPU where you ran the benchmarks in your reply. Simple id (like i7 6700k) is more than enough.

Prebuilt binaries can be downloaded here:
https://github.com/Alan-FGR/minECS/tree/entt_bench/Benchmarker/prebuilt
It's just a compiled distribution version of that branch.
native contains native binaries and thus don't require any runtime. Run the Benchmarker.exe.
bench contains managed binaries and require dotnet to run. There's a _run.bat for convenience.
Both versions require Win7+ 64 bit. Please inform which version you've used.

Thank you!

NOTE: in the detailed results, if you're using the managed version the first loop takes much longer because of jitting. It could be pre-jitted but I'm discarding those values that are too off so it doesn't affect the results_ALL

@Wraith2
Copy link

Wraith2 commented Aug 1, 2018

bench_result_7600K.zip

@Alan-FGR
Copy link
Owner Author

Alan-FGR commented Aug 1, 2018

@Wraith2 thank you 😄

@Wraith2
Copy link

Wraith2 commented Aug 1, 2018

native_result_7600K.zip

@jdswebb
Copy link

jdswebb commented Aug 1, 2018

i7_5820k.zip

(ran the native one)

@Alan-FGR
Copy link
Owner Author

Alan-FGR commented Aug 1, 2018

@jdswebb thank you 😃

@Alan-FGR
Copy link
Owner Author

Alan-FGR commented Aug 2, 2018

Results from old Conroe 2.66GHz (native): Benchs.zip

@Alan-FGR
Copy link
Owner Author

Alan-FGR commented Aug 2, 2018

Results from Haswell 3.0GHz (native): res.zip

@jdswebb
Copy link

jdswebb commented Aug 2, 2018

native_xeon_E5_1660.zip

😄

@Alan-FGR
Copy link
Owner Author

Alan-FGR commented Aug 2, 2018

thank you @jdswebb 😃
interesting... EnTT beats minECS in some tests there...

@skypjack
Copy link

skypjack commented Nov 19, 2018

Hi @Alan-FGR

Since you opened this, I reviewed persistent views and got an improvement around 100x on some preliminary tests.
Would you run once more benchmarks against master of EnTT?
Knowing where I've still to improve things could help a lot actually. Thanks.
If you want, I can update your main.cpp file to be sure it's using properly new persistent views. Let me know.

@Alan-FGR
Copy link
Owner Author

@skypjack you want my help to prove that latest EnTT completely blows my ECS outta water? :trollface:
I'll just have to check in the old commits what settings I've used for the benchmark. Once I'm done I'll ping you so you can see if the EnTT usage is sound.

@skypjack
Copy link

Ahahahah no, indeed. This wasn't the goal, but it's an appreciated side effect now that you pointed it out. :trollface:
To be honest, your benchmarks and some of the questions on gitter were the key to motivate me to make a review of the persistent views. I had an idea for a while but I was too lazy to implement it, because I didn't have a need for more performance actually.
I'm just curious to know if I get more or less the same results or, at least, how far EnTT is from the performance of different approaches. Probably there is room for further optimizations, but I'm again too lazy for them now! 😂

@Alan-FGR
Copy link
Owner Author

Alan-FGR commented Jan 24, 2019

I've added some more exhaustive benchmarks and minECS performs surprisingly well even compared to the new persistent views in EnTT... as we discussed though these stress tests might not reflect real-world scenarios very well but they're still relatively useful to at very least know what kind of performance you should except in my opinion.
Here are native binaries: benchmarks.zip

@skypjack
Copy link

Persistent views are gone. If you want to test it against groups, there is a new lower bound to reach. 😉

@Alan-FGR
Copy link
Owner Author

@skypjack great to see EnTT gets such substantial improvements so quickly... it's really moving forward by leaps and bounds! I'll make sure to update my benchmarks when I have some time. Thanks for letting me know :)

@sgf
Copy link

sgf commented Jun 8, 2021

there is a benchmark for ECS frameworks
https://github.com/Doraku/Ecs.CSharp.Benchmark

@sgf
Copy link

sgf commented Dec 21, 2021

a cool C# likely native-language Beef
https://github.com/beefytech/Beef
maybe make a port for Beef?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants