mirror of
https://github.com/Noratrieb/advent-of-code.git
synced 2026-01-14 09:35:01 +01:00
renames
This commit is contained in:
parent
546149ae38
commit
7bbecaedfe
32 changed files with 48 additions and 48 deletions
|
|
@ -1,5 +1,5 @@
|
|||
[package]
|
||||
name = "day1"
|
||||
name = "day01"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
|
|
@ -4,27 +4,27 @@ benchmarks:
|
|||
|
||||
Ensure that `input.txt` contains many, many copies of the actual input, the actual input is way too small.
|
||||
|
||||
`cargo build --release && hyperfine 'target/release/day1 part2 naive' 'target/release/day1 part2 zero_alloc' 'target/release/day1 part2 branchless' 'target/release/day1 part2 vectorized'`
|
||||
`cargo build --release && hyperfine 'target/release/day01 part2 naive' 'target/release/day01 part2 zero_alloc' 'target/release/day01 part2 branchless' 'target/release/day01 part2 vectorized'`
|
||||
```
|
||||
Benchmark 1: target/release/day1 part2 naive
|
||||
Benchmark 1: target/release/day01 part2 naive
|
||||
Time (mean ± σ): 1.066 s ± 0.017 s [User: 1.048 s, System: 0.018 s]
|
||||
Range (min … max): 1.049 s … 1.099 s 10 runs
|
||||
|
||||
Benchmark 2: target/release/day1 part2 zero_alloc
|
||||
Benchmark 2: target/release/day01 part2 zero_alloc
|
||||
Time (mean ± σ): 212.7 ms ± 3.5 ms [User: 195.0 ms, System: 17.6 ms]
|
||||
Range (min … max): 206.9 ms … 219.0 ms 14 runs
|
||||
|
||||
Benchmark 3: target/release/day1 part2 branchless
|
||||
Benchmark 3: target/release/day01 part2 branchless
|
||||
Time (mean ± σ): 137.2 ms ± 1.8 ms [User: 117.5 ms, System: 19.6 ms]
|
||||
Range (min … max): 133.5 ms … 142.2 ms 21 runs
|
||||
|
||||
Benchmark 4: target/release/day1 part2 vectorized
|
||||
Benchmark 4: target/release/day01 part2 vectorized
|
||||
Time (mean ± σ): 87.9 ms ± 0.9 ms [User: 68.6 ms, System: 19.1 ms]
|
||||
Range (min … max): 86.5 ms … 90.6 ms 33 runs
|
||||
|
||||
Summary
|
||||
target/release/day1 part2 vectorized ran
|
||||
1.56 ± 0.03 times faster than target/release/day1 part2 branchless
|
||||
2.42 ± 0.05 times faster than target/release/day1 part2 zero_alloc
|
||||
12.13 ± 0.22 times faster than target/release/day1 part2 naive
|
||||
target/release/day01 part2 vectorized ran
|
||||
1.56 ± 0.03 times faster than target/release/day01 part2 branchless
|
||||
2.42 ± 0.05 times faster than target/release/day01 part2 zero_alloc
|
||||
12.13 ± 0.22 times faster than target/release/day01 part2 naive
|
||||
```
|
||||
3
2023/day01/benches/benches.rs
Normal file
3
2023/day01/benches/benches.rs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
fn main() {
|
||||
day01::bench();
|
||||
}
|
||||
|
|
@ -9,13 +9,13 @@ mod vectorized;
|
|||
mod zero_alloc;
|
||||
|
||||
pub fn main() {
|
||||
helper::main::<Day1>(include_str!("../input.txt"));
|
||||
helper::main::<Day01>(include_str!("../input.txt"));
|
||||
}
|
||||
|
||||
struct Day1;
|
||||
struct Day01;
|
||||
|
||||
helper::define_variants! {
|
||||
day => crate::Day1;
|
||||
day => crate::Day01;
|
||||
part1 {
|
||||
basic => crate::part1;
|
||||
}
|
||||
|
|
@ -28,7 +28,7 @@ helper::define_variants! {
|
|||
}
|
||||
}
|
||||
|
||||
impl Day for Day1 {
|
||||
impl Day for Day01 {
|
||||
fn pad_input(input: &str) -> std::borrow::Cow<str> {
|
||||
let mut input = input.to_owned();
|
||||
input.reserve(10); // enough to read u64
|
||||
|
|
@ -69,7 +69,7 @@ fn part1(input: &str) -> u64 {
|
|||
}
|
||||
|
||||
helper::tests! {
|
||||
day1 Day1;
|
||||
day01 Day01;
|
||||
part1 {
|
||||
"../input_small1.txt" => 142;
|
||||
"../input.txt" => 54632;
|
||||
3
2023/day01/src/main.rs
Normal file
3
2023/day01/src/main.rs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
fn main() {
|
||||
day01::main();
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
[package]
|
||||
name = "day2"
|
||||
name = "day02"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
3
2023/day02/benches/benches.rs
Normal file
3
2023/day02/benches/benches.rs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
fn main() {
|
||||
day02::bench();
|
||||
}
|
||||
|
|
@ -9,13 +9,13 @@ use nom::{
|
|||
};
|
||||
|
||||
pub fn main() {
|
||||
helper::main::<Day2>(include_str!("../input.txt"));
|
||||
helper::main::<Day02>(include_str!("../input.txt"));
|
||||
}
|
||||
|
||||
struct Day2;
|
||||
struct Day02;
|
||||
|
||||
helper::define_variants! {
|
||||
day => crate::Day2;
|
||||
day => crate::Day02;
|
||||
part1 {
|
||||
basic => crate::part1;
|
||||
}
|
||||
|
|
@ -24,7 +24,7 @@ helper::define_variants! {
|
|||
}
|
||||
}
|
||||
|
||||
impl Day for Day2 {
|
||||
impl Day for Day02 {
|
||||
fn part1() -> helper::Variants {
|
||||
part1_variants!(construct_variants)
|
||||
}
|
||||
|
|
@ -99,7 +99,7 @@ fn part2(input: &str) -> u64 {
|
|||
}
|
||||
|
||||
helper::tests! {
|
||||
day2 Day2;
|
||||
day02 Day02;
|
||||
part1 {
|
||||
small => 8;
|
||||
default => 1931;
|
||||
3
2023/day02/src/main.rs
Normal file
3
2023/day02/src/main.rs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
fn main() {
|
||||
day02::main();
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
[package]
|
||||
name = "day3"
|
||||
name = "day03"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
3
2023/day03/benches/benches.rs
Normal file
3
2023/day03/benches/benches.rs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
fn main() {
|
||||
day03::bench();
|
||||
}
|
||||
|
|
@ -3,13 +3,13 @@ use std::collections::HashMap;
|
|||
use helper::Day;
|
||||
|
||||
pub fn main() {
|
||||
helper::main::<Day3>(include_str!("../input.txt"));
|
||||
helper::main::<Day03>(include_str!("../input.txt"));
|
||||
}
|
||||
|
||||
struct Day3;
|
||||
struct Day03;
|
||||
|
||||
helper::define_variants! {
|
||||
day => crate::Day3;
|
||||
day => crate::Day03;
|
||||
part1 {
|
||||
basic => crate::part1;
|
||||
}
|
||||
|
|
@ -18,7 +18,7 @@ helper::define_variants! {
|
|||
}
|
||||
}
|
||||
|
||||
impl Day for Day3 {
|
||||
impl Day for Day03 {
|
||||
fn part1() -> helper::Variants {
|
||||
part1_variants!(construct_variants)
|
||||
}
|
||||
|
|
@ -128,7 +128,7 @@ fn part2(input: &str) -> u64 {
|
|||
}
|
||||
|
||||
helper::tests! {
|
||||
day3 Day3;
|
||||
day03 Day03;
|
||||
part1 {
|
||||
small => 4361;
|
||||
default => 537832;
|
||||
3
2023/day03/src/mainrs
Normal file
3
2023/day03/src/mainrs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
fn main() {
|
||||
day03::main();
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
fn main() {
|
||||
day1::bench();
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
fn main() {
|
||||
day1::main();
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
fn main() {
|
||||
day2::bench();
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
fn main() {
|
||||
day2::main();
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
fn main() {
|
||||
day3::bench();
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
fn main() {
|
||||
day3::main();
|
||||
}
|
||||
6
Cargo.lock
generated
6
Cargo.lock
generated
|
|
@ -97,7 +97,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "baf0a07a401f374238ab8e2f11a104d2851bf9ce711ec69804834de8af45c7af"
|
||||
|
||||
[[package]]
|
||||
name = "day1"
|
||||
name = "day01"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"divan",
|
||||
|
|
@ -105,7 +105,7 @@ dependencies = [
|
|||
]
|
||||
|
||||
[[package]]
|
||||
name = "day2"
|
||||
name = "day02"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"divan",
|
||||
|
|
@ -114,7 +114,7 @@ dependencies = [
|
|||
]
|
||||
|
||||
[[package]]
|
||||
name = "day3"
|
||||
name = "day03"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"divan",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue