Il save di pypng sembra accettare sia liste di liste di triple che liste piatte di triple, o liste di liste di colori spacchettati e nel secondo o terzo caso va più veloce.
Dato che vogliamo che la "gara" a chi fa il programma più veloce sia "alla pari", è chiaro che sfruttare un particolare modo di passare i dati a images.save per ottenere un tempo minore nella fase di salvataggio porta ad un vantaggio di tempi che non c'entra nulla con gareggiare alla pari sui tempi del proprio algoritmo di soluzione del HW6.
Dopo averne discusso ampiamente con i colleghi ci siamo trovati quindi a considerare due opzioni:
- inserire delle asserzioni nella images.save e far fallire tutti i test che non forniscono a save il corretto formato di liste di liste di triple
- questo corrisponderebbe a considerarvi tutti (quelli che hanno usato questo sistema) in malafede (che ci starebbe pure, visto che nel thread https://q2a.di.uniroma1.it/23738/idee-per-velocizzare-images-save-in-hw-6 avevo detto che trovare modi per ottimizzare il salvataggio sarebbe stato valido SOLO se veniva messo a disposizione di tutti, e non è stato)
- oppure inserire dei controlli in images.save e trasformare le liste dal formato errato al formato di liste di liste di pixel, riportandovi allo stesso formato e tempi usati dagli altri
- questo corrisponde a pensarvi tutti in buona fede, e riporta la gara su un piano di parità
Dopo un'attenta discussione abbiamo deciso all'unanimità di applicare la seconda opzione, quindi i test verranno rieseguiti non appena avremo modificato il modulo images sulla VM.
Andrea, Iacopo, Maurizio, Angelo
PS per chi invece ha cercato di utilizzare il modulo png importandolo da images oppure usando images.png, questo è un uso proibito del modulo png, per cui images verrà modificato in modo che questo fallisca.
PPS: ho nascosto i commenti che avevate dato ad una versione precedente di questo post, e che potrebbero essere poco allineati con questa ultima versione. Siete liberi di rispondere sotto a quest'ultima versione.