CodeBlanks Logo Icon CodeBlanks

cProfile

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

main.py
# profil nesnesi oluştur
# ölç ve durdur
# sabit mesaj yazdır

Örnek çözüm

main.py
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

Soru
import cProfile

pr = cProfile.____()
Cevap
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

Uzman bölümündeki tüm dersler