Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2021-22 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2021-22 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

VIDEOLEZIONI DEL CORSO DI FONDAMENTI DI PROGRAMMAZIONE AA20-21

PROGRAMMING COURSE VIDEOCONFERENCES AY20-21

Tempi dell'HW5

fc-dev (16450 points)
12 20 34
in HW5 opzionale by (16.5k points)
edited by

È normale il fatto che sui test ci sia una differenza di tempo così elevata?
Timeit:

Pytest:


test coperti: stessa funzione chiamata con gli stessi parametri, se misurata con timeit o datetime ci mette sui 370ms, con pytest sale a 1.55 secondi più o meno, ogni tanto anche 1.70

190 views

2 Answers

AndreaGasparini (18730 points)
6 12 118
by (18.7k points)

Sì credo sia normale avere tempi diversi, %timeit è pensato solamente per misurare il tempo di esecuzione, mentre pytest è comunque un framework più complicato. Considera che comunque i tempi variano anche in base ai parametri che gli dai mi sembra, prova a omettere --profile per esempio, almeno i tempi totali dovrebbero essere più bassi perché vengono effettuate meno operazioni, controlla se influisce anche sulle singole chiamate.

E
Edward (25950 points)
2 4 172
by (26.0k points)
Non vorrei sbagliarmi, ma credo che nel tempo di pytest sia incluso il tempo che ci mette a caricare gli input, ed il tempo che ci mette a fare il confronto del risultato dato con l'expected.
Certo mi sembra un po' strano che ci metta così tanto...
andrea.sterbini (173640 points)
516 941 1795
by (174k points)
Il timeout è ormai misurato sulla sola esecuzione della vostra funzione (vedi test_01.py)
Il tempo totale di esecuzione invece comprende tutta l'esecuzione di tutti i test compresa dei tempi accessori.
Viene fatta la media su 10 esecuzioni per 3 volte e si tiene il migliore dei 3 valori
a
a.pietroluongo (11250 points)
15 38 131
by (11.3k points)
Grazie prof..