4个版本
使用旧的Rust 2015
0.2.0 | 2023年2月20日 |
---|---|
0.1.2 | 2021年3月4日 |
0.1.1 | 2021年2月25日 |
0.1.0 | 2021年2月25日 |
#290 in 算法
14KB
222 行
partial_sort
partial_sort是Rust版本的std::partial_sort
用法
use partial_sort::PartialSort;
fn main() {
let mut vec = vec![4, 4, 3, 3, 1, 1, 2, 2];
vec.partial_sort(4, |a, b| a.cmp(b));
println!("{:?}", vec);
}
基准测试
首先我们比较在Macbook pro M1Max上对整个向量进行排序时会发生什么
partial sort 10000 limit 20 time: [5.2093 µs 5.2470 µs 5.2892 µs]
partial sort 10000 limit 200 time: [15.742 µs 16.116 µs 16.645 µs]
partial sort 10000 limit 2000 time: [117.99 µs 119.59 µs 121.32 µs]
partial sort 10000 limit 10000 time: [281.40 µs 287.69 µs 295.43 µs]
stdsort 10000 time: [363.75 µs 366.93 µs 371.06 µs]
heapsort 10000 time: [253.89 µs 256.02 µs 258.35 µs]
partial reverse sort 10000 limit 20 time: [5.7620 µs 6.0627 µs 6.5347 µs]
stdsort reverse 10000 time: [347.39 µs 355.88 µs 369.46 µs]
许可证
根据以下任何一个许可证授权
- Apache许可证2.0版 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)