Advent of TryHard is an internal tool used to benchmark solutions to Advent of Code. It is not a public service and access is restricted.
In the background your solutions will be benchmarked using Thjalfi, our own Criterion-based benchmarking tool, on a dedicated server which is only used for this purpose. The exact specs will be published here including the available instruction sets for the coprocessors.
If you wish to participate and find out if your solutions are on par or faster than any other solution feel free to reach out to us via Teams or talk to us in person.
Rules
There aren't many rules at the moment. The goal is for everyone to have fun and enjoy comparing their solutions to the solutions of their peers. But to keep things level we wanted to have a handful of rules to ensure an even playing field.
- 1Your code must be accessible to the other participants. Hosting it on GitHub, GitLab or the internal GitLab.
- 2You have to write a "significant portion" of the code. We do not want a competition of who can find the fastest code on the internet.
- 3You must not attempt to break out of the sandbox we are using to run the benchmarks.
How it Works
In order for your solution to be compatible with Advent of TryHard you must:
- read the puzzle input from the standard input. The input will be formatted using linux style line endings. This means a new line is indicated by the
\ncharacter. - write all output to standard output. You may include additional output to debug your solutions.
- keep the file size of your solution below 5MiB
- Optionally, you may print ready to standard out and flush the output to signal your program being ready to accept input. In this case you will only receive the input after your ready signal was read and the clock will start ticking.