TLDR - Part 4: Component filtering BLAZING fast with macros!
Made a huge optimization in the way Seagal filters list of entities that contains specific components!
Using the macro I’ve written two days ago as a base I now use bitflags instead of multiple for-loops and several Std.is(classA, classB)
. I now just use simple bit-flag comparison as the macro auto-generates a unique bitflag for each component class, and the result is stunning!
I actually had to go back to my old test and change the number of entities from 10,000 to 100,000!!!
Note 1: Both test 2 and test 3 took 0.001 seconds when running 10,000 entities. That’s why I had to increase the number of entities.
Note 2: Test 2 now takes only 0.007 seconds with that huge amount of entities!
Note 3: Running identical test 3 with 100,000 entities on Edge gives an approx time of 0.049 seconds, even slower than my own old solution…
High fiving myself