We all know and love (!) the leaderboard, but how about a different method?
One can solve a problem with a simple, naive method resulting in a short program and long runtime, or put in lots of explicit optimizations for more code and shorter runtime. (Or if you’re really good, a short, fast program!)
I propose the line-second.
Take the number of lines in your program (eg, 42
lines) and the runtime (eg 0.096
seconds). Multiply these together to get a score of 4.032
line-seconds.
A smaller score is a shorter, faster program.
Similarly, (for a particular solver), a larger score is a “harder” problem.
I think a more consistent approach would he to not count lines, but filesizes after the code has been minimized with a specific minimizer. I could write everything in one line in many languages, so lines isn’t very clever.
The code has to be compiled and run on a specific architecture and with specific test input (we don’t know if the AoC-example-data is always the same in size or resulting computanional complexity.
The final metric could be: [minified filesize] * [code execution time] * [problem solving time].
deleted by creator