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.