Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Advent of Code tasks to benchmarks #59

Open
pwochner opened this issue Oct 1, 2024 · 0 comments
Open

Add Advent of Code tasks to benchmarks #59

pwochner opened this issue Oct 1, 2024 · 0 comments

Comments

@pwochner
Copy link
Contributor

pwochner commented Oct 1, 2024

↩️ Back to the main Herb.jl Hacktoberfest issue


We are always looking for new fun problems to add to HerbBenchmarks.jl, a collection of problems for testing program synthesisers.

About Advent of Code

🎄Advent of Code (AoC)🎄 is a yearly programming challenge in form of an advent calendar. Every day from December 1st through December 25th, a new coding puzzle ist released that follows this structure.

  • The puzzle for each day consists of two parts.
  • For each part, a few input-output examples are given to explain the problem and to test a solution.
  • A download file is provided with the input data.
  • The participant must write a program to process the input and produce the correct output.
  • Once the solution is correct, the user can submit their answer to unlock the second part of the puzzle, or to complete the day.

Help us to identify suitable AoC puzzles and convert them into program synthesis benchmarks.

Suggested steps

Familiarize yourself with Advent of Code and HerbBenchmarks.jl
  1. If you're new to AoC, explore some of the previous AoC calendars. You can easily navigate to a specific year, e.g. 2022:
    https://adventofcode.com/2022.
  2. If you're new to Herb, please take a look at our main Herb.jl Hacktoberfest issue for some helpful resources to get you started.
  3. All benchmarks follow the structure described here. Also check out the existing benchmarks.
Add an Advent of Code puzzle to HerbBenchmarks.jl
  1. Pick a year and look through some of the puzzles.
  2. Not all Advent of Code puzzles are ideal for program synthesis. Identify suitable puzzles that can be converted into a program synthesis style problems.
  3. Convert puzzle into a benchmark, making sure you add all the components as described. Note that each benchmark has a separate folder. Please use the naming convention AdventOfCode_<yyyy>_<dd>_<part>
  4. Add tests for your primitives.
  5. Open a PR with your new AoC benchmark.

Don't hesitate to reach out here for any clarifications. Happy hacking!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant