-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: more efficient cat #10037
RFC: more efficient cat #10037
Conversation
Looks great to me. Sweet implementation. |
Yes, this looks good. |
So this will remove the dense |
@tkelman , I guess I should have added a RFC in the title in the first place. I was hoping to get some discussion started on 2 points:
|
mutating |
It would be nice if dense |
It could either be an alias if the generalized |
I think exporting the mutating version of |
I agree. But note , @tkelman , that it is not like |
Regarding point 1). I have come to agree with @JeffBezanson that the generalised version of |
Agreed we want to export |
Ok, I’ll try to finalize this PR tonight.
|
Superseded by #10155 . |
This improves the timings for cat reported here #3645 .
On my machine, before:
After:
This introduces a mutating version
cat!
and uses a stagedfunction to generate efficient code for multidimensional arrays, but indirectly, so that the function accepting the varargs argument is a normal (not staged) function. CC: @ViralBShah , @timholy , @simonsterThis also reverts the generalization introduced in #7600, where it was allowed to cat along several dimensions. After #7600 got merged, @JeffBezanson didn't seem to happy about that particular generalization. cc @pao