cProfile
- Python kursu
- Uzman
- Ders 38/47
- 5 dk
cProfile ile profil çıkarmayı öğrenirsin.
cProfile nedir?
cProfile modülü, bir programın hangi fonksiyonlarda ne kadar zaman geçirdiğini gösterir. cProfile.Profile() ile bir profil nesnesi oluşturursun.
pr.enable() ölçmeyi başlatır, pr.disable() durdurur. Aradaki kod parçasının profili çıkarılır. pr.print_stats() ile sonuçları yazdırabilir veya pstats modülüyle sıralayabilirsin. Bu, performans darboğazlarını (hotspot) bulmanın standart yoludur. Hangi fonksiyonun yavaş olduğunu görmek için önce en çok zaman alanı bulursun.
Profil alma akışı
Tipik profil alma akışı şudur: Profile() oluştur, enable() çağır, ölçülecek kodu çalıştır, disable() çağır, sonuçları incele.
Bu akış, yalnızca ilgilendiğin bölümü ölçmeni sağlar. Örneğin bir döngüyü profilleyip geri kalanı atlayabilirsin. print_stats() çıktısı, her fonksiyon için çağrı sayısı, toplam süre ve ortalama süre verir. En çok zaman alan fonksiyon üste gelir; buna hotspot denir. Optimizasyonu buradan başlatırsın.
Uygulama cProfile ile profil al
import cProfile ile modülü içe aktar. pr = cProfile.Profile() ile profil nesnesi oluştur. pr.enable() çağır, total = sum(range(100)) yap, pr.disable() çağır. print("profil alindi") yaz.
Başlangıç kodu
# profil nesnesi oluştur
# ölç ve durdur
# sabit mesaj yazdırÖrnek çözüm
import cProfile
pr = cProfile.Profile()
pr.enable()
total = sum(range(100))
pr.disable()
print("profil alindi")Beklenen çıktı
profil alindi
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 cProfile ne işe yarar?
- Bellek kullanımını ölçer
- Ağ trafiğini izler
- Dosya boyutunu verir
- Fonksiyon sürelerini profiller Doğru cevap
Açıklama: cProfile fonksiyon sürelerini profiller; darboğazı bulur.
2 cProfile tanımını tamamla
import cProfile
pr = cProfile.____()
import cProfile
pr = cProfile.Profile()
Açıklama: cProfile.Profile() bir profil nesnesi oluşturur.
3 cProfile kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
Profile |
Profil nesnesi |
enable |
Ölçmeyi başlatır |
disable |
Ölçmeyi durdurur |
hotspot |
Darboğaz |