-
-
Notifications
You must be signed in to change notification settings - Fork 18k
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
ENH: ExtensionEngine #45514
ENH: ExtensionEngine #45514
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm ping on green
(given that I asked for the status of this work, a small ping is always handy) Repeating my question from on the original PR (#43930): Can you give a bit more high-level context on how you approached it? This might also require some performance checking to investigate which approach is preferable. For example, I did a quick test comparing the performance of the ExtensionEngine (doesn't use hash-table) vs ObjectEngine (uses hash-table, which was used as fall-back before this PR) on one use case (
So this is a case where the custom ExtensionEngine of this PR actually caused a big slowdown compared to the object engine fallback that we used before for Index[EA]. (and specifically for the masked arrays as I used in this example, this might also be solvable in a specialized |
#45652 reported a performance regression which is I think essentially the same as what I showed above (or in any case, also caused by ExtensionIndex being slower than ObjectIndex). We should probably also add benchmark cases for those new index dtypes / engines (if we don't have that yet, didn't check) |
Follow-up on #43930
Avoid object-dtype cast.
Next/last PR in this sequence introduces NullableEngine.