avoid cloning when extending ticks for fruits

This commit is contained in:
MaxOhn
2021-11-06 18:11:36 +01:00
parent f1264601ef
commit b2b5422259
2 changed files with 4 additions and 7 deletions
+2 -2
View File
@@ -127,7 +127,7 @@ pub fn stars(
if *repeats <= 1 {
slider_objects.append(&mut ticks); // automatically empties buffer for next slider
} else {
slider_objects.append(&mut ticks.clone());
slider_objects.extend(&ticks);
for repeat_id in 1..*repeats {
let dist = (repeat_id % 2) as f32 * *pixel_len;
@@ -359,7 +359,7 @@ pub fn strains(map: &Beatmap, mods: impl Mods) -> Strains {
if *repeats <= 1 {
slider_objects.append(&mut ticks); // automatically empties buffer for next slider
} else {
slider_objects.append(&mut ticks.clone());
slider_objects.extend(&ticks);
for repeat_id in 1..*repeats {
let dist = (repeat_id % 2) as f32 * *pixel_len;
+2 -5
View File
@@ -31,10 +31,6 @@ fn sort_unstable<T: PartialOrd>(slice: &mut [T]) {
slice.sort_unstable_by(|p1, p2| p1.partial_cmp(p2).unwrap_or(Ordering::Equal));
}
fn sort<T: PartialOrd>(slice: &mut [T]) {
slice.sort_by(|p1, p2| p1.partial_cmp(p2).unwrap_or(Ordering::Equal));
}
trait OptionExt<T> {
fn next_field(self, field: &'static str) -> Result<T, ParseError>;
}
@@ -945,7 +941,8 @@ impl Beatmap {
// won't be set yet so mania objects won't be sorted properly
if self.mode == GameMode::MNA {
// First a _stable_ sort by time
sort(&mut self.hit_objects);
self.hit_objects
.sort_by(|p1, p2| p1.partial_cmp(p2).unwrap_or(Ordering::Equal));
// Then the legacy sort for correct position order
legacy_sort(&mut self.hit_objects);