Python Örneklerle Timeit()

Nedir? Python Timeit()?

Python zaman saati() bir yöntemdir Python Verilen kod parçacığının yürütme süresini ölçmek için kütüphane. Python kütüphane 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çti"dir.
  • kurulum: Bu, stmt'den önce yürütülmesi gereken kurulum ayrıntılarına sahip olacaktır. Varsayılan değer "pass"tır.
  • kronometre: Bu, zamanlayıcı değerine sahip olacaktır, timeit() zaten varsayılan bir değer kümesine sahiptir ve bunu göz ardı edebiliriz.
  • numara: Stmt burada verilen numaraya 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() fonksiyonunun basit bir örneği

Kod Örneği 1

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

Çıktı:

0.06127880399999999

Bize basit kod ifadesi çıktısının yürütme süresini = 10*5 veren basit bir örnek gördük ve yürütmek için gereken süre 0.06127880399999999'dur.

Python kodunda birden fazla satırın zamanlanması

timeit.timeit()'te birden fazla satır kodu çalıştırmanın iki yolu vardır: Satırları noktalı virgülle ayırmak veya kodu üçlü tırnak işareti içine alarak bir dize olarak eklemek.

İşte çalışmasını gösteren örnekler.

Örnek 1: Noktalı virgül kullanma

import timeit
print("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 işareti kullanma

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

Çıktı:

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

timeit – Yöntemler

Burada 2 önemli timeit yöntemi var

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

timeit.repeat(stmt, kurulum, zamanlayıcı, tekrar, sayı) : timeit() ile aynıdır, ancak tekrarlama ile timeit(), tekrarın verilme sayısı olarak adlandırılır.

Program Örneği 1

# testing timeit()
import timeit
import_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 timeit
import random
 
def 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.220261875
The time difference is : 0.0004737320000000045

Örnek 3: timeit.repeat()

# testing timeit()
import timeit
import_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() işlevi, timeit.timeit() işlevine benzer şekilde çalışır; tek farkı yineleme argümanında alır ve yürütme süresini yineleme sayısına göre değerlerle dizi biçiminde geri verir.

Komut satırı arayüzünde timeit.timeit() zamanlama fonksiyonunun çalıştırılması

Komut satırında timeit() içindeki işlevinizi yürütmek için gereken 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 kaç kez yürütülmesini istediğiniz.
  • -r N: timeit() fonksiyonunun kaç kez tekrarlanmasını istediğiniz
  • -s S: Bu, kod çalıştırılmadan önce yürütülecek kurulum ayrıntılarını içerecektir.
  • -t: Bunun için time.time() işlevini kullanabilirsiniz.
  • -c: Bunun için time.clock() işlevini kullanabilirsiniz.
  • -h: yardım için
  • kod ifadesi: Kod ayrıntıları.

Örnek E-posta

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

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

Örnek E-posta

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

timeit() neden yürütme süresini ölçmenin en iyi yoludur? Python kod?

Timeit() işlevinin yürütme süresini ölçmenin en iyi yolu olduğunu düşünmemizin birkaç nedeni var.

  • Kod ifadesini varsayılan değer olan 1 milyon kez çalıştırır ve bundan sonra size harcanan minimum süreyi döndürür. Ayrıca time() fonksiyonunda argüman sayısını ayarlayarak 1 milyonu artırabilir/azaltabilirsiniz.
  • Test yürütülürken çöp toplama işlemi time() fonksiyonu ile her seferinde devre dışı bırakılır.
  • timeit() dahili olarak, kullanılan işletim sisteminize göre doğru zamanı alır. Örneğin, time.clock() işlevini kullanacak Windows Mac ve Linux için işletim sistemi ve time.time().

ÖZET

Timeit() verilen küçük kod için harcanan yürütme süresini almak 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ını içerecektir
  • timer: Bu, zamanlayıcı değerine sahip olacaktır, timeit() zaten varsayılan bir değer kümesine sahiptir ve bunu göz ardı edebiliriz.
  • number: Stmt burada verilen numaraya göre yürütülecektir.