You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Descending sorts have two higher profile issues right now:
object and void/structured dtype aren't yet implemented. There are two approaches here:
Make the generic path work and live with possibly weird NaN logic (this is the current state in practice, even though compare implementors could choose differently).
Focus on object and just implement it explicitly. We could make a choice such as val != val to define "unorderable" so that the object sort would sort nan-like objects to the end.
(This will be awkward for void/structured so that might be an omission in this path unless we do 1+2. lexsort is better this way, but a different thing to attack.)
Not complicated, I will argue this is backportable as a performance bug fix if need be.
I hope we can solve both for 2.5, but if anyone feels these are blockers, please comment (then we could even just disable the Python entrypoint for now).
Thanks for listing these! I think we also need radixsort for descending, as that would be slower for small integers otherwise. But that is probably a bit acceptable as a mid-term thing, just a note.
Edit: actually, should probably have it short term, as it wouldn't be backportable! Too invasive to be.
Activity
MaanasArora commentedon May 15, 2026
Thanks for listing these! I think we also need radixsort for descending, as that would be slower for small integers otherwise. But that is probably a bit acceptable as a mid-term thing, just a note.
Edit: actually, should probably have it short term, as it wouldn't be backportable! Too invasive to be.
ENH: use x86-simd-sort for descending sorts and partitions
ENH: use x86-simd-sort for descending sorts and partitions