2025-12-07 02:02:43 -05:00
2025-12-07 02:02:43 -05:00
2025-12-02 00:48:11 -05:00
2025-12-07 02:02:43 -05:00
2025-12-07 02:02:43 -05:00

Advent of Code 2025

Rusty and over-engineered edition.

Running

By request of AoC creator, I haven't included the input files (e.g. src/input/day01.txt). Log into the Advent of Code site and save the inputs there to the src/input/ folder.

To run all days: cargo run.

To run a specific day and/or part: cargo run -- --day 1 --part 1.

To run in super-fast prod mode: cargo run --release.

To run with debug logs enabled: RUST_LOG=debug cargo run.

To run all the tests against included test input files: RUST_LOG=debug cargo test -- --no-capture.

To run the tests for a specific day and/or part: RUST_LOG=debug cargo test day01::test::test_part1 -- --no-capture.

Benchmarks

Because this is over-engineered, I've included benchmarks for each day's solution. Because, why not?

To run benchmarks: cargo bench. Or a specific day and/or part: cargo bench -- "day02 part1".

Results

These were all run on my personal machine, an AMD Ryzen 9 3900X 12-Core Processor with 32 GB RAM, on Linux (WSL), with nightly rust.

Timings are given as: [lower-bound best-estimate upper-bound]

Day Part 1 Part 2
01 [79.998 µs 80.349 µs 80.721 µs] [76.289 µs 76.616 µs 76.950 µs]
02 [2.0386 ms 2.0483 ms 2.0584 ms] [2.0823 ms 2.0918 ms 2.1015 ms]
03 [45.711 µs 45.937 µs 46.177 µs] [267.18 µs 267.95 µs 268.75 µs]
04 [143.40 µs 144.00 µs 144.73 µs] [1.6165 ms 1.6258 ms 1.6355 ms]
05 [187.25 µs 188.93 µs 190.74 µs] [63.809 µs 64.204 µs 64.606 µs]
06 [128.44 µs 129.44 µs 130.52 µs] [165.05 µs 165.70 µs 166.36 µs]

Profiling

To aid in increasing performance, the pprof crate can be used to generate flamegraphs off of the benchmarks.

To run profiling across all benchmarks: cargo bench --bench aoc -- --profile-time 10.

To run profile the benchmark for a specific day and/or part: cargo bench --bench aoc -- --profile-time 30 "day01 part1".

The flamegraphs will be generated in target/criterion/<benchmark_name>/profile/flamegraph.svg.

Description
Advent of Code 2025
Readme 121 KiB
Languages
Rust 100%