{"id":20390434,"url":"https://github.com/timvisee/advent-of-code-2023","last_synced_at":"2025-04-09T13:08:38.831Z","repository":{"id":210223935,"uuid":"726043433","full_name":"timvisee/advent-of-code-2023","owner":"timvisee","description":"🎄 My Advent of Code solutions in Rust. http://adventofcode.com/2023","archived":false,"fork":false,"pushed_at":"2024-12-01T10:19:45.000Z","size":198,"stargazers_count":86,"open_issues_count":1,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-02T11:08:16.598Z","etag":null,"topics":["advent-of-code","advent-of-code-2023","aoc","aoc2023","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/timvisee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["timvisee"],"custom":["https://timvisee.com/donate"],"patreon":"timvisee","ko_fi":"timvisee"}},"created_at":"2023-12-01T12:16:03.000Z","updated_at":"2025-02-07T10:32:44.000Z","dependencies_parsed_at":"2024-11-15T03:25:58.388Z","dependency_job_id":"796911ce-649e-4659-9b10-63cac001bd2c","html_url":"https://github.com/timvisee/advent-of-code-2023","commit_stats":null,"previous_names":["timvisee/advent-of-code-2023"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timvisee%2Fadvent-of-code-2023","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timvisee%2Fadvent-of-code-2023/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timvisee%2Fadvent-of-code-2023/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timvisee%2Fadvent-of-code-2023/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timvisee","download_url":"https://codeload.github.com/timvisee/advent-of-code-2023/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248045233,"owners_count":21038553,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["advent-of-code","advent-of-code-2023","aoc","aoc2023","rust"],"created_at":"2024-11-15T03:24:54.813Z","updated_at":"2025-04-09T13:08:38.809Z","avatar_url":"https://github.com/timvisee.png","language":"Rust","funding_links":["https://github.com/sponsors/timvisee","https://timvisee.com/donate","https://patreon.com/timvisee","https://ko-fi.com/timvisee"],"categories":[],"sub_categories":[],"readme":"# Advent of Code 2023 in Rust\n\nMy [Advent of Code 2023][aoc-2023] solutions in the Rust programming language.\nThis repository holds a separate Rust project for each day and part.\n\nI attempt to develop a standalone, elegant, compact and fast solution for each\nproblem (two each day).\n\nTwo years ago I did the same, solving everything in under a second:\n\n- https://timvisee.com/blog/solving-aoc-2020-in-under-a-second/\n- https://github.com/timvisee/advent-of-code-2021\n- https://github.com/timvisee/advent-of-code-2020\n\n## Timings\n\nHere is how long each solution runs with my input. All solutions are measured\n(non scientifically) in [`bench.rs`](./runner/src/bin/bench.rs) on an `AMD Ryzen\n9 5900X (24) @ 3.7GHz` machine running Linux.\n\n|                                                | part A                              | part B                              |\n|:-----------------------------------------------|:------------------------------------|:------------------------------------|\n| [day 1](https://adventofcode.com/2023/day/1)   | [` 0.016 ms`](./day01a/src/main.rs) | [` 0.028 ms`](./day01b/src/main.rs) |\n| [day 2](https://adventofcode.com/2023/day/2)   | [` 0.011 ms`](./day02a/src/main.rs) | [` 0.016 ms`](./day02b/src/main.rs) |\n| [day 3](https://adventofcode.com/2023/day/3)   | [` 0.019 ms`](./day03a/src/main.rs) | [` 0.018 ms`](./day03b/src/main.rs) |\n| [day 4](https://adventofcode.com/2023/day/4)   | [` 0.017 ms`](./day04a/src/main.rs) | [` 0.017 ms`](./day04b/src/main.rs) |\n| [day 5](https://adventofcode.com/2023/day/5)   | [` 0.015 ms`](./day05a/src/main.rs) | [` 0.034 ms`](./day05b/src/main.rs) |\n| [day 6](https://adventofcode.com/2023/day/6)   | [` 0.001 ms`](./day06a/src/main.rs) | [` 0.001 ms`](./day06b/src/main.rs) |\n| [day 7](https://adventofcode.com/2023/day/7)   | [` 0.065 ms`](./day07a/src/main.rs) | [` 0.066 ms`](./day07b/src/main.rs) |\n| [day 8](https://adventofcode.com/2023/day/8)   | [` 0.028 ms`](./day08a/src/main.rs) | [` 0.122 ms`](./day08b/src/main.rs) |\n| [day 9](https://adventofcode.com/2023/day/9)   | [` 0.042 ms`](./day09a/src/main.rs) | [` 0.042 ms`](./day09b/src/main.rs) |\n| [day 10](https://adventofcode.com/2023/day/10) | [` 0.048 ms`](./day10a/src/main.rs) | [` 0.095 ms`](./day10b/src/main.rs) |\n| [day 11](https://adventofcode.com/2023/day/11) | [` 0.012 ms`](./day11a/src/main.rs) | [` 0.008 ms`](./day11b/src/main.rs) |\n\n|              | one-by-one (1 CPU core)                  | parallel                                     |\n|:-------------|:-----------------------------------------|:---------------------------------------------|\n| _everything_ | [` 0.77 ms`](./runner/src/bin/runner.rs) | [` 0.32 ms`](./runner/src/bin/runner-par.rs) |\n\n## Run solutions\n\nEach Rust project needs a `input.txt` file to run, holding the puzzle input.\nSimply create this file with your input and run the project to see the solution\nappear.\n\n```bash\n# Switch to day 1a, add input, and run it\ncd day01a\nnano input.txt\ncargo +nightly run --release\n\n# or run everything in parallel\ncd ../runner\ncargo +nightly run --release --bin runner-par\n\n# or benchmark every day\ncd ../runner\ncargo +nightly run --release --bin bench\n```\n\nSome solutions require Rust Nightly, that's why `+nightly` is included.\n\nSadly I cannot include my puzzle input anymore to make each solution easily\nrunnable as per Advent of Code\n[FAQ](https://adventofcode.com/about#faq_copying):\n\n\u003e If you're posting a code repository somewhere, please don't include parts of\n\u003e Advent of Code like the puzzle text or your inputs.\n\n## Other years\n\n- [2024](https://github.com/timvisee/advent-of-code-2024)\n- [2023](https://github.com/timvisee/advent-of-code-2023) _(current)_\n- [2022](https://github.com/timvisee/advent-of-code-2022)\n- [2021](https://github.com/timvisee/advent-of-code-2021)\n- [2020](https://github.com/timvisee/advent-of-code-2020)\n- [2019](https://github.com/timvisee/advent-of-code-2019)\n- [2018](https://github.com/timvisee/advent-of-code-2018)\n- [2017](https://github.com/timvisee/advent-of-code-2017)\n\n## License\n\nThis project is released under the GNU GPL-3.0 license.\nCheck out the [LICENSE](LICENSE) file for more information.\n\n[aoc-2023]: https://adventofcode.com/2023\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimvisee%2Fadvent-of-code-2023","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimvisee%2Fadvent-of-code-2023","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimvisee%2Fadvent-of-code-2023/lists"}