2015-08-17 15 views
8

Çıktının Python'un timeit.timeit() işlevinden nasıl yorumlanacağını bilmiyorum. şöyle Benim kodudur: bundanZaman birimi ne zaman geri döner?

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)) 

çıkış 11.85382745500101 olduğunu. Bu sayıyı nasıl yorumlayabilirim?

cevap

19

Dönüş değeri, float olarak 10 saniyedir.

Bu testi (kurulum hariç) çalıştırmak için alınan toplam süre, yani test başına ortalama süre number argüman bölünmesi bu sayı 1 milyon, varsayılan bir.

Time.timeit() documentation bakınız:

Zaman sayı ana ifadesinin infaz. Bu, kurulum deyimini bir kez gerçekleştirir ve , ana bildirimi yürütmek için gereken süreyi, bir saniye cinsinden float olarak ölçülür. Argüman döngü boyunca kaç kez, bir milyona kadar varsayılan değerdir.

+0

Neyi? En hızlı iterasyon? –

+1

Ah ... bu yüzden bir infazın ortalama süresini almak için sayıyı 1 milyona bölerim? –

+3

@nivixzixer: tam olarak. –