James Liu
James Liu
Sorry about that, must have been reading an old version of the PR. Really shouldn't be doing this stuff at 4AM, haha. Quick pass seems to suggest we can aim...
@hymm can you add `Fixes #4718`? The shift away from spin-ticking to using `Executor::run` should resolve it.
@alice-i-cecile I would still mark this as blocked until #6534 or something equivalent is merged. This implementation is unsound unless we're 100% certain `World: Send`.
> I'm not sure if the AssertUnwindSafe's are sound or not. Unwind safety is about not leaving something in a invalid state due to an unwind, not memory safety and...
Quick answers: - Bad news: No this does not allow auto-vectorization. - Good news: the added ticks are not included in the final output if unused. Confirmed by checking the...
Finalized a set of microbenchmarks. Looks like there's a massive improvement in iteration times where there are mutable queries, slight improvements in overall change detection, and small regressions in commands....
Sans the API surface, this is ready for review.
Did some further investigation on why the perf difference grew bigger between `for_each` and `iter`. `for_each` *will* autovectorize if possible, while something else in `iter` is blocking the same optimization....
> Much nicer! You have my approval now. Still curious about the gap between for_each and iter, but that's a question for another day. I'm almost 100% sure it's the...
bors try