Örneklerle Python Timeit ()

İçindekiler:

Anonim

Python Timeit () nedir?

Python timeit () , Python kitaplığında, verilen kod parçacığı tarafından alınan yürütme süresini ölçmek için kullanılan bir yöntemdir. Python kitaplığı, kod ifadesini 1 milyon kez çalıştırır ve verilen kod parçacıkları kümesinden alınan minimum süreyi sağlar. Python timeit (), kodun performansını kontrol etmeye yardımcı olan kullanışlı bir yöntemdir.

Sözdizimi:

timeit.timeit(stmt, setup,timer, number)

Parametreler

  • stmt : Bu, yürütme süresini ölçmek istediğiniz kodu alacaktır. Varsayılan değer "geçer" dir.
  • kurulum : Bu, stmt'den önce yürütülmesi gereken kurulum ayrıntılarına sahip olacaktır. Varsayılan değer "başarılı" dır.
  • timer : Bu timer değerine sahip olacak, timeit () zaten varsayılan bir değere sahip ve bunu göz ardı edebiliriz.
  • sayı : stmt burada verilen sayıya göre yürütülecektir. Varsayılan değer 1000000'dür.

Timeit () ile çalışmak için modülü aşağıda gösterildiği gibi içe aktarmamız gerekir:

import timeit

İlk Örnek

İşte timeit () işlevinin basit bir örneği

Kod Örneği 1:

# testing timeit()import timeitprint(timeit.timeit('output = 10*5'))

Çıktı:

0.06127880399999999

Bize basit kod deyimi çıktısının = 10 * 5 yürütme süresini veren basit bir örnek gördük ve yürütmek için geçen süre 0,06127880399999999'dur.

Zamanlama Python kodunda birden çok satır

Timeit.timeit () içinde noktalı virgül kullanarak veya içine alınan kodu üç tırnaklı bir dize olarak kaydederek birden çok kod satırı çalıştırabileceğiniz iki tane vardır.

İşte işleyişini gösteren örnekler.

Örnek 1: Noktalı virgül kullanma

import timeitprint("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))

Çıktı:

The time taken is 0.137031482

Örnek 2: Üçlü tırnak kullanma

import timeitimport_module = "import random"testcode = '''def test():return random.randint(10, 100)'''print(timeit.repeat(stmt=testcode, setup=import_module))

Çıktı:

C:\pythontest>python testtimeit.pyThe time taken is 0.182619178

timeit - Yöntemler:

İşte 2 önemli timeit yöntemi

timeit.default_timer () : Bu, çalıştırıldığında varsayılan zamanı döndürür.

timeit.repeat (stmt, kurulum, zamanlayıcı, tekrarlama, sayı) : timeit () ile aynıdır, ancak tekrar ile timeit (), tekrar sayısı verilir.

Program Örneği 1:

# testing timeit()import timeitimport_module = "import random"testcode = '''def test():return random.randint(10, 100)'''print(timeit.timeit(stmt=testcode, setup=import_module))

Çıktı:

0.46715912400000004

Örnek 2:

default_timer () Örnek

# testing timeit()import timeitimport randomdef test():return random.randint(10, 100)starttime = timeit.default_timer()print("The start time is :",starttime)test()print("The time difference is :", timeit.default_timer() - starttime)

Çıktı:

The start time is : 0.220261875The time difference is : 0.0004737320000000045

Örnek 3: timeit.repeat ()

# testing timeit()import timeitimport_module = "import random"testcode = '''def test():return random.randint(10, 100)'''print(timeit.repeat(stmt=testcode, setup=import_module, repeat=5))

Çıktı:

[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]

timeit.repeat (), tekrar bağımsız değişkeninde aldığı tek farkla timeit.timeit () işlevine benzer şekilde çalışır ve yineleme numarasına göre değerlerle dizi biçiminde yürütme süresini geri verir.

Zamanlama işlevi timeit.timeit () komut satırı arabirimi içinde yürütülüyor

Komut satırında timeit () içinde işlevinizi yürütmek için kullanılan sözdizimi aşağıdaki gibidir:

python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement… ]

Komut satırı parametreleri:

  • -n N: kodun çalıştırılmasını istediğiniz sayı.
  • -r N: timeit () işlevinin tekrar etmesini istediğiniz sayı
  • -s S: bu, kod yürütmeden önce çalıştırılacak kurulum ayrıntılarına sahip olacaktır.
  • -t: Bunun için time.time () kullanabilirsiniz.
  • -c: Bunun için time.clock () 'dan yararlanabilirsiniz.
  • -h: yardım için
  • kod ifadesi: Kod ayrıntıları.

Misal:

C:\pythontest>python -m timeit -s 'text="hello world"'20000000 loops, best of 5: 13.1 nsec per loop

Komut satırı içinde çalıştırmanın başka bir yolu aşağıda gösterildiği gibidir:

Misal :

>>> import timeit>>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))The time taken is 0.15048536300000137>>>

Python kodunun çalıştırılma süresini ölçmenin en iyi yolu neden timeit ()?

İşte timeit () yönteminin yürütme süresini ölçmenin en iyi yolu olduğunu düşünmemizin birkaç nedeni.

  • Varsayılan değer olan kod ifadesini 1 milyon kez çalıştırır ve bundan yola çıkarak size minimum süreyi döndürür. Ayrıca time () işlevinde bağımsız değişken numarasını ayarlayarak 1 milyonu artırabilir / azaltabilirsiniz.
  • Test yürütülürken, çöp toplama her seferinde time () işlevi tarafından devre dışı bırakılır.
  • timeit (), kullanılan işletim sisteminize göre dahili olarak doğru zamanı alır. Örneğin, Windows işletim sistemi için time.clock () ve mac ve Linux için time.time () kullanacaktır.

Özet

Timeit (), verilen küçük kod için alınan yürütme süresini elde etmek için kullanılır.

Timeit () ile kullanılan parametreler

  • stmt: Bu, yürütme süresini ölçmek istediğiniz kodu alacaktır
  • kurulum: Bu, stmt'den önce yürütülmesi gereken kurulum ayrıntılarına sahip olacaktır.
  • timer: Bu timer değerine sahip olacak, timeit () zaten varsayılan bir değere sahip ve bunu göz ardı edebiliriz.
  • sayı: stmt burada verilen sayıya göre yürütülecektir.