9/23/2023 0 Comments Exapunks valhalla solutionNice, some interesting techniques there! I got the size record with a strategic ADDI F 1 T to remove the last copy, but to be honest cycles is the category I really care about. A simple check is done for when the test is 9 and crashes the Exa after writing the first 9 digits.ĭoing the aforementioned tweaks as an example, gives a 132/39/3: What can be done with the spare lines for instance, is to simply write the first ten digits, then do a calculated SEEK backwards and overwrite the values of the main unrolled loop. The third solution still has an initial loop in it which is best avoided (of a worst case 27 cycles when you have to write 99 which is also the worst overall test case). Opus Magnum has a "Sum" record on the leaderboards of all three metrics), so pushing for one single metric (in this case, cycles) while compromising everything else is worth a shot. Unfortunately Exapunks isn't too focused on tradeoff solutions (e.g. The third solution of 147 cycles still has 17 spare lines so you can further optimise the cycles for sure (top 1% Percentile is 135 cycles, record is 112) The first solution is one line off from the record (which is also the top 1% Percentile). Funnily enough, this version of the code with the two lines commented out runs equally as fast as the over-limit version. =)Įdit: Calling it done (118/49/13): The writer ran into a limit on having tested loops at all, so I made it dumb and returned to messaging trade-offs with a final kill. As of now, hitting the bottom of all the histograms. Here's the code for all three, if anyone's interested. I'm happy with this one, but a hybrid of the two optimized solutions would likely be fewer cycles. I realized that you only had to check loop termination when the ones digit hits zero, so after the first *9-*1 you can do ten-group writes until you hit zero exactly. Swiz-ard (147/33/3): Not the most interesting gif, but a lot of optimization in the code. Three exas trade off sending the sequence, and the first exa to hit -1 kills the other two and the dumb file writer, for a decent speed boost. Global trade-off (176/25/7): The loop added one number to the file every three cycles, but M can be updated every other cycle if you line things up correctly (possibly faster against size constraints). Initial (305/11/2): Respectable start, used T as the counter for fast jumps, one straightforward loop. It was trivial to get the first three down to 4/3/2, 7/6/2, and 9/12/4, but tutorial 4 was more open ended and led to some interesting techniques I felt like sharing here. So after finishing the game I've been optimizing some solutions with what I've learned, and it occurred to me that the tutorials might be quick and easy to optimize perfectly.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |