480 个稳定版本
2022.0.66 | 2024 年 2 月 25 日 |
---|---|
2022.0.63 | 2023 年 12 月 9 日 |
2022.0.59 | 2023 年 11 月 21 日 |
2022.0.57 | 2023 年 5 月 28 日 |
2019.12.168 | 2020 年 11 月 30 日 |
#154 在 算法
139 每月下载次数
1MB
28K SLoC
Advent of Code 解决方案
Rust 语言实现的 Advent of Code 问题解决方案。
本地运行
命令行工具接受 <year> <day> <part>
作为参数,并从 stdin 读取问题输入
$ echo 14 | cargo run -q 2019 1 1
2
使用 Homebrew 安装
命令行工具可以作为 brew tap 安装
$ brew install fornwall/tap/advent-of-code
$ echo 14 | advent-of-code 2019 1 1
已发布 crate
此 crate 已发布到 crates.io/crates/advent-of-code。
作为一个库,它提供了一个 solve(year, day, part, input)
函数,如 docs.rs/advent-of-code 上所述
// Using the dependency added: advent-of-code = "*":
use advent_of_code::solve;
fn main() {
assert_eq!(solve(2019, 1, 1, "14"), Ok("2".to_string()));
}
它还包含运行解决方案的命令行程序
$ cargo install advent-of-code
$ echo 14 | advent-of-code 2019 1 1
2
Docker Hub 上的 Docker 镜像
命令行界面已发布到 fredrikfornwall/advent-of-code Docker 镜像
$ docker pull fredrikfornwall/advent-of-code:latest
$ echo 14 | docker run -i fredrikfornwall/advent-of-code:latest 2019 1 1
2
在 macOS 上生成 flamegraphs
使用 cargo install flamegraph
安装 flamegraph 并使用以下命令构建基准二进制文件
RUSTFLAGS='-g' cargo build --release --bench benchmark
这将创建一个基准二进制文件,例如在 ls ../../target/release/deps/benchmark-31ba773f80f7f5d8
下。然后运行以生成 flamegraph.svg
sudo flamegraph ../../target/release/deps/benchmark-31ba773f80f7f5d8 --bench 2020_07_1
依赖
~0–31MB
~462K SLoC