rayon go brrrr
This commit is contained in:
parent
9a26ae4a4d
commit
7a085154e7
|
@ -6,6 +6,7 @@ edition = "2021"
|
||||||
[dependencies]
|
[dependencies]
|
||||||
itertools = "0.10.5"
|
itertools = "0.10.5"
|
||||||
paste = "1.0"
|
paste = "1.0"
|
||||||
|
rayon = "1.6.0"
|
||||||
|
|
||||||
[profile.bench]
|
[profile.bench]
|
||||||
lto = true
|
lto = true
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#![feature(test, get_many_mut)]
|
#![feature(test, get_many_mut)]
|
||||||
extern crate test;
|
extern crate test;
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
|
use rayon::prelude::*;
|
||||||
use std::iter::repeat;
|
use std::iter::repeat;
|
||||||
|
|
||||||
use aoc2022::{boilerplate, common::*};
|
use aoc2022::{boilerplate, common::*};
|
||||||
|
@ -53,7 +54,8 @@ fn part2(parsed: &Parsed) -> usize {
|
||||||
let size = parsed.len(); // input is always square
|
let size = parsed.len(); // input is always square
|
||||||
let transposed = transpose(parsed);
|
let transposed = transpose(parsed);
|
||||||
(1..size - 1)
|
(1..size - 1)
|
||||||
.flat_map(|i| repeat(i).zip(1..size - 1))
|
.into_par_iter()
|
||||||
|
.flat_map(|i| rayon::iter::repeat(i).zip(1..size - 1))
|
||||||
.map(|(i, j)| {
|
.map(|(i, j)| {
|
||||||
let tree = parsed[i][j];
|
let tree = parsed[i][j];
|
||||||
let a = visible_trees(tree, transposed[j][(i + 1)..size].iter());
|
let a = visible_trees(tree, transposed[j][(i + 1)..size].iter());
|
||||||
|
|
Loading…
Reference in New Issue
Block a user