2015-08-17 26 views
8

Non so come interpretare l'output dalla funzione timeit.timeit() di Python. Il mio codice è il seguente:Quale unità di tempo restituisce il tempo?

import timeit 

setup = """ 
import pydash 
list_of_objs = [ 
    {}, 
    {'a': 1, 'b': 2, 0: 0}, 
    {'a': 1, 'c': 1, 'p': lambda x: x} 
] 
""" 
print(timeit.timeit("pydash.filter_(list_of_objs, {'a': 1})", setup=setup)) 

L'uscita da questo è 11.85382745500101. Come interpreto questo numero?

risposta

19

Il valore di ritorno è secondi come un galleggiante.

È il tempo totale impiegato per eseguire il test (senza contare il setup), quindi il tempo medio per test è che il numero diviso per l'argomento number che imposta a 1 milione.

Vedere il Time.timeit() documentation:

Tempo numero esecuzioni della comunicazione generale. Esegue l'istruzione di configurazione una volta e quindi restituisce il tempo necessario per eseguire l'istruzione principale un numero di volte, misurato in secondi come float. L'argomento è il numero di volte che attraversa il ciclo, con un valore predefinito di un milione.

+0

Secondi di cosa? L'iterazione più veloce? –

+1

Ah ... quindi divido il numero di 1 milione per ottenere il tempo medio di un'esecuzione? –

+3

@nivixzixer: esattamente. –

Problemi correlati