Opzione per controllare i tempi di ciascuna funzione

a
alex_andrei13 (3170 points)
11 38 49
asked Nov 17, 2021 in HW4 by alex_andrei13 (3,170 points)
Salve a tutti ricordo che l'anno scorso si poteva usare un comando all'interno di anaconda per controllare i vari tempi di ciascuna funzione e agire di conseguenza.

Qualcuno è in gradi di dirmi come si poteva installare tale opzione? Ringrazio in anticipo!
263 views

2 Answers

.
.Alex. (890 points)
0 0 8
answered Nov 17, 2021 by .Alex. (890 points)

Contestualmente agli homework, puoi usare la libreria pytest-profiling.
Si installa in Anaconda Prompt inserendo:

conda install -c conda-forge pytest-profiling

Una volta installata, puoi lanciare il test inserendo:

pytest test_01.py -v -rA --profile

A questo punto, avrai una stampa dei tempi spesi dal programma nelle 20 funzioni complessivamente più lente.

a
alex_andrei13 (3170 points)
11 38 49
commented Nov 17, 2021 by alex_andrei13 (3,170 points)
Questo l'ho fatto ma mi ricordo che c'era un comando da inserire in anaconda direttamente
Exyss (21390 points)
1 2 79
commented Nov 17, 2021 by Exyss (21,390 points)
intendi aggiungere la clausola "--durations 0" al normale comando di pytest?
.
.Alex. (890 points)
0 0 8
commented Nov 17, 2021 by .Alex. (890 points)

In realtà, credo sia questo il comando da eseguire direttamente in Anaconda.
Se intendi invece esaminare i tempi di esecuzione delle funzioni direttamente dentro Spyder, allora serve l'altra libreria spyder-line-profiler.
Similmente si installa in Anaconda Prompt inserendo:

conda install -c conda-forge spyder-line-profiler

Dovresti, dopo l'installazione, trovare nella barra dei menu di Spyder, alla voce Run, il comando Profile, in grado di restituire le performance delle funzioni presenti o selezionate.

Matypist (5370 points)
8 16 45
answered Nov 17, 2021 by Matypist (5,370 points)

Dovresti trovare tutto spiegato qui: https://q2a.di.uniroma1.it/21908

Tra cui un'altra possibilità (sempre letta lì) interessante che non ho visto tra le risposte a questo quesito consiste in snakeviz:

Dove nel box di ricerca ti consiglio di cercare "program01"