-
Notifications
You must be signed in to change notification settings - Fork 12.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
Replace sort implementations #124032
Merged
Merged
Replace sort implementations #124032
+2,628
−1,692
Commits on May 16, 2024
-
- `slice::sort` -> driftsort https://github.com/Voultapher/sort-research-rs/blob/main/writeup/driftsort_introduction/text.md - `slice::sort_unstable` -> ipnsort https://github.com/Voultapher/sort-research-rs/blob/main/writeup/ipnsort_introduction/text.md Replaces the sort implementations with tailor made ones that strike a balance of run-time, compile-time and binary-size, yielding run-time and compile-time improvements. Regressing binary-size for `slice::sort` while improving it for `slice::sort_unstable`. All while upholding the existing soft and hard safety guarantees, and even extending the soft guarantees, detecting strict weak ordering violations with a high chance and reporting it to users via a panic. In addition the implementation of `select_nth_unstable` is also adapted as it uses `slice::sort_unstable` internals.
Configuration menu - View commit details
-
Copy full SHA for e49be41 - Browse repository at this point
Copy the full SHA e49be41View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a6b0e4 - Browse repository at this point
Copy the full SHA 1a6b0e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for d20b119 - Browse repository at this point
Copy the full SHA d20b119View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8300f67 - Browse repository at this point
Copy the full SHA 8300f67View commit details -
Configuration menu - View commit details
-
Copy full SHA for 88fb5ed - Browse repository at this point
Copy the full SHA 88fb5edView commit details
Commits on Jun 16, 2024
-
Configuration menu - View commit details
-
Copy full SHA for f7496f5 - Browse repository at this point
Copy the full SHA f7496f5View commit details -
Remove reliance on const_trait in sort implementations
const_trait in conjunction with specialization was deemed not ready for usage in this scenario. So instead a two-stage trait specialization approach is used. This approach is likely worse for compile-times. Future work that enables const_trait can revert back to the previous version as outlined in the comment marked FIXME(effects).
Configuration menu - View commit details
-
Copy full SHA for 9889ab1 - Browse repository at this point
Copy the full SHA 9889ab1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 24697ac - Browse repository at this point
Copy the full SHA 24697acView commit details
Commits on Jun 17, 2024
-
Fix unintended regression for Freeze + Copy types
Freeze + Copy types should be allowed to choose between all three small-sort variants. With the recent changes to small-sort selection, a regression was added that only let such types choose between network and fallback. It can now also choose general where appropriate.
Configuration menu - View commit details
-
Copy full SHA for 032ad4c - Browse repository at this point
Copy the full SHA 032ad4cView commit details -
Revert panic_safe test changes
The changes made only a limited improvement for the current small miri coverage and in general test coverage of the sort implementations. But they exploded test times from ~13s to ~240s, which is not deemed worth it.
Configuration menu - View commit details
-
Copy full SHA for 7326169 - Browse repository at this point
Copy the full SHA 7326169View commit details -
Due to refactoring the const_trait usage, the CopyMarker impl was accidentally deleted, which had the consequence that the Copy specialization for the small-sort was never picked.
Configuration menu - View commit details
-
Copy full SHA for b7deff3 - Browse repository at this point
Copy the full SHA b7deff3View commit details
Commits on Jun 20, 2024
-
Improve html-checker error message
The previous message omits which of the dozens of tools called tidy is meant. And it's written in a way that one can easily miss the *not*, thinking it reads "Note that `tidy` is the in-tree `src/tools/tidy` but needs to be installed". The error message should hopefully help future contributors.
Configuration menu - View commit details
-
Copy full SHA for 5caa7f9 - Browse repository at this point
Copy the full SHA 5caa7f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for a895ef7 - Browse repository at this point
Copy the full SHA a895ef7View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.