[TESTS] Re-re-testing HW6req

andrea.sterbini (172680 points)
511 927 1776
asked Dec 12, 2021 in News by andrea.sterbini (172,680 points)
edited Dec 12, 2021 by andrea.sterbini

It seems that the pypng module allows saving images made of lists of lists of channels (instead than lists of lists of triples), and that this takes some time less than saving the usual format used at lesson.

We want that all students that participate to the "efficiency game" start at the same level, and therefore we think that using the flat pixel format for saving gives a time advantage that has nothing to do with writing an efficient solution to the HW6req problem.

After a thorough discussion with the other 3 colleagues, we found ourselves cosidering these two options:

  • insert some assertions in the images.save function so that all cases where the images is not a list of lists of triples would fail
  • else add to images.save a check to detect the images in the wrong format and transform them  to lists-of-lists-of-triples, so that everybody plays the "optimization game" in the same way
    • this means considering you all in good faith, and brings back the game to fairness

After a long and detailed discussion we have decided unanimously to apply the second option. The HW6req tests will be re-re-run as soon the images library will be updated on the VM.

                Andrea, Iacopo, Maurizio, Angelo

PS. for the cases, instead, where the png module has been used directly (either by from images import png or by using images.png), this is a forbidden use of another module. The images module will be changed (by renaming png) so that this case will fail.

274 views

1 Answer

F
Fraah (620 points)
1 1 8
answered Dec 13, 2021 by Fraah (620 points)
edited Dec 13, 2021 by Fraah
The new conversion tool brought down my grade from 34 to 28, it fails one test and i'm sure that is not my fault, because i never failed any test. I'm sorry for all the trouble i'm causing, but with all the work i put in it...

The reason is probably a timeout caused by the conversion tool. Sorry again.

I remember uploading an older version of my hw that didnt have the flatlist thing and I was maybe the fourth guy for efficiency on the leaderboard.

Maybe I could DM you a version of the code with literally just 2 lines changed so that my program uses the right method? Extraordinarily. Thank you for reading.
Exyss (21390 points)
1 2 79
commented Dec 13, 2021 by Exyss (21,390 points)
edited Dec 13, 2021 by Exyss
The problem probably isn't caused by the conversion tool, however I think it has something to do with the VM being overloaded like we've all already noticed that it can sometimes happen even during the previous homeworks (even during non-secret executions)

I'm saying this because my program also ran very very very slow with this last secret test execution (even thought compared to you I just lost the +2tt bonus, my tests didn't timeout), making mine one of the slowest programs (execution time went up by 83%, completely non-sense considering there are only 6 more secret tests compared to the normal ones and more than half of the secret tests are veeeeeery simple images), however I didn't even use the "tuple trick", so this additional time should be caused by something else (as I said, probably VM overload) and not by the conversion tool.

EDIT: Also I'm pretty sure the conversion tool created by the professors is just a list() function call or something like that, it shouldn't be enough to make your program timeout

I'm sure the professors will take a look at this once they have some free time
F
Fraah (620 points)
1 1 8
commented Dec 13, 2021 by Fraah (620 points)
edited Dec 13, 2021 by Fraah
Well idk, I just wish to solve this and go on making the hw8.
gabriel.bustamante (2540 points)
3 5 20
commented Dec 13, 2021 by gabriel.bustamante (2,540 points)

I've found the same inconsistency with the latest execution times: although in my case the increase was only +49%, compared to the 40% mode it makes a very relevant >200ms difference, seeing how most solutions are in the 3300-3700ms range. These last two figures are based on a limited data set and my higher %change could be attributed to how my program scales, but moving so much down the leaderboard still startled me.

F
Fraah (620 points)
1 1 8
commented Dec 13, 2021 by Fraah (620 points)
I'm literally failing a test