-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
Add non-allocating sort function to libcore #19221
Comments
I have a Maybe the non-allocating sort function in |
It would be interesting to try out one of the bleeding edge in-place merge sort algorithms: There's no reason not to have high performance, stable sorting and no allocation. |
I started looking into this. GrailSort is a bit faster for some inputs (by the Wikisort author's own claim), but WikiSort is considerably better documented (and public domain!). As such it seems like the more promising algorithm to duplicate. That said, it's complex. An optimized Wikisort involves an implementation of insertion sort, vanilla merge sort, sorting networks (with side-tables for stability), and of course the actual wikisort algorithm. All in all the impl ends up being about 900 lines of well-documented C++ code. Not insane, but not a walk in the park, either. |
I'm pulling a massive triage effort to get us ready for 1.0. As part of this, I'm moving stuff that's wishlist-like to the RFCs repo, as that's where major new things should get discussed/prioritized. This issue has been moved to the RFCs repo: rust-lang/rfcs#790 |
…pl-tabstop minor: Add tabstop to impl body in `generate_trait_impl` assist
No description provided.
The text was updated successfully, but these errors were encountered: