Conversation
This is pure speculation, but could this be cache effects of the increased working set due to the effect table? |
Surprisingly, that slowdown is for in-place/effect-free queries, for which effects are ZSTs and the effect table should allocate no memory. |
|
These benchmarks do very few things within the iteration, which sometimes allow LLVM to optimize the loop far better... or not ! For example, on #341, adding |
|
A 10-fold difference is a lot to hand-wave, even so. Is that not sustained with |
|
This would be useful for #366, which presently must make two passes and perform a lot of redundant lookups to add/remove components to/from entities satisfying a query. |
Fixes #334.
TODO:
iterate_mut_100kbenchmark thanquery_mutin master. Nothing's jumping out at me in the disassembly; input would be welcome.query_with_effect?) to fix unsoundness