Conversation
Signed-off-by: Andrew Duffy <andrew@a10y.dev>
Signed-off-by: Andrew Duffy <andrew@a10y.dev>
Signed-off-by: Andrew Duffy <andrew@a10y.dev>
Merging this PR will improve performance by 22.59%
Performance Changes
Comparing Footnotes
|
|
Moving my comment from another PR: Unless we have some way of passing down an "is_defined" mask into execution, there's no way for the child array to know whether some checked operation should fail or not. e.g. the child of a Patches array may overflow on some arithmetic, but the patch would have succeeded. We need a way to tell the child to ignore the overflow for the invalid positions. |
|
do you think that's something we could ferry in the executionctx? |
|
Alternatively you can just not pushdown scalarfns to the child and force it to be done after patching? It's clear to me why you'd wanna push down cardinality reducing ops (e.g. Slice) but idk why it matters if fallible scalar fns like Sum or Binary need the patched result |
|
The push-down makes sense, but it seems a shame that we cannot have a specialized kernel for ALP::compare because there's a patch array in the middle. I guess compare can be pushed down? Because it isn't a checked operation? In fact, I think we already have this defined as |
|
Other option ofc is |
Summary
Closes: #000
Testing