diff --git a/src/day02/src/part02b.rs b/src/day02/src/part02b.rs index 15aa998..ca83120 100644 --- a/src/day02/src/part02b.rs +++ b/src/day02/src/part02b.rs @@ -11,7 +11,7 @@ pub fn day02b() -> u64 { let mut nr_or_correct_reports: u64 = 0; // iterate over all reports file_content.split("\n").for_each(|report| { - let mut levels: Vec = report.split(" ").map(|level| level.parse::().unwrap()).collect(); + let levels: Vec = report.split(" ").map(|level| level.parse::().unwrap()).collect(); let mut trend: i32 = 0; let mut safe: i32 = 2; // iterate over all levels and ty to find a trend diff --git a/src/main.rs b/src/main.rs index d8da1b7..d650b24 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,11 +1,24 @@ +use std::iter::zip; +use std::time::Instant; use day01::part01a::day01a; use day01::part01b::day01b; use day02::part02a::day02a; use day02::part02b::day02b; fn main() { - println!("day01:A => {}", day01a()); - println!("day01:B => {}", day01b()); - println!("day02:A => {}", day02a()); - println!("day02:B => {}", day02b()); + let exercises: Vec<(&str, fn () -> u64)> = vec![ + ("day01:A", day01a), + ("day01:B", day01b), + ("day02:A", day02a), + ("day02:B", day02b), + ]; + + let start: Instant = Instant::now(); + exercises.iter().for_each(|(day, func)| { + let day_start: Instant = Instant::now(); + println!("{:7} => {:10} ({:6}us)", day, func(), day_start.elapsed().as_micros()); + }); + + println!(" ----------"); + println!(" {:7}us", start.elapsed().as_micros()); }