timeit
- Python kursu
- Uzman
- Ders 37/47
- 5 dk
timeit ile benchmark ölçmeyi öğrenirsin.
timeit nedir?
timeit modülü, küçük kod parçalarının yürütme süresini ölçer. timeit.timeit(expr, number=N) ifadesi expr'i N kez çalıştırır ve toplam süreyi saniye olarak döndürür.
Bu, iki farklı çözümü karşılaştırmak için standart araçtır. Örneğin sum(range(100))'ün ne kadar sürdüğünü öğrenirsin. number argümanı tekrar sayısını belirler; küçük ifadeler için yüksek tutulur. Ölçüm sonucu donanım ve yüke bağlı olduğundan, sonuç değerini yazdırmak yerine karşılaştırma için kullanırsın.
number argümanı
number argümanı ölçümün kaç kez tekrar edileceğini belirler. Varsayılan değer 100000'dir; bu çok kısa ifadeler içindir.
Daha uzun ifadeler için number'ı düşürmek gerekir; yoksa ölçüm çok uzun sürer. Örneğin timeit.timeit("sum(range(100))", number=100) 100 tekrar yapar. Sonuç, toplam süredir; ortalama için sonuca number bölersin. Ölçüm doğruluğu için bilgisayarı boşta tutmak önemlidir; arka plan işleri sonucu etkileyebilir.
Uygulama timeit ile ölçüm yap
import timeit ile modülü içe aktar. timeit.timeit("sum(range(100))", number=100) çağrısını bir değişkene ata. Sonra print("ölçü alındı") yaz. Ölçüm sonucunu yazdırma; yalnızca sabit mesajı yaz.
Başlangıç kodu
# ölçüm yap ve sabit mesaj yazÖrnek çözüm
import timeit
t = timeit.timeit("sum(range(100))", number=100)
print("ölçü alındı")Beklenen çıktı
ölçü alındı
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 timeit kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
timeit |
Süre ölçer |
number |
Tekrar sayısı |
timeit.timeit |
Toplam süre |
expr |
Ölçülen ifade |
2 timeit.timeit ne döndürür?
import timeit
t = timeit.timeit('sum(range(10))', number=100)- Tekrar sayısını
- Ortalama süreyi
- Toplam süreyi saniye olarak Doğru cevap
- Bir hata
Açıklama: timeit.timeit toplam süreyi saniye olarak döndürür.
3 timeit çağrısını tamamla
t = timeit.____("sum(range(100))", number=100)
t = timeit.timeit("sum(range(100))", number=100)
Açıklama: timeit.timeit(expr, number=N) ölçüm yapar.