Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Dubbio sui test

L
LucaMattei (840 points)
5 22 27
in Es1 by (840 points)
closed by
Ho un "problema" con i file test del primo homework o meglio mi è successa una cosa alquanto ambigua, ieri sera ho buttato giù una bozza di codice e i tempi non erano sufficienti, non rispettavo tutti i timeout e me li sono appuntati sottoforma di note nel programma, avevo comunque i tempi che si aggiravano intorno ai 19 secondi.

Oggi rimetto a lavorare per migliorare il codice e senza alcuna modifica, sulla stessa macchina eseguendo il programma e testando i vari algoritmi che avevo implementato hanno tutti un tempo decisamente inferiore, vorrei capire come mai questa differenza per fare il paragone l'algoritmo che ieri impiegava 19 secondi oggi (ripeto senza nessuna modifica) ne impiega 5.2 vorrei capire se è normale, è un'anomalia oppure no, e se è già capitato a qualcuno

Grazie :)
676 views
closed with the note: answered

4 Answers

Sickboy (28240 points)
8 25 68
by (28.2k points)
Guarda anche a me balza non so da che dipende, e forse nemmeno è il tempo giusto perché il pc è lento abbastanza, quindi aspettiamo di pubblicarlo e vediamo cosa esce da li
L
LucaMattei (840 points)
5 22 27
by (840 points)
si sono d'accordo il problema è che comunque i test dovrebbero essere un riferimento per poter migliorare il codice, se i tempi sono cosi diversi non mi sono cosi di aiuto perchè un codice che ieri era pessimo (19 secondi per 9 test) oggi sempra ottimo (5.2 secondi per 9 test) per questo vorrei capirci di piu, poi ovvio la velocità varia dal computer sul quale lo si testa, ma sullo stesso computer capisco una piccola differenza di tempi ma cosi mi sembra eccessivo...
Sickboy (28240 points)
8 25 68
by (28.2k points)
Magari ieri avevi qualcos altro che teneva impegnata la cpu, fatto sta io prenderei in considerazione di più quello che ci ha messo di meno, perché se non è per niente efficiente non ci puo mettere cosi poco in confronto
Mattiapcc (280 points)
0 4 9
by (280 points)
Appunto... io per esempio ho l'ultimo test che mi sembra dia timeout... però prendendo gli stessi valori dal test e facendo time(es1(voti)) il tempo mi ritorna 16ms... come fa ad andare timeout se lo stesso è impostato su 1sec??
DRDLCN (8070 points)
28 68 104
by (8.1k points)
Ragazzi volevo sapere se era obbligatorio usare il nome della variabili che usa il Professore nelle info dei programmi
a
ares.angeloni (1060 points)
10 24 37
by (1.1k points)
puoi usare i nomi che vuoi per le variabili interne, ma commenta tutto per dare spiegazioni di cosa fai. per il nome della funzione, il parametro in input e il nome del file invece, devi rigorosamente attenerti a quelli preinseriti o il tester non li riconoscerà
DRDLCN (8070 points)
28 68 104
by (8.1k points)
perfetto, molto chiaro
alessioclemente (19640 points)
19 67 153
by (19.6k points)
Ti consiglio di usare la funzione timeit della libreria timeit passando come parametro la funzione che vuoi testare
andrea.sterbini (207940 points)
756 1270 2377
by (208k points)
Non saprei, d'accordo che Python compila e memorizza la versione compilata per cui la prima volta il codice è lievemente più lento, ma va da sè che da 19s a 5s c'è una bella differenza. (O forse avevi altri programmi in esecuzione ...)

I timeout sono calcolati rispetto al sistema di test automatico che stiamo mettendo online, per cui farà fede il tempo di esecuzione nei test automatici, che potrebbero essere diversi dai tempi che vedete sulle vostre macchine.