Skip to content

Commit ca18f09

Browse files
committed
chore: parallelize part of y2025::day_09::part_2 to optimize perf
1 parent 568742c commit ca18f09

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

aoclp_solutions/src/y2025/day_09.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use aoclp::positioning::direction::{Direction, MovementDirection};
77
use aoclp::positioning::pt::{rectangular_area, Pt};
88
use aoclp::solvers_impl::input::safe_get_input_as_many;
99
use itertools::Itertools;
10+
use rayon::iter::{IntoParallelIterator, ParallelIterator};
1011
use strum::IntoEnumIterator;
1112

1213
pub fn part_1() -> i64 {
@@ -46,7 +47,9 @@ pub fn part_2() -> i64 {
4647
.array_combinations()
4748
.map(|[a, b]| (a, b, rectangular_area(a, b)))
4849
.sorted_unstable_by(|(_, _, area_a), (_, _, area_b)| area_b.cmp(area_a))
49-
.find(|&(a, b, _)| safe_rectangle(a, b))
50+
.collect_vec()
51+
.into_par_iter()
52+
.find_first(|(a, b, _)| safe_rectangle(*a, *b))
5053
.map(|(_, _, area)| area)
5154
.unwrap()
5255
}

0 commit comments

Comments
 (0)