Come detto già altrove, il tempo di esecuzione (e quindi il bonus ad esso associato) viene calcolato SOLO se si superano tutti i test.
Questo per due motivi:
tecnico: spesso i programmi che non passano tutti i test hanno dei tempi di esecuzione totali molto grandi, e visto che la valutazione dei tempi avviene eseguendo 30 run, la VM va in blocco e non vengono completati i test. Aggiungere questi programmi a quelli di cui si calcola il tempo medio di esecuzione non modifica particolarmente la classifica, visto che sarebbero nella parte bassa della graduatoria.
di equità: calcolare i tempi per un programma che non passa tutti i test potrebbe portare qualcuno a prendere delle scorciatoie in cui si evita di calcolare il test più lento pur di ottenere un tempo complessivo minore, distorcendo la graduatoria (questi programmi potrebbero facilmente posizionarsi nella parte alta della graduatoria).
Il bonus assegnato per intricatezza minore l'anno scorso era calcolato per tutti quelli che superano il 24/30. Ci siamo resi conto che questo può portare alla realizzazione di programmi abbastanza inefficienti ma che recuperano un paio di punti col bonus spezzettando il programma in modo eccessivo fregandosene dell'efficienza e dell'eleganza.
Io e Monti abbiamo deciso di uniformare i due bonus, che d'ora in poi saranno assegnati SOLO se si superano tutti i test (al 1/3 migliore).
In questo modo si introduce un trade-off tra la riduzione della intricatezza e la riduzione dell'efficienza, visto che la suddivisione in pezzi piccolissimi diminuisce l'intricatezza aumentando i tempi mentre l'ottimizzazione esasperata diminuisce i tempi ma aumenta l'intricatezza.
Mi rendo conto che questo ridurrà la platea dei pretendenti al bonus, discuterò con Monti se aumentare la porzione della classifica che viene premiata (che ora è 1/3 di chi prende 30)
Aggiungo che è sempre possibile migliorare il voto di un HW svolgendo il corrispondente HW di recupero (vale il migliore dei due voti)
EDIT: abbiamo deciso di dare il bonus a metà di chi passa tutti i test invece che 1/3
Questo per due motivi:
tecnico: spesso i programmi che non passano tutti i test hanno dei tempi di esecuzione totali molto grandi, e visto che la valutazione dei tempi avviene eseguendo 30 run, la VM va in blocco e non vengono completati i test. Aggiungere questi programmi a quelli di cui si calcola il tempo medio di esecuzione non modifica particolarmente la classifica, visto che sarebbero nella parte bassa della graduatoria.
di equità: calcolare i tempi per un programma che non passa tutti i test potrebbe portare qualcuno a prendere delle scorciatoie in cui si evita di calcolare il test più lento pur di ottenere un tempo complessivo minore, distorcendo la graduatoria (questi programmi potrebbero facilmente posizionarsi nella parte alta della graduatoria).
Il bonus assegnato per intricatezza minore l'anno scorso era calcolato per tutti quelli che superano il 24/30. Ci siamo resi conto che questo può portare alla realizzazione di programmi abbastanza inefficienti ma che recuperano un paio di punti col bonus spezzettando il programma in modo eccessivo fregandosene dell'efficienza e dell'eleganza.
Io e Monti abbiamo deciso di uniformare i due bonus, che d'ora in poi saranno assegnati SOLO se si superano tutti i test (al 1/3 migliore).
In questo modo si introduce un trade-off tra la riduzione della intricatezza e la riduzione dell'efficienza, visto che la suddivisione in pezzi piccolissimi diminuisce l'intricatezza aumentando i tempi mentre l'ottimizzazione esasperata diminuisce i tempi ma aumenta l'intricatezza.
Mi rendo conto che questo ridurrà la platea dei pretendenti al bonus, discuterò con Monti se aumentare la porzione della classifica che viene premiata (che ora è 1/3 di chi prende 30)
Aggiungo che è sempre possibile migliorare il voto di un HW svolgendo il corrispondente HW di recupero (vale il migliore dei due voti)
EDIT: abbiamo deciso di dare il bonus a metà di chi passa tutti i test invece che 1/3