about summary refs log tree commit diff
path: root/library/core/src/slice/select.rs
AgeCommit message (Collapse)AuthorLines
2024-05-16Replace sort implementationsLukas Bergdoll-302/+0
- `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.
2023-05-24Use helper functions for min/max_idxMarkus Everling-18/+28
2023-05-24Add Median of Medians fallback to introselectMarkus Everling-0/+292