Automate some clients-based performance reasoning #1286
brandonwillard
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
How could we prevent the need to manually make considerations for rewrites that are "sensitive" to client-based relationships?
We have some rewrites like #1116 that, when applied, would effectively perform the same computations more than once and potentially take away from the benefits of the rewrites themselves. Currently, we use some hard and fast number-of-clients checks, but, naturally, taking into account all the relevant considerations isn't that simple; plus, the need to perform those checks manually is a bit cumbersome, especially when/if they can be automated to some degree.
Of course some sort of utility/cost can be applied based on the relative shapes/sizes of the terms involved, but can we effectively apply this as another layer/pass/check that applies more generally? I'm not a big fan of the backtracking currently used by the in-placing rewrites, so let's consider something else in this context.
N.B. My current assumption is that this will be much more reasonable when we start doing something closer to Equality Saturation (e.g. after #1165 and related e-graph changes).
Beta Was this translation helpful? Give feedback.
All reactions